brms::brm - 根据功能定义一些起始值

问题描述

我想仅为某些系数并根据函数手动设置 brms::brm 模型的起始值(不是:先验)。

我当前的代码是这样的(你可以忽略 x 变量和 unit,我只想操作 zas.factorF1 和 {{ 1}}):

as.factorF2

代码有效;但是,我想手动设置一些起始值 (library(tidyverse) library(brms) df <- data.frame(x1 = rnorm(100,mean = 1,sd = 2),x2 = rnorm(100,mean = 2,x3 = rnorm(100,mean = 3,z = rnorm(100,mean = 4,Fa = wakefield::r_sample_factor(n = 100,x = c(1,2,3)),unit = wakefield::r_sample_factor(n = 100,x = 1:10),Y = rnorm(100,mean = 15,sd = 5) ) %>% tibble::tibble() brmsmodel <- brm(Y ~ as.factor(Fa) + # Fa has levels 1,3 x1 + x2 + x3 + z + (1 + x1 | unit),data = df,prior = c(prior(normal(0,1),class = "b",coef = "z"),prior_string("normal(0,1)",coef = paste("as.factorFa",2:3,sep=""))),chains = 1,iter = 25,warmup = 10,seed = 123,init = "0") ) 以从均匀分布 inits提取,类似于先验。

我想要这样的东西(伪代码

(X ~ U[0,1])

唯一的其他类似 question 未得到答复,并且没有特别要求为 某些系数起始值调用函数

我只找到了 inits: 1) init = runif(0,coef = "z" 2) init = runif(0,coef = "as.factorFa2" 3) init = runif(0,coef = "as.factorFa2" other inits: random (将所有起始值设置为 0)或认的 inits = "0"。有人可以建议如何做到这一点吗?提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)