搜档网
当前位置:搜档网 › 数学模型之软件开发人员的薪金

数学模型之软件开发人员的薪金

数学模型之软件开发人员的薪金
数学模型之软件开发人员的薪金

软件开发人员的薪金问题

1.基本模型

薪金y 与资历

x 1

,管理责任x 2,教育程度x 3,x 4

之间的多元线性回归模型为:

ε+++++=443322110x a x a x a x a a y

其中

a 0

,a 1

,…,a

4

是待估计的回归系数,ε是随机误差。

利用MATLAB 软件可以得到回归系数及其置信区间(置信水平α=0.05),以及检验统计量R 2,F ,p 的结果,具体算法如下,相应的结果见表一。

1.1 具体算法

x1=[1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 7 8 8 8 8 10 10 10 10 11 11 12 12 13 13 14 15 16 16 16 17 20]';

x2=[1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0]';

x3=[1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1]';

x4=[0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0]';

y=[13876 11608 18701 11283 11767 20872 11772 10535 12195 12313 14975 21371 19800 11417 20263 13231 12884 13245 13677 15965 12366 21352 13839 22884 16978 14803 17404 22184 13548 14467 15942 23174 23780 25410 14861 16882 24170 15990 26330 17949 25685 27837 18838 17483 19207 19346]'; x0=ones(46,1); x=[x0 x1 x2 x3 x4];

[b,bint,r,rint,stats]=regress(y,x,0.05); vpa(b,8) vpa(bint,8) vpa(stats,8)

1.2运算结果

图1.基本模型运算结果

表一

2.进一步讨论

为了寻找改进的方向,常用残差分析方法,我们将影响因素分成资历与管理-教育组合两类,管理-教育组合的定义如表二。

表二

组合 1 2 3 4 5 6

管理0 1 0 1 0 1

教育 1 1 2 2 3 3

下图2给出ε与资历x1的关系,图3给出ε与管理x2-教育x3,x4组合间的关系。

图2. 基本模型ε与x1的关系图3.ε与x2-x3,x4组合的关系

附:残差图程序段:

x5=[2 5 6 3 5 4 3 1 5 3 2 4 6 1 6 5 3 3 5 2 1 6 3 4 2 3 2 6 1 1 3 6 4 4

1 3 6 1 4 3 6 4 3 1 3 1]';

[b,bint,r,rint,stats]=regress(y,x,0.05); subplot(2,2,1) plot(x1,r,'r+') subplot(2,2,2) plot(x5,r,'b+')

3.更好的模型

增加

x 2

与x 3

,x 4

的交互项后,模型记作

ε+++++++=426325443322110x x a x x a x a x a x a x a a y

利用MATLAB 软件求解后的结果如下:

图4.模型二运行结果

表三

作模型二的两个残差图(图5,图6)如下所示:

图5 图6

附:残差图程序段:

x1=[1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 7 8 8 8 8 10 10 10 10 11 11 12 12 13 13 14 15 16 16 16 17 20]';

x2=[1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 0 0]';

x3=[1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1]';

x4=[0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0]';

x5=[2 5 6 3 5 4 3 1 5 3 2 4 6 1 6 5 3 3 5 2 1 6 3 4 2 3 2 6 1 1 3 6 4 4 1 3 6 1 4 3 6 4 3 1 3 1]';

y=[13876 11608 18701 11283 11767 20872 11772 10535 12195 12313 14975 21371 19800 11417 20263 13231 12884 13245 13677 15965 12366 21352 13839 22884 16978 14803 17404 22184 13548 14467 15942 23174 23780 25410 14861 16882 24170 15990 26330 17949 25685 27837 18838 17483 19207 19346]';

x0=ones(46,1);

x=[x0 x1 x2 x3 x4 x2.*x3 x2.*x4];

[b,bint,r,rint,stats]=regress(y,x,0.05);

vpa(b,8)

vpa(bint,8)

vpa(stats,8)

subplot(2,2,1)

plot(x1,r,'r+')

subplot(2,2,2)

plot(x5,r,'b+')

4.去掉异常点的模型二

去掉异常点后,对模型二重新估计回归系数,相应结果如下所示:

图7.去掉异常点后模型二的运行结果

表四

作去掉异常点后模型二的两个残差图(图8,图9)如下所示:

图8 图9

参数 参数估计值 置信区间 a 0 11200 [11139 11261] a 1 498 [494 503] a 2 7041 [6962 7120] a 3 -1737 [-1818 -1656] a 4 -356 [-431 –281] a 5 -3056 [-3171 –2942] a 6

1997

[1894 2100]

R 2= 0.9998 F =36701 p =0

附:残差图程序段:

x1=[1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 6 6 6 6 7 8 8 8 8 10 10 10 11 11 12 12 13 13 14 15 16 16 16 17 20]';

x2=[1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0]';

x3=[1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1]';

x4=[0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0]';

x5=[2 5 6 3 5 4 3 1 5 3 2 4 6 1 6 5 3 3 5 2 1 6 3 4 2 3 2 6 1 1 3 6 4 1 3 6 1 4 3 6 4 3 1 3 1]';

y=[13876 11608 18701 11283 11767 20872 11772 10535 12195 12313 14975 21371 19800 11417 20263 13231 12884 13245 13677 15965 12366 21352 13839 22884 16978 14803 17404 22184 13548 14467 15942 23174 25410 14861 16882 24170 15990 26330 17949 25685 27837 18838 17483 19207 19346]';

x0=ones(45,1);

x=[x0 x1 x2 x3 x4 x2.*x3 x2.*x4];

[b,bint,r,rint,stats]=regress(y,x,0.05);

vpa(b,8)

vpa(bint,8)

vpa(stats,8)

subplot(2,2,1)

plot(x1,r,'r+')

subplot(2,2,2)

plot(x5,r,'b+')

相关主题