如何解决RStan - 定义多元模型的问题
模型的代码是,
data {
int<lower=0> N;
int<lower=0> K;
matrix[N,K] y;
matrix[N,K] X;
}
parameters {
matrix[K,K] lambda_hat;
matrix[K,K] sigma_0;
matrix[K,K] L;
}
transformed parameters {
matrix[N,K] mu;
vector[4] v;
for (i in 1:K)
v[i]=1;
for (i in 1:N)
mu[i,]'=lambda_hat*x[i,]';
}
model {
L~ wishart(K,diag_matrix(v));
sigma_0~ wishart(K,L);
lambda_hat~ wishart(K,L);
for (t in 1:N)
y[t,]'~ multi_normal(y[(t-1),]'+mu[t,]',sigma_0);
}
rt = stanc("mystancode.stan")
得到的错误是, *语法错误,来自解析器的消息: 以非空表达式开头的非法语句被解析为 转置(mu[i,:]) 不是合法的赋值、采样或函数语句。请注意
- 赋值语句只允许变量(带有可选索引)在左边;
- 采样语句允许左侧的任意值表示表达式。
- 用作语句的函数必须声明为无效返回
“model2e850c17b4_mystancode”第 20 行第 7 列中的错误
18:
19: for (i in 1:N)
20: mu[i,]';
^
21:
分析器预期: stanc("mystancode.stan") 中的错误: 由于上述错误,无法解析 Stan 模型“mystancode”。*
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。