使用 brms 进行非线性建模的贝叶斯公式中的平均值

问题描述 投票:0回答:1

我正在尝试用

brms
拟合非线性模型。我的型号是:

y = intercept + b1 * (x1 * mean(x2^b2))

地点:

  • x1
    是测量的连续变量,
  • x2
    也是嵌套在
    x1
    中的连续变量。为了了解更多背景信息,
    x1
    是人口规模,
    x2
    是该人口中个体子集的质量。
  • intercept
    b1
    b2
    是要估计的参数

我的一位同事用

rjags
这样编码:

y1[i] <- x1[i]*(mean(x2_matrix[1:no_per_site[i],i]^b2))
y2[i] <- intercept + y1[i]*b1

其中

i
是位点索引,
x2_matrix
每个单独质量 (
x2
) 值一行,每个位点一列,其中
no_per_site
是在每个位点测量的
x2
数量。

有没有办法让这个模型适合

brms
?如何管理
x2
矩阵?

这是数据的结构:

'data.frame':   31 obs. of  3 variables:
 $ population: chr  "p1" "p2" "p3" "p4" ...`
 $ y2        : num  592 551 1720 5135 3710 ...
 $ x1        : int  145 145 72 3173 3173 1262 1262 504 504 777 ...
 $ no_per_site: num 104 55 187 102 ...

和 x2 矩阵:

num [1:187, 1:31] 530 600 460 510 325 420 490 430 450 350 ...

谢谢!

r bayesian non-linear-regression brms
1个回答
0
投票

我喜欢的解决方案是对随机变量函数的一阶矩使用泰勒展开式。详细信息可以在这里找到:vignette_taylor_series

© www.soinside.com 2019 - 2024. All rights reserved.