【发布时间】:2018-06-05 17:37:26
【问题描述】:
我有以下型号:
我想学习如何实现这个模型。
研究与尝试
我以 Poisson GLM 为例:
```{stan output.var="PoissonGLMQR"}
data{
int<lower=1> n; // number of observations
int<lower=1> p; // number of predictors
matrix[n, p] x; // design matrix
int<lower=0> y[n]; // responses
}
transformed data{
matrix [n, p] Q_ast;
matrix [p, p] R_ast;
matrix [p, p] R_ast_inverse;
Q_ast = qr_Q(x)[,1:p] * sqrt(n - 1.0);
R_ast = qr_R(x)[1:p,] / sqrt(n - 1.0);
R_ast_inverse = inverse(R_ast);
}
parameters{
vector[p] theta; // regression coefficients for predictors
}
transformed parameters{
vector[p] beta;
vector[n] mu;
mu = exp(Q_ast*theta);
beta = R_ast_inverse * theta;
}
model{
y ~ poisson(mu);
}
```
我了解此示例使用了 QR 重新参数化(请参阅 Stan 参考手册的第 9.2 节)。然而,由于我是 Stan 的新手,我觉得这很吓人,而且我不确定如何以同样的方式实现指数 GLM。是否需要对指数情况使用 QR 重新参数化?
无论如何,我对指数 GLM 的天真尝试是对 Poisson GLM 代码的以下改编:
```{stan output.var="ExponentialGLM"}
data{
int<lower=1> n; // number of observations
int<lower=1> p; // number of predictors
matrix[n, p] x; // design matrix
real<lower=0> y[n]; // responses
}
transformed data{
matrix [n, p] Q_ast;
matrix [p, p] R_ast;
matrix [p, p] R_ast_inverse;
Q_ast = qr_Q(x)[,1:p] * sqrt(n - 1.0);
R_ast = qr_R(x)[1:p,] / sqrt(n - 1.0);
R_ast_inverse = inverse(R_ast);
}
parameters{
vector[p] theta; // regression coefficients for predictors
}
transformed parameters{
vector[p] beta;
vector[n] mu;
mu = exp(Q_ast*theta);
beta = (R_ast_inverse * theta);
}
model{
y ~ exponential(mu);
}
```
但是,我完全不确定这是否是在 Stan 中编写这样一个模型的正确方法。我所做的只是尝试使 Poisson GLM 示例适应上述指数 GLM。
我正在寻求指数 GLM 的演示,并就我上面的误解进行澄清。
样本数据
conc time
1 6.1 0.8
2 4.2 3.5
3 0.5 12.4
4 8.8 1.1
5 1.5 8.9
6 9.2 2.4
7 8.5 0.1
8 8.7 0.4
9 6.7 3.5
10 6.5 8.3
11 6.3 2.6
12 6.7 1.5
13 0.2 16.6
14 8.7 0.1
15 7.5 1.3
【问题讨论】:
-
你能提供一些示例数据吗?我也对一般模型感到困惑。您是在谈论泊松模型还是指数(即 Gamma)模型?这是两个不同的东西。
glm等价物是glm(..., family = poisson)和glm(..., family = Gamma)。第一步,您应该将 Stan 模型的输出与glm的输出进行比较。点估计值是否一致? -
@MauritsEvers 感谢您的回复。我说的是指数模型。我发布的泊松模型是一个完全独立的示例,我试图使用它来确定如何进行指数模型。我用一些示例数据编辑了我的帖子。如果还有什么不清楚的,请不要犹豫,问。我完全不确定如何实现此模型,因此非常感谢您的帮助。感谢您的帮助。
标签: r statistics regression stan rstan