第三节 异方差的诊断与处理
本节参见《计量经济学》于俊年 编著 对外经济贸易大学出版社 2000.6 p111-p140
数据来源: P120
家庭年收入(x)7.2 8.4 9.6 10.8 12 13.2 14.4 15.6 18 21.6 24 26.4 30 32.4 36 年生活支出(y)6.0 6.2 7.0 9.0 10 10.5 11.2 12.0 14 20.0 22 21.0 23 30.0 34
3.1 异方差的诊断
3.1.1 残差图法
x=[7.2; 8.4 ; 9.6; 10.8;12; 13.2; 14.4; 15.6;18; 21.6;24; 26.4;30; 32.4;36];
y=[6;6.2;7;9;10;10.5;11.2;12;14;20;22;21;23;30;34];
X=[ones(15,1) x];
stats=regstats(y,x,'linear',{'yhat','r','standres'})
stats =
source: 'regstats'
yhat: [15x1 double]
r: [15x1 double]
standres: [15x1 double]
scatter(stats.yhat,(stats.r).^2)
为的估计。从图中可知, 有增大的趋势。
scatter(stats.yhat,stats.standres)
scatter(stats.yhat,stats.r)
3.1.2 spearman等级相关检验法
[rr,p]=corr(abs(stats.r),x,'type','spearman')
rr =
0.8286
p =
1.8832e-004
P值小于0.05,故模型存在异方差。
3.1.3 格莱泽检验法
此例中:
x=[7.2; 8.4 ; 9.6; 10.8;12; 13.2; 14.4; 15.6;18; 21.6;24; 26.4;30; 32.4;36];
y=[6;6.2;7;9;10;10.5;11.2;12;14;20;22;21;23;30;34];
X=[ones(15,1) x];
stats=regstats(y,x,'linear',{'yhat','r','standres'})
stats =
source: 'regstats'
yhat: [15x1 double]
r: [15x1 double]
standres: [15x1 double]
scatter(x,abs(stats.r))
ylabel('abs(r)'),xlabel('x')
由上图知,x与abs(r)呈线性。经验证有:
regress(abs(stats.r),x)
ans =
0.06238957604862
abs(x)=0.062389x
3.1.4 帕克(park)检验法
y=[6;6.2;7;9;10;10.5;11.2;12;14;20;22;21;23;30;34];
X=[ones(15,1) x];
stats=regstats(y,x,'linear',{'yhat','r','standres'})
stats =
source: 'regstats'
yhat: [15x1 double]
r: [15x1 double]
standres: [15x1 double]
scatter(x,(stats.r).^2)
可考虑拟合指数曲线。
stats1=regstats(log((stats.r).^2),log(x),'linear',{'r','beta','tstat','fstat'})
stats1 =
source: 'regstats'
beta: [2x1 double]
r: [15x1 double]
tstat: [1x1 struct]
fstat: [1x1 struct]
stats1.tstat.beta
ans =
-9.15732591374199
3.05622896275653
>> stats1.tstat.pval
ans =
0.001360766857