我最近安装了一个 glm 模型。我目前正在尝试更改其中一个参数(例如截距,同时保持其他参数不变)以查看它如何影响预测。我想到了两种方法,但都失败了:
手动更改 glm 模型(我做不到) 或者 自己编写一个函数并将其作为 glm 类
我想将我的“用户定义”模型与 predict.glm() 结合使用,看看这对预测有何影响。 下面给出了一个类似于我的模型的示例:
> fit <- glm(formula = am ~ wt+cyl , family = binomial, data = mtcars)
> fit
Call: glm(formula = am ~ wt + cyl, family = binomial, data = mtcars)
Coefficients:
(Intercept) wt cyl
15.749 -7.864 1.322
Degrees of Freedom: 31 Total (i.e. Null); 29 Residual
Null Deviance: 43.23
Residual Deviance: 14.73 AIC: 20.73
有没有办法手动编辑“拟合”模型并将其作为 glm 用于预测? 我不是核心统计学家,所以我希望这一切都有意义。 谢谢
最佳答案
您可以手动更改fit
中的系数并使用predict
函数。
# Fit the model:
fit <- glm(formula = am ~ wt+cyl , family = binomial, data = mtcars)
# Look at the first few predictions:
head(predict(fit, mtcars))
Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive
3.0761275 1.0708076 2.7918672 -1.6029523
Hornet Sportabout Valiant
-0.7288921 -3.5296322
# Change the intercept to 10 for example:
fit$coefficients[1] <- 10
# Look at the first few predictions again (notice they are different):
print(head(predict(fit, mtcars)))
head(predict(fit, mtcars))
Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive
-2.673299 -4.678619 -2.957559 -7.352378
Hornet Sportabout Valiant
-6.478318 -9.279058
关于r - 将 predict.glm 与用户定义的函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33845288/