资源描述
建立模型研究薪金与资历、管理责任、教育程度的关系,分析人事策略的合理性,作为新聘用人员薪金的参考 46名软件开发人员的档案资料
资历~ 从事专业工作的年数;管理~ 1=管理人员,0=非管理人员;教育~ 1=中学,2=大学,3=更高程度
分析与假设
y~ 薪金,x1 ~资历(年)
x2 = 1~ 管理人员,x2 = 0~ 非管理人员
教育1=中学2=大学3=更高
中学:x3=1, x4=0 ;大学:x3=0, x4=1; 更高:x3=0, x4=0
线性回归模型
a0, a1, …, a4是待估计的回归系数,e是随机误差
模型求解
软件开发人员的薪金(MATLAB实现)
基本模型:参数
参数估计值
置信区间
a0
11032
[ 10258 11807 ]
a1
546
[ 484 608 ]
a2
6883
[ 6248 7517 ]
a3
-2994
[ -3826 -2162 ]
a4
148
[ -636 931 ]
R2=0.957 F=226 p=0.000
资历增加1年薪金增长546
管理人员薪金多6883
中学程度薪金比更高的少2994
大学程度薪金比更高的多148
a4置信区间包含零点,解释不可靠!
模型(1)的计算结果及其残差分析图:
图 9:模型(1)x1与的关系
M=dlmread('D:\随机数学建模\xinjindata.m');
n=46;
x1=M(:,3);
x2=M(:,4);
x3=M(:,6);
x4=M(:,7);
y=M(:,2);
x=[ones(n,1) x1 x2 x3 x4 ];
[b,bint,r,rint,stats]=regress(y,x);
s2=sum(r.^2)/(n-5);
b,bint,stats,s2
plot(x1,r,'+')
b =
1.0e+004 *
1.1033
0.0546
0.6883
-0.2994
0.0148
bint =
1.0e+004 *
1.0258 1.1807
0.0484 0.0608
0.6248 0.7517
-0.3826 -0.2162
-0.0636 0.0931
stats =
0.9567 226.4258 0
s2 =
1.0571e+006
残差大概分成3个水平, 6种管理—教育组合混在一起,未正确反映 。
图 10:模型(1) x2-x3 .x4与 组合关系(MATLAB实现如下)
M=dlmread('D:\随机数学建模\xinjindata.m');
n=46;
x1=M(:,3);
x2=M(:,4);
x3=M(:,6);
x4=M(:,7);
y=M(:,2);
x=[ones(n,1) x1 x2 x3 x4 ];
[b,bint,r,rint,stats]=regress(y,x);
s2=sum(r.^2)/(n-5);
xx=M(:,8);
plot(xx,r,'+')
残差全为正,或全为负,管理—教育组合处理不当 应在模型中增加管理x2与教育x3, x4的交互项
更好的模型: (1)的改进 增加 x2与 x3,x4的交互项后,模型为:
模型(2)的计算结果及其残差分析图:
图 11:模型(2) x1与的关系
M=dlmread('D:\随机数学建模\xinjindata.m');
y=M(:,2);
x1=M(:,3);
x2=M(:,4);
x3=M(:,6);
x4=M(:,7);
x5=x2.*x3;
x6=x2.*x4;
n=length(y);
x=[ones(n,1) x1 x2 x3 x4 x5 x6];
[b,bint,r,rint,stats]=regress(y,x);
s2=sum(r.^2)/(n-7);
b,bint,stats,s2
plot(x1,r,'+')
b = 1.0e+004 *
1.1204
0.0497
0.7048
-0.1727
-0.0348
-0.3071
0.1836
bint =
1.0e+004 *
1.1044 1.1363
0.0486 0.0508
0.6841 0.7255
-0.1939 -0.1514
-0.0545 -0.0152
-0.3372 -0.2769
0.1571 0.2101
stats =
1.0e+003 *
0.0010 5.5448 0
s2 =
3.0047e+004
图 12:模型(2)x2- x3,x4与组合关系(MATLAB实现如下)
M=dlmread('D:\随机数学建模\xinjindata.m');
y=M(:,2);
x1=M(:,3);
x2=M(:,4);
x3=M(:,6);
x4=M(:,7);
x5=x2.*x3;
x6=x2.*x4;
n=length(y);
x=[ones(n,1) x1 x2 x3 x4 x5 x6];
[b,bint,r,rint,stats]=regress(y,x);
s2=sum(r.^2)/(n-7);
xx=M(:,8);
plot(xx,r,'+')
异常数据处理后的模型:残差分析图:
图 13:模型(2)去掉异常数据后 x1 与e 的关系
M=dlmread('D:\随机数学建模\xinjindata.m');
M=[M(1:32,:);M(34:46,:)];
y=M(:,2);
x1=M(:,3);
x2=M(:,4);
x3=M(:,6);
x4=M(:,7);
x5=x2.*x3;
x6=x2.*x4;
n=length(y);
x=[ones(n,1) x1 x2 x3 x4 x5 x6];
[b,bint,r,rint,stats]=regress(y,x);
s2=sum(r.^2)/(n-7);
b,bint,stats,s2
plot(x1,r,'+'),
b =
1.0e+004 *
1.1200
0.0498
0.7041
-0.1737
-0.0356
-0.3056
0.1997
bint =
1.0e+004 *
1.1139 1.1261
0.0494 0.0503
0.6962 0.7120
-0.1818 -0.1656
-0.0431 -0.0281
-0.3171 -0.2942
0.1894 0.2100
stats =
1.0e+004 *
0.0001 3.6701 0
s2 =
4.3474e+003
图 14:模型(2)去掉异常数据后e与X2-X3,X4组合关系
M=dlmread('D:\随机数学建模\xinjindata.m');
M=[M(1:32,:);M(34:46,:)];
y=M(:,2);
x1=M(:,3);
x2=M(:,4);
x3=M(:,6);
x4=M(:,7);
x5=x2.*x3;
x6=x2.*x4;
n=length(y);
x=[ones(n,1) x1 x2 x3 x4 x5 x6];
[b,bint,r,rint,stats]=regress(y,x);
xx=M(:,8);
plot(xx,r,'+')
制订6种管理—教育组合人员的“基础”薪金(资历为0)
x1= 0; x2 = 1~ 管理,x2 = 0~ 非管理
中学:x3=1, x4=0 ;大学:x3=0, x4=1; 更高:x3=0, x4=0
组合
管理
教育
系数
“基础”薪金
1
0
1
a0+a3
9463
2
1
1
a0+a2+a3+a5
13448
3
0
2
a0+a4
10844
4
1
2
a0+a2+a4+a6
19882
5
0
3
a0
11200
6
1
3
a0+a2
18241
大学程度管理人员比更高程度管理人员的薪金高
大学程度非管理人员比更高程度非管理人员的薪金略低
展开阅读全文