计划问题:婚内出轨的原因分析
# 1、准备数据
install.packages("AER")
data(Affairs,package="AER")
tt<-Affairs
# 数据集中的几个字段:
# affairs出轨次数,gender性别,age年龄,yearsmarried婚龄,children是否有小孩,
# religiousness宗教信仰评分,educationj教育程度,occupation职业评分,rating婚姻自我评价
# 2、处理数据
# 变量重编码
tt$y[tt$affairs==0]<-0
tt$y[tt$affairs>0] <-1
tt$y<-as.faco
tt<-tt[,-1]
# 3、利用Logictic回归进行拟合
model<-glm(y~.,data=tt,family=binomial())
summary(model)
tstep<-step(model,,direction = c("both"))
summary(tstep)
drop1(tstep)
model<-glm(y~age+yearsmarried+religiousness+rating,data=tt,family=binomial(link = "logit"))
summary(model)
coef(model)
exp(coef(model))
# 4、利用泊松回归进行拟合
model1<-glm(y~.,data=tt,family=poisson())
summary(model1)
tstep<-step(model1,,direction = c("both"))
summary(tstep)
drop1(tstep)
model1<-glm(y~age+yearsmarried+religiousness+rating,data=tt,family=binomial(link = "logit"))
summary(model1)
coef(model1)
exp(coef(model1))
结果分析:
1、这里的模型得到的婚内出轨主要原因依次是:
yearsmarried-1.1 > age-0.96 > religiousness-0.72 > rating-0.63 ,婚龄、年龄、宗教信仰是婚内出轨的主要因素,数值为出轨优势比提升倍数
2、提升婚姻美满程度,可以在一定程度上降低婚内出轨的概率
结果风险:
该问题分析的维度、数据量有限,所分析的结果的误差也相对较高,尽管从逻辑上判断结果是大致正确
以下内容等待处理:
模型的诊断:
在拟合模型时会出现这样一个情况,由于我们对y进行了变换,逻辑回归中,y是二值的我们假设服从二项分布,泊松回归中我们假设y服从泊松分布,当y的实际方差大于分布的期望方差时,这会导致模型的不精确,我们称之为过度离势.
检测:用残差变差即Residual deviance: 615.36 除以残差自由度on 596 degrees of freedom得到的数Ф若远大于1则认为存在过度离势.
检验:我们将分布改为类分布,二项分布family=binomial( )改为family=quasibinomial( ) ,泊松分布family=poisson( )改为family=quasipoisson( ) 然后再去拟合模型.得到的新模型与旧模型进行比较.这时可以使用假设检验的方法,假设
Ф=1,使用卡方检验.得到P值做检验
http://www.ppvke.com/Blog/archives/30377
https://blog.csdn.net/sjpljr/article/details/70169046
仍存在的问题:
1、各类模型的产生,及演算方法2、什么情况,适用什么样的模型方法
2、模型的评估方法,及效果提升
附注:
y = 1 / (1+e-z),其中:z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
y为发生概率,取值在[0,1],(1-y)为不发生概率,经过变换
odds=发生概率/不发生概率=y/(1-y) =e^(β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn)
odds:一般称为比值、比率、比数;