研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx

上传人:b****8 文档编号:10081690 上传时间:2023-02-08 格式:DOCX 页数:9 大小:17.39KB
下载 相关 举报
研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx_第1页
第1页 / 共9页
研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx_第2页
第2页 / 共9页
研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx_第3页
第3页 / 共9页
研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx_第4页
第4页 / 共9页
研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx

《研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx》由会员分享,可在线阅读,更多相关《研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx(9页珍藏版)》请在冰豆网上搜索。

研究生 数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编.docx

研究生数理统计多元线性回归及显著性检验Matlab程序完美版之欧阳化创编

多元线性回归及显著性检验Matlab程序(完美版)

时间:

2021.02.06

创作:

欧阳化

一、说明:

1、本程序是研究生教材《数理统计》(杨虎、刘琼、钟波编著)例4.4.1(P133)的Matlab编程解答程序。

教材上的例题只做了回归方程显著性分析和一次回归系数显著性分析(剔除x1后没有再检验x2和x3)。

2、本程序在以上的基础之上,还分别检验了x2和x3,并且计算精度更高。

3、本程序可根据用户的需要,在输入不同的显著性水平α之下得到相应的解答。

4、本程序移植性强,对于其他数据,只需要改变excel中的数据即可。

5、本程序输出的可读性强,整洁美观。

二、数据入下(将数据存入excel表格,文件名为jc_p133_example.xls。

注意数据是按x1,x2,…,xk,y这样来列来存储。

若不是3个变量,则相应增减数据列就行。

):

2

18

50

4.3302

7

9

40

3.6485

5

14

46

4.483

12

3

43

5.5468

1

20

64

5.497

3

12

40

3.1125

3

17

64

5.1182

6

5

39

3.8759

7

8

37

4.67

0

23

55

4.9536

3

16

60

5.006

0

18

49

5.2701

8

4

50

5.3772

6

14

51

5.4849

0

21

51

4.596

3

14

51

5.6645

7

12

56

6.0795

16

0

48

3.2194

6

16

45

5.8076

0

15

52

4.7306

9

0

40

4.6805

4

6

32

3.2172

0

17

47

2.6104

9

0

44

3.7174

2

16

39

3.8946

9

6

39

2.7066

12

5

51

5.6314

6

13

41

5.8152

12

7

47

5.1302

0

24

61

5.391

5

12

37

4.4533

4

15

49

4.6569

0

20

45

4.5212

6

16

42

4.865

4

17

48

5.3566

10

4

48

4.6098

4

14

36

2.3815

5

13

36

3.8746

9

8

51

4.5919

6

13

54

5.1588

5

8

100

5.4373

5

11

44

3.996

8

6

63

4.397

2

13

55

4.0622

7

8

50

2.2905

4

10

45

4.7115

10

5

40

4.531

3

17

64

5.3637

4

15

72

6.0771

三、完整程序如下:

%----------------------------byggihhimm----------------------------

%《数理统计》杨虎、刘琼、钟波编著例4.4.1多元线性回归及显著性检验完整解答

%输入需要的显著水平α(默认α=0.02),计算出不同结果(见运行结果)

%该程序也适合其他维数的数据分析(只需改变excel表格中的数据即可)

%----------------------------byggihhimm----------------------------

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)

fprintf('\r')

%%检验回归方程的显著性

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的数,α=');

end

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

fprintf(['\r--------------------回归方程显著性检验(H0:

β1=β2=...=βk=0)'...

'--------------------\r经过计算:

接受H0,原假设成立。

'])

end

%%检验回归系数的显著性(循环检验,直到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'];

end

fprintf(['\r第%d次检验:

\rcii:

'format_str'%13.4f\rci:

'...

format_str'\rβi:

'format_str'%13.4f'],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)

else

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

fprintf(['\r\r经过检验,剩余所有变量:

'...

fmt_str2'对y的线性影响均显著。

检验结束。

\r'],index_of_xi)

flag_go_on=0;

end

ifflag_go_on

num_of_loop=num_of_loop+1;

k=k-1;

if~k

fprintf('\r\r警告:

通过一一对所有变量做显著性检验,已剔除所有变量!

');

break;

end

beta_mao=beta_mao-beta_mao(beta_index)/cii(beta_index)*cij(beta_index,:

);

beta_mao(beta_index)=[];

fmt_str1='';

fori1=2:

k+1

fmt_str1=[fmt_str1'β'num2str(i1-1+num_of_loop)'=%0.4f\r'];

end

fprintf(['\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:

end).*lxy);

Se_square=St_square-Sr_square;

end

end

四、运行结果如下(分别为α=0.01和α=0.02的运行结果):

第1次计算结果:

β0=0.7344

β1=0.1585

β2=0.1063

β3=0.0357

>>>>>>请输入您要求的显著性水平(0<α<1)α=0.01

-----------------------------------α=0.0100-----------------------------------

--------------------回归方程显著性检验(H0:

β1=β2=...=βk=0)--------------------

经过计算:

拒绝H0,原假设不成立。

-----------------回归系数显著性检验(分别对β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

第2次检验:

cii:

0.42740.00060.0002

ci:

0.05690.0302

βi:

2.53020.02310.0362

x2对y的线性影响最不显著(|β2|=0.0231)。

删除x2,进行第3次计算:

β0=2.6615

β3=0.0391

第3次检验:

cii:

0.40790.0002

ci:

0.0294

βi:

2.66150.0391

经过检验,剩余所有变量:

x3对y的线性影响均显著。

检验结束。

第1次计算结果:

β0=0.7344

β1=0.1585

β2=0.1063

β3=0.0357

>>>>>>请输入您要求的显著性水平(0<α<1)α=0.02

-----------------------------------α=0.0200-----------------------------------

--------------------回归方程显著性检验(H0:

β1=β2=...=βk=0)--------------------

经过计算:

拒绝H0,原假设不成立。

-----------------回归系数显著性检验(分别对β1、β2、...、βk进行)------------------

第1次检验:

cii:

1.13550.00550.00210.0002

ci:

0.14550.09020.0255

βi:

0.73440.15850.10630.0357

经过检验,剩余所有变量:

x1、x2、x3对y的线性影响均显著。

检验结束。

时间:

2021.02.06

创作:

欧阳化

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1