• 大小: 10KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Matlab
  • 标签: 逐步回归  

资源简介

逐步回归的基本思想是将变量逐个引入模型,每引入一个解释变量后都要进行F检验,并对已经选入的解释变量逐个进行t检验,当原来引入的解释变量由于后面解释变量的引入变得不再显著时,则将其删除。以确保每次引入新的变量之前回归方程中只包含显著性变量。这是一个反复的过程,直到既没有显著的解释变量选入回归方程,也没有不显著的解释变量从回归方程中剔除为止。以保证最后所得到的解释变量集是最优的。本文件结合实例利用MATLAB实现逐步回归法

资源截图

代码片段和文件信息

clear
clc

data=xlsread(‘week10_eg9_data‘);
[nm]=size(data);
y=data(:m);
z=(y.^0.07-1)/0.07;
X=cell(m-11);
for i=1:m-1
    X{i}=data(:i);
end

aE=0.05;
aD=0.05;
%--------------------------------------------------------------------------
fprintf(‘Statistics for Entry:Step 1\n‘);
%--------------------------------------------------------------------------
p=2;
b_2=cell(41);
s_2=ones(41);
F=ones(41);
Prob=ones(41);
for j=1:m-1
    x=[ones(n1)X{j}];
    [b_2{j}bintrrintstats]=regress(zx0.05);
    zHat=x*b_2{j};
    aver_z=mean(z);
    sigma_2=stats(4);
    C=inv(x‘*x);
    s_2(j)=sqrt(sigma_2*C(22));
    F(j)=(b_2{j}(2)/s_2(j))^2;
    Prob(j)=1-fcdf(F(j)1n-2);
end
fprintf(‘Variable|F      |Prob>F    \n‘);
V={‘   X1   ‘‘   X2   ‘‘   X3   ‘‘   X4   ‘};
for i=1:4
    fprintf(‘%s|%-7.4f|%-10.4f‘V{i}F(i)Prob(i));
    fprintf(‘\n‘);
end
f=1;
for k=1:3
    if F(k+1)>F(f)&&Prob(k+1)        f=k+1;
    end
end
if Prob(f)   u=1;
else
    u=0;
end
if u==1
    fprintf(‘添加X%d\n‘f);
else
    fprintf(‘不添加\n‘);
end
%--------------------------------------------------------------------------
x=[ones(n1)X{f}];
[b_fbintrrintstats]=regress(zx0.05);
PE=b_f;
C=inv(x‘*x);
SE=ones(21);
F_f=ones(21);
Prob_f=ones(21);
sigma_2=stats(4);
for l=1:2
    SE(l)=sqrt(sigma_2*C(ll));
    F_f(l)=(b_f(l)/SE(l))^2;
    Prob_f(l)=1-fcdf(F_f(l)1n-2);
end
fprintf(‘回归模型参数:\n‘)
fprintf(‘ Variable |Parameter Estimate  |Standard Error  |F        |Prob>F  \n‘);
fprintf(‘ INTERCEP |%-20.4f|%-16.4f|%-9.4f|%-7.4f\n‘b_f(1)SE(1)F_f(1)Prob_f(1));
fprintf(‘    X4    |%-20.4f|%-16.4f|%-9.4f|%-7.4f\n‘b_f(2)SE(2)F_f(2)Prob_f(2));
if Prob_f(2)>aD
    fprintf(‘出错,aE应小于或等于aD‘);
end
%--------------------------------------------------------------------------
fprintf(‘Statistics for Entry:Step 2\n‘);
%--------------------------------------------------------------------------
p=3;
b_3=cell(31);
s_3=ones(31);
F=ones(31);
Prob=ones(31);
for j=1:m-2
    x=[ones(n1)X{j}X{4}];
    [b_3{j}bintrrintstats]=regress(zx0.05);
    zHat=x*b_3{j};
    aver_z=mean(z);
    sigma_2=stats(4);
    C=inv(x‘*x);
    s_3(j)=sqrt(sigma_2*C(22));
    F(j)=(b_3{j}(2)/s_3(j))^2;
    Prob(j)=1-fcdf(F(j)1n-3);
end
fprintf(‘Variable|F      |Prob>F    \n‘);
V={‘   X1   ‘‘   X2   ‘‘   X3   ‘};
for i=1:3
    fprintf(‘%s|%-7.4f|%-10.4f‘V{i}F(i)Prob(i));
    fprintf(‘\n‘);
end
f=1;
for k=1:2
    if F(k+1)>F(f)&&Prob(k+1)        f=k+1;
    end
end
if Prob(f)   u=1;
else
    u=0;
end
if u==1
    fprintf(‘添加X%d\n‘f);
else
    fprintf(‘不添加\n‘);
end
%--------------------------------------------------------------------------
x=[ones(n1)X{f}X{4}];
[b_fbintrrintstats]=regress(zx0.05);
PE=b_f;
C=inv(x‘*x);
SE=ones(31);
F_f=ones(31);
Prob_f=ones(31);
sigma_2=stats(4);
for l=1:3
    SE(l)=sqrt(sigma_2*C(ll));
    F_f(l)=(b_f(l)/SE(l))^

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       10709  2017-11-07 11:49  week10_eg9_data.xlsx
     文件        8466  2017-11-21 13:04  week11_eg10_1.m

评论

共有 条评论