使用正态分布和单独的多重正态分布共享的参数

问题描述

问题

我有两个测量值,一个是标量测量x,另一个是两元素向量(y,z)。前者的采样分布是正态分布,而后者的采样分布是多正态分布。 xy的位置参数被假定为相同的mu_1。换句话说,xy都提供有关公用参数mu_1的信息。

这是我的模特:

normal-and-multinormal

\begin{aligned} 
x \sim Normal(\mu_1,\sigma_1^2) \\
(y,z) \sim MultiNormal((\mu_1,\mu_2),\Sigma)
\end{aligned}

如何在Stan中指定此参数,以便在两个采样分布中都使用参数mu_1,从而可以得到mu_1的后验分布?

我在这里感到困惑的原因是,mu_1在第一个分布中是标量参数,但在第二个分布中是参数向量的一部分。另外,为简单起见,我以正态分布和多重正态分布为例,但我也在寻找一种适用于其他采样分布组合的解决方案。

解决方法

您可以使用转换后的参数块来执行此操作,其中使用先前定义的标量参数mu_1_2 = (mu_1,mu_2)mu_1创建矢量参数mu_2

这是一个基本示例:

data {
  real x;
  vector[2] y_z;
  real<lower=0> sigma_x;
  matrix[2,2] sigma_y_z;
}

parameters {
    real mu_1;
    real mu_2;
}

transformed parameters {
  vector[2] mu_1_2;
  mu_1_2[1] = mu_1; 
  mu_1_2[2] = mu_2;
}

model {
  x ~ normal(mu_1,sigma_x)
  y_z ~ multi_normal(mu_1_2,sigma_y_z)
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...