sampling - 例外:rstan 中不存在变量:创建采样器失败
问题描述
我尝试在网站上找到与我类似的错误,但我找不到任何东西。我不确定我做错了什么,因为我不断收到以下错误消息。如果有人能解释为什么我不断收到错误,我将不胜感激。TIA
错误消息:new_CppObject_xp(fields$.module, fields$.pointer, ...) 中的错误:异常:变量不存在;处理阶段=数据初始化;变量名=j; 基本类型=int(在第 2 行的“model32487fbf6c2c_production”中)
未能创建采样器;采样未完成
Rcode
library(rstan)
dat1 <- list(a1=0, b1= 1, a2 =0.1, b2 =0.5, j <-6, n <-c(3,7,4,8,5,9), x <-c(10,33,3,39,5,50))
fit1 <- stan(file = "production.stan", data = dat1, chains = 3, iter = 1000,)
print(fit1)
标准代码
data {
int < lower = 0 > j;
int x[j];
int n[j];
real a1;
real b1;
real a2;
real b2;
}
parameters {
real < lower = 0 > lambda[j];
real < lower = 0 > sigma;
real mu;
}
transformed parameters {
real lambdanew1 = lambda[1]. / n[1];
real lambdanew2 = lambda[2]. / n[2];
real lambdanew3 = lambda[3]. / n[3];
real lambdanew4 = lambda[4]. / n[4];
real lambdanew5 = lambda[5]. / n[5];
real lambdanew6 = lambda[6]. / n[6];
}
model {
target += poisson_lpmf(x[1] | lambda[1]);
target += poisson_lpmf(x[2] | lambda[2]);
target += poisson_lpmf(x[3] | lambda[3]);
target += poisson_lpmf(x[4] | lambda[4]);
target += poisson_lpmf(x[5] | lambda[5]);
target += poisson_lpmf(x[6] | lambda[6]);
target += lognormal_lpdf(lambdanew1 | mu, sigma);
target += lognormal_lpdf(lambdanew2 | mu, sigma);
target += lognormal_lpdf(lambdanew3 | mu, sigma);
target += lognormal_lpdf(lambdanew4 | mu, sigma);
target += lognormal_lpdf(lambdanew5 | mu, sigma);
target += lognormal_lpdf(lambdanew6 | mu, sigma);
target += uniform_lpdf(mu | a1, b1);
target += uniform_lpdf(sigma | a2, b2);
}
解决方案
推荐阅读
- spring - 如何在一个应用程序中将tomcat配置为两个不同的域?
- api - 为什么 StreamBuilder 中没有刷新数据?
- python - 将两个带有特殊字符的 defaultdict 合并为不匹配的键
- c - C将枚举与无效值进行比较
- java - Java 原型克隆没有按预期工作?
- angular - 从订阅Angular 7的对象打印单个值
- asp.net-mvc - 将非托管 Oracle.DataAccess 驱动程序与 MVC5 和实体框架 6 一起使用
- excel - 如果它已经打开,我如何阻止powershell打开一个excel文件?
- javascript - 如何修复 node.js 上的 crypto.pbkdf2 错误
- php - Nginx 在启用 php 的位置内重写规则