微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。