我使用glm2
拟合了一个logit模型对象。预测因子是连续的和时间变化的,所以我使用基准样条。当我predict(FHlogit, foo..,)
模型对象时,它提供预测。一切都很好。
现在,我想要做的是提取FHLogit
的部分和提供预测的基础矩阵。我不想从str(FHLogit)
中提取有关模型的信息。我正在尝试提取Beta * Predictor = 2
部分。所以,我可以操纵每个预测变量的基础矩阵
答案 0 :(得分: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]))