研究生数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳光明创编Word下载.docx
- 文档编号:16025548
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:8
- 大小:17.35KB
研究生数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳光明创编Word下载.docx
《研究生数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳光明创编Word下载.docx》由会员分享,可在线阅读,更多相关《研究生数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳光明创编Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
5.5468
1
20
64
5.497
3.1125
17
5.1182
6
39
3.8759
8
37
4.67
23
55
4.9536
16
60
5.006
49
5.2701
4
5.3772
51
5.4849
21
4.596
5.6645
56
6.0795
48
3.2194
45
5.8076
15
52
4.7306
4.6805
32
3.2172
47
2.6104
44
3.7174
3.8946
2.7066
5.6314
13
41
5.8152
5.1302
24
61
5.391
4.4533
4.6569
4.5212
42
4.865
5.3566
10
4.6098
36
2.3815
3.8746
4.5919
54
5.1588
100
5.4373
11
3.996
63
4.397
4.0622
2.2905
4.7115
4.531
5.3637
72
6.0771
三、完整程序如下:
%----------------------------byggihhimm----------------------------
%《数理统计》杨虎、刘琼、钟波编著例4.4.1多元线性回归及显著性检验完整解答
%输入需要的显著水平α(默认α=0.02),计算出不同结果(见运行结果)
%该程序也适合其他维数的数据分析(只需改变excel表格中的数据即可)
clear;
clc;
data=xlsread('
jc_p133_example.xls'
'
sheet1'
);
xi=data(:
1:
end-1);
[n,k]=size(data);
k=k-1;
index_of_xi_array=ones(1,k);
X=[ones(n,1)xi];
Y=data(:
end);
fprintf('
第1次计算结果:
\r'
)
beta_mao=((X'
*X)\X'
*Y)'
;
fmt_str0='
'
fori0=1:
k+1
fmt_str0=[fmt_str0'
β'
num2str(i0-1)'
=%0.4f\r'
];
end
fprintf(fmt_str0,beta_mao)
%%检验回归方程的显著性
x_ba=mean(xi);
y_ba=mean(Y);
St_square=sum(Y.^2)-n*y_ba^2;
lxy=sum((xi-ones(n,1)*x_ba).*((Y-y_ba)*ones(1,k)));
Sr_square=sum(beta_mao(2:
end).*lxy);
Se_square=St_square-Sr_square;
c_flag=Sr_square/Se_square;
F_alpha=input('
>
请输入您要求的显著性水平(0<
α<
1)α='
while~(isscalar(F_alpha)&
&
F_alpha<
1&
F_alpha>
0)
F_alpha=input('
您的输入有误,请重新输入一个大于0,小于1的数,α='
F_fenweidian=finv(1-F_alpha,k,n-k-1);
c=k/(n-k-1)*F_fenweidian;
ifc_flag>
c
fprintf(['
\r--------------------回归方程显著性检验(H0:
β1=β2=...=βk=0)'
...
'
--------------------\r经过计算:
拒绝H0,原假设不成立。
])
else
接受H0,原假设成立。
%%检验回归系数的显著性(循环检验,直到OK,得出最后结果)
fprintf(['
\r\r-----------------回归系数显著性检验(分别对β1、β2、...、βk进行)'
------------------'
flag_go_on=1;
num_of_loop=0;
whileflag_go_on
cij=inv(X'
*X);
cii=diag(cij);
F_fenweidian_1=finv(1-F_alpha,1,n-k-1);
ci=sqrt(cii(2:
end)*Se_square*F_fenweidian_1/(n-k-1));
format_str='
%15.4f'
forii=1:
k-1
format_str=[format_str'
%13.4f'
\r第%d次检验:
\rcii:
format_str'
%13.4f\rci:
\rβi:
],num_of_loop+1,cii,ci,beta_mao)
if~all(abs(beta_mao(2:
end))>
ci'
flag_go_on=1;
beta_1tok=beta_mao;
beta_1tok
(1)=[];
fi_xin=beta_1tok.^2./cii(1:
end-1)'
min_fi=min(fi_xin);
beta_index=find(fi_xin==min_fi)+1;
fprintf('
\rx%d对y的线性影响最不显著(|β%d|=%0.4f)。
删除x%d,进行第%d次计算:
...
beta_index-1+num_of_loop,beta_index-1+num_of_loop,...
abs(beta_mao(beta_index)),beta_index-1+num_of_loop,...
beta_index-1+num_of_loop+1)
fmt_str2='
x%d'
index_of_xi=find(index_of_xi_array);
fori2=1:
length(find(index_of_xi))-1
fmt_str2=[fmt_str2'
、x%d'
end
\r\r经过检验,剩余所有变量:
fmt_str2'
对y的线性影响均显著。
检验结束。
],index_of_xi)
flag_go_on=0;
ifflag_go_on
num_of_loop=num_of_loop+1;
k=k-1;
if~k
\r\r警告:
通过一一对所有变量做显著性检验,已剔除所有变量!
break;
beta_mao=beta_mao-beta_mao(beta_index)/cii(beta_index)*cij(beta_index,:
beta_mao(beta_index)=[];
fmt_str1='
fori1=2:
fmt_str1=[fmt_str1'
num2str(i1-1+num_of_loop)'
\rβ0=%0.4f\r'
fmt_str1],beta_mao)
X(:
beta_index)=[];
index_of_xi_array(beta_index-1+num_of_loop-1)=0;
xi=X(:
2:
end);
x_ba=mean(xi);
lxy=sum((xi-ones(n,1)*x_ba).*((Y-y_ba)*ones(1,k)));
Sr_square=sum(beta_mao(2:
Se_square=St_square-Sr_square;
四、运行结果如下(分别为α=0.01和α=0.02的运行结果):
β0=0.7344
β1=0.1585
β2=0.1063
β3=0.0357
1)α=0.01
-----------------------------------α=0.0100-----------------------------------
--------------------回归方程显著性检验(H0:
β1=β2=...=βk=0)--------------------
经过计算:
-----------------回归系数显著性检验(分别对β1、β2、...、βk进行)------------------
第1次检验:
cii:
1.13550.00550.00210.0002
ci:
0.16220.10060.0284
βi:
0.73440.15850.10630.0357
x1对y的线性影响最不显著(|β1|=0.1585)。
删除x1,进行第2次计算:
β0=2.5302
β2=0.0231
β3=0.0362
第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 研究生 数理统计 多元 线性 回归 显著 检验 Matlab 程序 完美 欧阳 光明 创编