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

  • 格式:docx
  • 大小:46.65 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四异方差性的检验及处理(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检验)

是一种应用较广的方法,既可以用于大样本,也可与小样本。

检验的三个步骤

ˆ

t t

y y

=-%

i

e

②|i x %%i i 将e 取绝对值,并把|e 和按递增或递减次序排序,

计算Spearman 系数rs ,其中:21n i i d =∑s 26r =1-n(n -1)

③ 做等级相关系数的显着性检验。n>8时,

/2(2),t t n α>-反之,若||i i e x %说明与之间存在系统关系,异方差问题存在。

(4) 帕克(Park)检验

帕克检验常用的函数形式:

若?在统计上是显着的,表明存在异方差性。

2、异方差性的处理方法: 加权最小二乘法

如果在检验过程中已经知道:222()()()i i i ji u Var u E u f x σσ===

则将原模型变形为:

121i i p pi i y x x u βββ=+⋅+⋅+L 在

该模型中: 即满足同方差性。于是可以用OLS 估计其参数,得到关于参数

12,,,p βββL 的无偏、有

效估计量。

五、实验举例

例1、某地区居民的可支配收入x(千元)与居民消费支出y(千元)的数据如下:

01i i i y 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','fstat'})

ST1.tstat.beta % 输出参数的估计值

ST1.tstat.pval % 输出回归系数t检验的P值

ST1.fstat.pval % 输出回归模型显着性检验的P值

(3)加权最小二乘法(详见test4_3.m文件)

%%%%%%%%%%% 调用robustfit函数作稳健回归 %%%%%%%%%%%%

[data,head]=xlsread('test4.xlsx'); % 导入数据