【原创】r语言收入逻辑回归分析报告附代码数据Word文档格式.docx
《【原创】r语言收入逻辑回归分析报告附代码数据Word文档格式.docx》由会员分享,可在线阅读,更多相关《【原创】r语言收入逻辑回归分析报告附代码数据Word文档格式.docx(8页珍藏版)》请在冰点文库上搜索。
State-gov77516
Bachelors
13
Never-married
2
50
Self-emp-not-inc83311
Married-civ-spouse
3
38
Private215646
HS-grad
9
Divorced
4
53
Private234721
11th
7
5
28
Private338409
6
37
Private284582
Masters
14
1 Adm-clerical
Not-in-family
White
Male
2174
2 Exec-managerial
Husband
3Handlers-cleaners
4Handlers-cleaners
Black
5 Prof-specialty
Wife
Female
6 Exec-managerial
HOURSPERWEEKNATIVECOUNTRYABOVE50K
40
United-States
Cuba
1stQu.:
28.00 Self-emp-not-inc:
2541Median:
37.00
Mean :
38.58
Local-gov
?
State-govSelf-emp-inc
:
2093
1836
1298
1116
981
117827
Median:
178356
Mean
189778
3rdQu.:
48.00Max. :
90.00
237051
Max. :
1484705
(Other)EDUCATION
EDUCATIONNUM
HS-grad :
10501 Min. :
1.00 Divorced
4443
Some-college:
7291 1stQu.:
9.00
10.00
Married-AF-spouseMarried-civ-spouse
23
BachelorsMastersAssoc-voc11th
(Other)
5355
1723
1382
1175
5134
14976
10.08
Married-spouse-absent:
418
12.00
Max.
16.00
Never-marriedSeparatedWidowed
OCCUPATION
Prof-specialty:
4140
Craft-repair :
4099Exec-managerial:
4066
RELATIONSHIP
10683
1025
993
RACE
13193
Not-in-family:
8305
Other-relative:
981
Amer-Indian-Eskimo:
311
Asian-Pac-Islander:
1039
Adm-clericalSales
Other-service(Other)
3770
3650
3295
9541
Own-childUnmarriedWife
5068
3446
1568
BlackOtherWhite
3124
271
27816
SEX
CAPITALGAIN
Female:
10771 Min. :
Male:
21790 1stQu.:
CAPITALLOSS
0 Min. :
HOURSPERWEEK0.0 Min. :
1.00
0.0 1stQu.:
40.00
0 Median:
0.0 Median:
对数据进行描述统计分析:
WORKCLASS
FNLWGT
Min.
17.00
Private
22696
Min. :
12285
Mean:
1078Mean:
87.3Mean:
40.443rdQu.:
03rdQu.:
0.03rdQu.:
45.00Max.:
99999Max.:
4356.0Max.:
99.00
NATIVECOUNTRY
ABOVE50K
United-States:
29170 Min. :
0.0000
Mexico
PhilippinesGermanyCanada
643
583
198
137
121
0.2408
1.0000
1709
从上面的结果中我们可以看到每个变量的最大最小值中位数和分位数等等。
查看数据维度dim(inputData)[1]32561 15
从上面的结果中我们可以看到收入情况和一个人的资本收入以及性别存在着正相关。
从图中我们可以看到,如果性别是男性,那么他的收入一般会较高,性别是女性,收入较低。
5检查类偏差
理想情况下,Y变量中事件和非事件的比例大致相同。
所以,我们首先检查因变量
ABOVE50K中的类的比例。
0 1
24720 7841
显然,不同收入人群比例有偏差。
所以我们必须以大致相等的比例对观测值进行抽样,以获得更好的模型。
6建模分析
6.1创建训练和试验样本
解决类别偏差问题的一个方法是以相等的比例绘制训练数据(开发样本)的0和1。
在这样做的时候,我们将把其余的inputData不包含在testData中。
test_ones<
-input_ones[-input_ones_training_rows,]
test_zeros<
-input_zeros[-input_zeros_training_rows,]
testData<
-rbind(test_ones,test_zeros)rowbindthe1'
sand0'
s
接下来,需要找到变量的信息值,以了解在解释因变量(ABOVE50K)方面的价值。
6.2
构建Logit模型和预测
确定模型的最优预测概率截止值
默认的截止预测概率分数为0.5或训练数据中1和0的比值。
但有时,调整概率截止值可以提高开发和验证样本的准确性。
InformationValue:
optimalCutoff功能提供了找到最佳截止值以提高1,0,1和0的预测的方法,并减少错误分类错误。
可以计算最小化上述模型的错误分类错误的最优分数。
optCutOff<
-optimalCutoff(testData$ABOVE50K,predicted)[1]
=>
0.71
6.3模型诊断
给出了β系数,标准误差,z值和p值。
如果模型具有多个级别的分类变量,则会为该变量的每个类别找到一个行条目。
这是因为,每个单独的类别被glm()视为一个独立的二进制变量。
在这种情况下,如果多类别变量中的少数类别在模型中并不显着(即p值大于显着性水平0.5)。
glm(formula=ABOVE50K~RELATIONSHIP+AGE+CAPITALGAIN+职业+
EDUCATIONNUM,family=binomial(link="
logit"
),data=trainingData)
DevianceResiduals:
Min 1Q Median 3Q Max
-3.8380-0.5319-0.0073 0.6267 3.2847
Coefficients:
EstimateStd.ErrorzvaluePr(>
|z|)
(截距)-4.577e+002.464e-01-18.572<
2e-16***关系未婚-2.525e+001.145e-01-22.054<
2e-16***关系妻子3.209e-011.111e-012.8880.00387**
年龄2.671e-022.379e-0311.226<
2e-16***
职业经理8.461e-011.652e-015.1213.04e-07***
职业警察1.285e+002.053e+000.6260.53144
职业工艺修理1.215e+001.584e-017.6691.73e-14***职业执行管理1.952e+001.577e-0112.376<
2e-16***职业养殖1.075e-012.118e-010.5080.61158
职业处理程序员4.844e-012.238e-012.1640.03045*职业机器操作7.094e-011.811e-013.9188.95e-05***职业其他服务7.118e-021.917e-010.3710.71044
职业防护1.545e+002.196e-017.0381.95e-12***
职业销售1.354e+001.605e-018.435<
职业技术支持1.659e+002.011e-018.252<
2e-16***职业交通运输1.028e+001.796e-015.7241.04e-08***职业教育2.812e-011.374e-0220.460<
---
Signif.codes:
0'
***'
0.001'
**'
0.01'
*'
0.05'
.'
0.1'
'
1(Dispersionparameterforbinomialfamilytakentobe1)
Nulldeviance:
15216.0on10975degreesoffreedomResidualdeviance:
8740.9on10953degreesoffreedomAIC:
8786.9
NumberofFisherScoringiterations:
8
从上面的回归结果中,我们可以看到一个人的职业,他的年龄对他的收入有重要的影响。
从中我们可以看到从事技术方面人员的收入会较高。
同时可以看到未婚人员的收入较低。
还可以发现,随着年龄和一个人的收入存在正相关的关系。
6.4错误分类错误
错误分类错误是预测与实际的不匹配百分比,不论1或0。
错误分类错误越低,模型越好。
misClassError(testData$ABOVE50K,predicted,threshold=optCutOff)
[1]0.0892
6.5ROC
ROC曲线指受试者工作特征曲线/接收器操作特性曲线(receiveroperatingcharacteristiccurve),是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。
在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。
上述型号的ROC曲线面积为88.78%,相当不错。
6.6一致性
简单来说,在1-0的所有组合中,一致性是预测对的百分比,一致性越高,模型的质量越好。
$Concordance
[1]0.8915107
$Discordance[1]0.1084893
$Tied
[1]-2.775558e-17
$Pairs
[1]45252896
上述型号的89.2%的一致性确实是一个很好的模型。
6.7特异性和敏感性
敏感度(或真正正率)是模型正确预测的1(实际)的百分比,而特异性是0(实际)正确预测的百分比。
特异性也可以计算为1-假阳性率。
sensitivity(testData$ABOVE50K,predicted,threshold=optCutOff)[1]0.3442414
>
0.3089
specificity(testData$ABOVE50K,predicted,threshold=optCutOff)[1]0.9800853
0.9836
以上数字是在不用于训练模型的验证样本上计算的。
所以测试数据的真实检测率为31%是好的。
6.8混淆矩阵
在人工智能中,混淆矩阵(confusionmatrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。
其每一列代表预测值,每一行代表的是实际的类别。
这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)。
confusionMatrix(testData$ABOVE50K,predicted,threshold=optCutOff)
0188491543
1 383 810
7结论
通过模型的结论,我们可以得到一些已经为公众所接受和熟知的现象是:
收入和受教育程度、智力、年龄以及性别等相关。
基于此用户规模预测模型,结合用户的人口信息,即可粗略预估产品在一般情况下的收入情况,从而在从而判断就得到了付费用户预测模型,转换成流失用户和有效用户,就得到了流失用户预测模型。