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

brms hurdle_lognormal模型:这是将后验值转换为y变量单位,并将障碍值转换为概率的正确方法吗?

如何解决brms hurdle_lognormal模型:这是将后验值转换为y变量单位,并将障碍值转换为概率的正确方法吗?

我有一个零膨胀的y变量。

能否请您确认我的解决方,以将brms跨栏对数正态后验值转换为有意义的估计值,例如y变量单位(对数正态部分)或零概率(跨栏部分)。

模型

model = brm(br(y ~ (1 | county),hu ~ (1 | county),data = data,family = hurdle_lognormal())

后验变量

get_variables(model)

 [1] "b_Intercept"                  
 [2] "b_hu_Intercept"               
 [3] "sd_county__Intercept"         
 [4] "sd_county__hu_Intercept"      
 [5] "sigma"     
                   
 [6] "r_county[A,Intercept]"     
 [7] "r_county[B,Intercept]"    
 [8] "r_county[C,Intercept]"    
 [9] "r_county[D,Intercept]"  
   
[10] "r_county__hu[A,Intercept]"  
[11] "r_county__hu[B,Intercept]"  
[12] "r_county__hu[C,Intercept]"  
[13] "r_county__hu[D,Intercept]" 

[14] "lp__"                         
[15] "accept_stat__"                
[16] "stepsize__"                   
[17] "treedepth__"                  
[18] "n_leapfrog__"                 
[19] "divergent__"                  
[20] "energy__" 

每个县的平均y值计算解决方

我必须添加“ b_Intercept”和“ r_county [,Intercept]”,并采用exp()?在代码中:

model %>%
  spread_draws(b_Intercept,r_county[county,]) %>%
  median_qi(condition_mean = exp(b_Intercept + r_county))

每个县计算零概率(y = 0)的解决方

我必须添加“ b_hu__Intercept”和“ r_county__hu [,Intercept]”,并将其放入inv_logit_scaled()函数中吗?在代码中:

m %>%
  spread_draws(b_hu_Intercept,r_county__hu[county,]) %>%
  median_qi(condition_mean = inv_logit_scaled(b_hu_Intercept + r_county__hu))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。