- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多元非线性回归分析
A题思路之一——多元非线性回归分析
本题求解关键为建立工资与其他7个因素之间的关系模型,可以考虑采用回归分析法,也可以考虑其他方法;
以下仅以回归分析法过程为例给出分析思路,仅供参考:
注意:根据下述结果发现本问题应该考虑为多元非线性回归,因此请大家优先挑出使用非线性回归模型的论文,其余酌情考虑。
1.数据预处理
1)为数据分析方便,应该考虑名义变量或有序变量的量化处理(编码),如可以考虑如下编码方案(含符号约定):
-日平均工资的对数,便于回归分析;作为因变量。
;
:工龄
;
;
;
;
2)分别作出y与各自变量之间的散点图,发现与x2非线性关系较为明显(下图所示),所以应该考虑为非线性模型,
data=xlsread(Adata.xls,2);
y=data(:,1);
x=data(:,2:8);
plot(x(:,2),y,r*)
title(lny vs x2)
3)相关性分析
data=xlsread(Adata.xls,2);
y=data(:,1);
x=data(:,2:8);
s=corrcoef(data);
xlswrite(coef.xls,s)
lnyX1X2X3X4X5X6X710.2669950.7752910.2861350.5055260.2779290.1991780.4897860.26699510.1603890.6794460.3123480.417621-0.104980.3160250.7752910.16038910.2260960.1031460.0988540.1511460.1563210.2861350.6794460.22609610.2669370.213363-0.279660.2295350.5055260.3123480.1031460.26693710.4127450.2197620.8552360.2779290.4176210.0988540.2133630.4127451-0.053070.4233550.199178-0.104980.151146-0.279660.219762-0.0530710.2556650.4897860.3160250.1563210.2295350.8552360.4233550.2556651
相关系数表也提示y仅与x2,x4关系密切.与婚姻状况x1,x3关系不明显.
2、建模及简易求解(第1、3问)
以下考虑分别用多元线性回归模型、线性逐步回归模型、非线性模型分析,从中选择相对最优的模型。
1).多元线性回归结果
源程序:
data=xlsread(Adata.xls,2);
Y=data(:,1);
x=data(:,2:8);
X=[ones(90,1),x];
[b,bint,r,rint,stats]=regress(Y,X);
b,bint,stats
结果:
b(系数) =
3.6623 常数项
0.0044 x1
0.0016 x2
-0.0010 x3
0.1713 x4
0.0170 x5
-0.0012 x6
0.0143 x7
Bint(系数95%置信区间) =
3.5957 3.7289
-0.0828 0.0917
0.0014 0.0019
-0.0930 0.0910
0.0849 0.2577
-0.0536 0.0876
-0.0798 0.0773
-0.1254 0.1540
置信区间包含零点,可认为在95%置信度下,相应变量对y影响不显著,应该考虑改进模型。
stats (统计量)=
0.7852 (决定系数) 42.8304(F值) 0 (P值) 0.0193
关于异常值:
利用上述多元线性回归模型分析结果,继续做异常点分析,
rcoplot(r,rint)
发现5个异常点: 43 52 60 61 90
从原始数据中将其剔除后,重新做多元线性回归,
源程序:
data=xlsread(Adata.xls,4);
Y=data(:,1);
x=data(:,2:8);
X=[ones(85,1),x];
[b,bint,r,rint,stats]=regress(Y,X);
b,bint,stats
结果
b =
3.6502
0.0055
0.0017
-0.0282
0.1752
文档评论(0)