r - 将 predict.glm 与用户定义的函数一起使用

标签 r class glm predict

我最近安装了一个 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/

相关文章:

R:是否有一种简单有效的方法来取回 block 对角矩阵的构建 block 矩阵列表?

python - 类声明语句会导致python中的内存分配吗?

r - r中具有任意系数的predict()

r - 使用插入符训练的二项式 GLM

r - 迭代 R 中的一组数据帧

r - 将 pmap 列表参数应用于嵌套在另一个函数中的函数

Python改变B类中的类实例变量

c++ - 访问单例 C++ 的段错误

r - 使用 optim() 估计概率回归模型

python - 网状不会实时打印到控制台