r - 在 rstan 中,初始参数值是通过应用于受约束支持还是不受约束支持的列表指定的?
问题描述
的帮助文件对参数rstan::stan
有以下说明init
:
初始化=“随机”(默认):
- 让 Stan 为所有参数生成随机初始值。Stan 使用的随机数生成器的种子可以通过种子参数指定。如果 Stan 的种子是固定的,则使用相同的初始值。默认值是在无约束支持上随机生成介于 -2 和 2 之间的初始值。可选的附加参数 init_r 可以设置为 2 以外的某个值,以更改随机生成的 init 的范围。
初始化=“0”,初始化=0:
- 在无约束支持上将所有参数初始化为零。
通过列表初始化:
- 通过提供长度等于链数的列表来设置初始值。这个列表的元素本身应该是命名列表,其中每个命名列表都有一个参数的名称,并用于为相应链指定该参数的初始值。
不幸的是,这并不清楚通过列表指定的初始参数值是应用于受约束的支撑还是不受约束的支撑。例如,如果我有以下参数块,
parameters {
real<lower=3, upper=7> theta;
}
我打电话stan
如下,
rstan::stan(file, data = standata, init = list(list(theta = 5)), chains = 1)
在受约束的支持或不受约束的支持上,初始值theta
等于 5 吗?
解决方案
受约束。在文档中,它说 wheninit
是一个列表列表
这个列表的元素本身应该是命名列表,其中每个命名列表都有一个参数的名称,并用于为相应链指定该参数的初始值。
如果它属于parameters
Stan 程序的块,那么它指的是受限空间。对于协方差矩阵、单纯形等,无约束空间不一定与约束空间的维度相匹配。
推荐阅读
- javascript - 调用 bs.reload(*.html) 是否会重新加载 app 目录下的所有 html 文件?
- r - 使用 expand=c(0, 0) 时沿 x 轴的标签消失
- rest - 休息客户端 Elasticsearch 主机设置
- java - 尝试在 Eclipse 上正确运行 Java AWT 程序时遇到一个奇怪的问题;Eclipse 找不到附加源或 Javadoc?
- java - Apache Beam 中的状态处理问题
- labview - LabVIEW: 如何共享从 LabVIEW 创建的 .NET 对象
- c++ - C++,类私有变量
- javascript - 如何查看从 Javascript 中的函数进行的所有函数调用?
- android - 实用更新应用程序时出现PackageInstaller错误
- c# - 如何以另一种形式访问控制(按钮)[C#]