1

我有一个 logit 模型对象适合使用glm2. 预测变量是连续的且随时间变化的,因此我使用的是基本样条曲线。当我predict(FHlogit, foo..,)模型对象时,它提供了一个预测。一切都很好。

现在,我想做的是提取FHLogit提供预测的部分和基矩阵。我不想从str(FHLogit)我试图提取的部分中提取有关模型的信息Beta * Predictor = 2。所以,我可以为每个预测变量操作基础矩阵

4

1 回答 1

0

我认为使用基本样条不会影响这一点。如果是这样,请提供一个可重现的示例。

这是一个简单的案例:

df1 <- data.frame(y=c(0,1,0,1),
                  x1=seq(4),
                  x2=c(1,3,2,6))
library(glm2)
g1 <- glm2(y ~ x1 + x2, data=df1)
### default for type is "link"
> stats::predict.glm(g1, type="link")
          1           2           3           4 
 0.23809524  0.66666667 -0.04761905  1.14285714 

现在,由于不确定这些编号是如何得出的,我们可以查看上述信息的来源,使用predict.glm. 我们可以看到 type="link" 是最简单的情况,返回

pred <- object$fitted.values # object is g1 in this case

这些值是从原始数据*系数得出的预测,我们可以用例如验证

all.equal(unname(predict.glm(g1, type="link")[1]),
          unname(coef(g1)[1] + coef(g1)[2]*df1[1, 2] + coef(g1)[3]*df1[1, 3]))
于 2013-10-04T19:02:30.607 回答