当前位置:文档之家› 实验四-异方差性的检验与处理

实验四-异方差性的检验与处理

实验四-异方差性的检验与处理实验四 异方差性的检验及处理(2学时)一、实验目的(1)、掌握异方差检验的基本方法; (2)、掌握异方差的处理方法。

二、实验学时:2学时三、实验要求(1)掌握用MATLAB 软件实现异方差的检验和处理; (2)掌握异方差的检验和处理的基本步骤。

四、实验原理1、异方差检验的常用方法(1) 用X-Y 的散点图进行判断(2). 22ˆ(,)(,)e x e y %%或的图形 ,),x )i i y %%i i ((e 或(e 的图形)(3) 等级相关系数法(又称Spearman 检验)是一种应用较广的方法,既可以用于大样本,也可与小样本。

:i u 0原假设H 是等方差的;:i u 0备择假设H 是异方差;检验的三个步骤① ˆt ty y =-%i e②|i x %%i i 将e 取绝对值,并把|e 和按递增或递减次序排序,计算Spearman 系数rs ,其中:21ni i d =∑s 26r =1-n(n -1)|i x %i i 其中, n 为样本容量d 为|e和的等级的差数。

③ 做等级相关系数的显著性检验。

n>8时,22(2)1s sn t t n r-=--0当H 成立时,/2(2),t t n α≤-若认为异方差性问题不存在;/2(2),t t n α>-反之,若||i i e x %说明与之间存在系统关系,异方差问题存在。

(4) 帕克(Park)检验帕克检验常用的函数形式:若α在统计上是显著的,表明存在异方差性。

2、异方差性的处理方法: 加权最小二乘法 如果在检验过程中已经知道:222()()()i i i ji u Var u E u f x σσ===则将原模型变形为:121()()()()()i i p pi iji ji ji ji ji y x x u f x f x f x f x f x βββ=+⋅++⋅+L 在该模型中:2211()()()()()()i i ji u u ji ji ji Var u Var u f x f x f x f x σσ===即满足同方差性。

于是可以用OLS 估计其参数,得到关于参数12,,,pβββL 的无偏、有效估计量。

五、实验举例例1、某地区居民的可支配收入x(千元)与居民消费支出y(千元)的数据如下: Noxynoxy1 10 8 16 25 19.12 10 8.2 17 25 23.53 10 8.3 18 25 22.4 4 10 8.1 19 25 23.1 5 10 8.7 20 25 15.16 15 12.3 21 30 24.27 15 9.4 22 30 16.78 15 11.6 23 30 279 15 12 24 30 26 10 15 8.9 25 30 22.1 11 20 15 26 35 30.5 12 20 16 27 35 28.7 13 20 12 28 35 31.1 14 20 13 29 35 20 152019.1303529.901i i iy x u ββ=++若用线性模型,研究不同收入家庭的消费情况,试问原数据有无异方差性?如果存在异方差性,应如何处理?解:(一)编写程序如下:(1)等级相关系数法(详见test4_1.m 文件)%%%%%%%%%%%%%%% 用等级相关系数法来检验异方差性 %%%%%%%% [data,head]=xlsread('test4.xlsx'); x=data(:,1); %提取第一列数据,即可支配收入x y=data(:,2); %提取第二列数据,即居民消费支出y plot(x,y,'k.'); % 画x 和y 的散点图xlabel('可支配收入x (千元)') % 对x 轴加标签 ylabel('居民消费支出y(千元)') % 对y 轴加标签%%%%%%%% 调用regres 函数进行一元线性回归 %%%%%%%%%%%%xdata=[ones(size(x,1),1),x]; %在x 矩阵最左边加一列1,为线性回归做准备 [b,bint,r,rint,s]=regress(y,xdata); yhat=xdata*b; %计算估计值y% 定义元胞数组,以元胞数组形式显示系数的估计值和估计值的95%置信区间 head1={'系数的估计值','估计值的95%置信下限','估计值的95%置信上限'}; [head1;num2cell([b,bint])]% 定义元胞数组,以元胞数组形式显示y 的真实值,y 的估计值,残差和残差的95%置信区间 head2={'y 的真实值','y 的估计值','残差','残差的95%置信下限','残差的95%置信上限'};[head2;num2cell([y,yhat,r,rint])]% 定义元胞数组,以元胞数组形式显示判定系数,F 统计量的观测值,检验的P 值和误差方差的估计值head3={'判定系数','F 统计量的观测值','检验的P 值','误差方差的估计值'}; [head3;num2cell(s)]%%%%%%%%%%%%% 残差分析 %%%%%%%%%%%%%%%%%% figure;rcoplot(r,rint) % 按顺序画出各组观测值对应的残差和残差的置信区间%%% 画估计值yhat 与残差r 的散点图 figure;plot(yhat,r,'k.') % 画散点图xlabel('估计值yhat') % 对x轴加标签ylabel('残差r') % 对y轴加标签%%%%%%%%%%%% 调用corr函数计算皮尔曼等级相关系数res=abs(r); % 对残差r取绝对值[rs,p]=corr(x,res,'type','spearman')disp('其中rs为皮尔曼等级相关系数,p为p值');(2)帕克(park)检验法(详见test4_2.m文件)%%%%%%%%%%%%%%% 用帕克(park)检验法来检验异方差性 %%%%%%%[data,head]=xlsread('test4.xlsx'); %导入数据x=data(:,1);y=data(:,2);%%%%%% 调用regstats函数进行一元线性回归,linear表带有常数项的线性模型,r表残差ST=regstats(y,x,'linear',{'yhat','r','standres'});scatter(x,(ST.r).^2) % 画x与残差平方的散点图xlabel('可支配收入(x)') % 对x轴加标签ylabel('残差的平方') %对y轴加标签%%%%%%% 对原数据x和残差平方r^2取对数,并对log(x)和log(r^2)进行一元线性回归ST1=regstats(log((ST.r).^2),log(x),'linear',{'r','beta','tstat','fsta t'})ST1.tstat.beta % 输出参数的估计值ST1.tstat.pval % 输出回归系数t检验的P值ST1.fstat.pval % 输出回归模型显著性检验的P值(3)加权最小二乘法(详见test4_3.m文件)%%%%%%%%%%% 调用robustfit函数作稳健回归 %%%%%%%%%%%%[data,head]=xlsread('test4.xlsx'); % 导入数据x=data(:,1);y=data(:,2);% 调用robustfit函数作稳健回归,返回系数的估计值b和相关统计量stats[b,stats]=robustfit(x,y) %调用函数作稳健回归stats.p % 输出模型检验的P值%%% 绘制残差和权重的散点图 %%%%%%%plot(stats.resid,stats.w,'o') %绘制残差和权重的散点图xlabel('残差')ylabel('权重'(二)实验结果与分析:第一步::用OLS方法估计参数,并保留残差(1)散点图可支配收入x(千元)居民消费支出y (千元)图4.1 可支配收入(x )居民消费支出(y )散点图因每个可支配收入x 的值,都有5个居民消费收入y 与之对应,所以上述散点图呈现此形状。

(2)回归模型参数估计值与显著性检验表1'系数的估计值' '估计值的95%置信下限' '估计值的95%置信上限' [-0.5390][ -3.7241] [ 2.6460][ 0.8091] [ 0.6768] [ 0.9415]'判定系数' 'F 统计量的观测值' '检验的P 值' '误差方差的估计值'[ 0.8485] [ 156.8387] [5.4040e-13] [ 9.1316]由输出结果看,常数项和回归系数的估计值分别为-0.539和0.8091,从而可以写出线性回归方程为回归系数的估计值的95%置信区间为[0.6768,0.9415]。

对回归直线进行显著性检验,原假设和对立假设分别为检验的P值为,可知在显著性水平下应拒绝原假设,可认为y(居民消费收入)与x(可支配收入)的线性关系是显著的。

(3)方差分析51015202530 -10-5510Residual Case Order PlotResidualsCase Number图4.2原始数据对应残差图从残差图可以看到有2条线段(红色虚线)与水平线y=0没有交点,它对应的观测号为22和29,也就是说这两组观测对应的残差的置信区间不包含0点,可认为这两组观测数据为异常数据。

它们分别是(30,16.7),(35,20)。

第二步:异方差性检验(1)图示法51015202530-8-6-4-224估计值yhat残差r图4.3(2) 等级相关系数法在y 与x 的OLS 回归的基础上计算出残差的绝对值,并记为res ,并计算出皮尔曼等级相关系数rs=0.4860与对应的p 值为0.0065<0.05(*),说明残差r 与x 存在系统关系,即存在异方差问题。

相关主题