我进行了以下逻辑回归:
model<-glm(Choice~Cat+Dog+Rabbit+Cow,data=database,family=binomial(link="logit"))
summary(model)
现在,我想用所有四个预测变量来可视化此回归。谢谢!!
答案 0 :(得分:2)
您具有多元回归,因此您需要改变一个变量并使其他变量保持不变,这称为边际效应。您可以从头开始对其进行编码以使其形象化,我认为这里有一些有用的软件包,例如ggeffects或sjplot。在使用示例数据集并绘制效果之前,
library(ggeffects)
dat = iris
dat$Species = as.numeric(dat$Species=="versicolor")
mdl = glm(Species ~ .,data=dat,family="binomial")
summary(mdl)
Call:
glm(formula = Species ~ ., family = "binomial", data = dat)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1280 -0.7668 -0.3818 0.7866 2.1202
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 7.3785 2.4993 2.952 0.003155 **
Sepal.Length -0.2454 0.6496 -0.378 0.705634
Sepal.Width -2.7966 0.7835 -3.569 0.000358 ***
Petal.Length 1.3136 0.6838 1.921 0.054713 .
Petal.Width -2.7783 1.1731 -2.368 0.017868 *
要可视化一个:
plot(ggpredict(mdl,"Petal.Width"))
为所有变量绘制这些图:
library(patchwork)
plts = lapply(names(coefficients(mdl))[-1],function(i){
return(plot(ggpredict(mdl,i)))
})
wrap_plots(plts)
如前所述,这些图是通过边际效应获得的,即使其他图保持其平均值。您还可以通过将另一个变量设置为不同的值来进行探索,例如:
plot(ggpredict(mdl,c("Petal.Width","Petal.Length")))