千家信息网

R语言怎样做Logistic回归

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,R语言怎样做Logistic回归,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Logistic回归的应用场景当因变量为二值型结果变量
千家信息网最后更新 2024年11月28日R语言怎样做Logistic回归

R语言怎样做Logistic回归,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Logistic回归的应用场景

当因变量为二值型结果变量,自变量包括连续型和类别型的数据时,Logistic回归是一个非常常用的工具。比如今天的例子中用到的婚外情数据 "Fair's Affairs"。因变量是是否有过婚外情,自变量有8个,分别是

  • 性别
  • 年龄
  • 婚龄
  • 是否有小孩
  • 宗教信仰程度 (5分制,1表示反对,5表示非常信仰)
  • 学历
  • 职业 (逆向编号的戈登7种分类)这个是啥意思?)
  • 对婚姻的自我评分

因变量y是出轨次数,我们将其转换成二值型,出轨次数大于等于1赋值为1,相反赋值为0

下面开始实际操作

这个数据集来自R语言包AER,如果要用这个数据集需要先安装这个包

install.packages("AER")

然后使用data()函数获取这个数据集

data(Affairs,package = "AER")

然后就可以在环境的窗口里看到如下

这个数据集总共有601个观察值,总共9个变量

接下来是将变量y出轨次数,转换成二值型
df<-Affairs
df$ynaffairs<-ifelse(df$affairs>0,1,0)
table(df$ynaffairs)
df$ynaffairs<-factor(df$ynaffairs,
levels = c(0,1),
labels = c("No","Yes"))table
table(df$ynaffairs)
接下来是拟合模型

拟合模型用到的是glm()函数

fit.full<-glm(ynaffairs~gender+age+yearsmarried+
children+religiousness+education+occupation+rating,
data=df,family = binomial())

通过summary()函数查看拟合结果

summary(fit.full)
image.png

根据回归系数的P值可以看到 性别、是否有孩子、学历、职业对方程的贡献都不显著。去除这些变量重新拟合模型

fit.reduced<-glm(ynaffairs~age+yearsmarried+
religiousness+rating,
data=df,family = binomial())
接下来是使用anova()函数对它们进行比较,对于广义线性回归,可用卡方检验
anova(fit.full,fit.reduced,test = "Chisq")
image.png

可以看到结果中p值等于0.2108大于0.05,表明四个变量和9个变量的模型你和程度没有差别

接下来是评价变量对结果概率的影响

构造一个测试集

testdata<-data.frame(rating=c(1,2,3,4,5),
age=mean(df$age),
yearsmarried=mean(df$yearsmarried),
religiousness=mean(df$religiousness)

预测概率

testdata$prob<-predict(fit.reduced,newdata = testdata,
type = "response")
简单的柱形图对结果进行展示
library(ggplot2)
ggplot(testdata,aes(x=rating,y=prob))+
geom_col(aes(fill=factor(rating)),show.legend = F)+
geom_label(aes(label=round(prob,2)))+
theme_bw()
image.png

从这些结果可以看到,当婚姻评分从1(很不幸福)变为5(非常幸福)时,婚外情概率从0.53降低到了0.15。模型的预测结果和我们的经验还挺符合的

关于R语言怎样做Logistic回归问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

变量 结果 数据 模型 接下来 函数 语言 因变量 婚外情 概率 次数 问题 幸福 婚姻 学历 性别 更多 程度 职业 自变量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 无尽的拉格朗日怎么查找自己登录的服务器 dna数据库 认亲 服务器如何进pe 网络安全及保密教育活动 我的世界服务器沙子掉落怎么办 技佳软件开发 汽车车载网络技术can 服务器怎么使用AD域管理 维护网络安全 我们该如何做 网络安全知识进校园主题班会记录 华为服务器固态硬盘怎么安装图解 数据库有哪三个自上而下的层次 网络安全专业是工科还是理科 正星数据库名称是什么意思 dell服务器硬盘显示外来盘 t330服务器配置 华为2018年网络技术 网络安全容易考的证 浏览器软件开发有前途吗 济宁管理系统软件开发公司 数据库哪一个稳定 服务器引导错误怎么修复 软件开发的技术可行性怎么写 软件开发管理面临的问题 神通数据库 数据迁移工具 下载 书籍数据库表有哪些内容 服务器硬盘一般用多久 饥荒联机云服务器添加管理员 西宁网络安全工程师朝阳行业 神武服务器人数
0