回归模型的假设检验

 

在多元线性回归模型中,因变量y 和自变量..之间是否存在线性关系以及回归系数的显著性是需要检验的,比如在下面的例子中我们可以通过F 检验和 t 检验来分析判断自变量和因变量之间的关系。

表中的数据为某养猪场25 头育肥猪 4 个胴体性状的数据资料,需要进行瘦肉量 y 对眼肌面积x1、腿肉量x2、腰肉量x3的多元回归分析

序号

眼肌面积x1

腿肉量x2

腰肉量x3

瘦肉量y

1

23.73

5.49

1.21

15.02

2

22.34

4.32

1.35

12.62

3

28.84

5.04

1.92

14.86

4

27.67

4.72

1.49

13.98

5

20.83

5.35

1.56

15.91

6

22.27

4.27

1.5

12.47

7

27.57

5.25

1.85

15.8

8

28.01

4.62

1.51

14.32

9

24.79

4.42

1.46

13.76

10

28.96

5.3

1.66

15.18

11

25.77

4.87

1.64

14.2

12

23.17

5.8

1.9

17.07

13

28.57

5.22

1.66

15.4

14

23.52

5.18

1.98

15.94

15

21.86

4.86

1.59

14.33

16

28.95

5.18

1.37

15.11

17

24.53

4.88

1.39

13.81

18

27.65

5.02

1.66

15.58

19

27.29

5.55

1.7

15.85

20

29.07

5.26

1.82

15.28

21

32.47

5.18

1.75

16.4

22

29.65

5.08

1.7

15.02

23

22.11

4.9

1.81

15.73

24

22.43

4.65

1.82

14.75

25

20.04

5.08

1.53

14.35

要求:(1)求 y 关于x1x2x3的线性回归方程

..

计算..的估计值

(2)对上述回归模型和回归系数进行检验,显著性水平α0.05

分析:

(1)线性回归可以采用最小二乘法进行拟合,使用linefit(),返回拟合回归系数..

(2)使用F 检验 y 和..之间是否存在线性关系,如通过检验,则继续使用t 检验回归系数的显著性,需要计算的统计量有:F,..t,..

计算公式如下:

..

其中:m 表示分子自由度,n 表示样本数量

回归平方和:..

残差平方和:..

..

其中....中的第(j+1,j+1)个元素

....可使用逆累积函数finv()tinv()计算

SPL 实现计算:

(1)采用最小二乘法,拟合回归方程

..

求解出..的估计值


A

B

C

D

1

[[1,23.73,5.49,1.21],[1,22.34,4.32,1.35],[1,28.84,5.04,1.92],[1,27.67,4.72,1.49],

[1,20.83,5.35,1.56],[1,22.27,4.27,1.5],[1,27.57,5.25,1.85],[1,28.01,4.62,1.51],

[1,24.79,4.42,1.46],[1,28.96,5.3,1.66],[1,25.77,4.87,1.64],[1,23.17,5.8,1.9],

[1,28.57,5.22,1.66],[1,23.52,5.18,1.98],[1,21.86,4.86,1.59],[1,28.95,5.18,1.37],

[1,24.53,4.88,1.39],[1,27.65,5.02,1.66],[1,27.29,5.55,1.7],[1,29.07,5.26,1.82],

[1,32.47,5.18,1.75],[1,29.65,5.08,1.7],[1,22.11,4.9,1.81],[1,22.43,4.65,1.82],

[1,20.04,5.08,1.53]]

3

25

0.05

2

[15.02,12.62,14.86,13.98,15.91,12.47,15.8,14.32,13.76,15.18,14.2,17.07,

15.4,15.94,14.33,15.11,13.81,15.58,15.85,15.28,16.4,15.02,15.73,14.75,14.35]




3

=linefit(A1,A2)




A1 输入矩阵X

B1 输入m 值,本例中 m=3

C1输入n 值,本例中 n=25

D1输入α,本例中α=0.25

A2 输入Y

A3 最小二乘拟合方程组,返回回归系数..的估计值

..

(2)使用F 检验因变量 y 与自变量..之间是否存在线性关系。令原假设为

..。在显著性水平α下,若..,则接受..,否则拒绝


A

B

C

D




4

=mul(A1,A3).conj()




5

=(A2--A4).sum(~*~)




6

=A2.avg()




7

=A4.sum((~-A6)*(~-A6))




8

=(A7/B1)/(A5/(C1-B1-1))




9

=finv((D1/2),B1,(C1-B1-1))




10

=finv((1-D1/2),B1,(C1-B1-1))




11

=if(A8>A9&&A8<A10,"accept H0,model do not pass","refuse H0,model pass")




A4 X 与回归系数相乘,得到预测值

A5 计算残差平方和SSE

A6 ..

A7 计算回归平方和SSR

A8 计算统计量F,F=37.753

..

A9使用F 逆累积分布函数 finv()计算上1-α/2分位数

..

A10 使用F 逆累积分布函数 finv()计算上α/2分位数

..

A11 比较F..,返回检验结果

..

(3)H0被拒绝时,..不全为0,但不排除其中若干个等于 0,所以应进一步做 m+1t 检验:

..

对于给定的α,若..,则接受,否则拒绝..


A

B

C

D




12

=inverse(mul(transpose(A1),A1))




13

=A3.conj().(~/sqrt(A12(#)(#))/sqrt(A5/(C1-B1-1)))




14

=tinv((1-D1/2),(C1-B1-1))




15

=A13.(if(abs(~)<A14,"accept c"/(#-1)/"=0","refuse c"/(#-1)/"=0"))




A12 计算..

A13 计算..,从上到下依次为..

..

A14 使用t逆累积分布函数tinv()计算t 分布的上α/2分位数

A15比较....,返回检验结果

..

由结果可知变量x1对模型的影响是不显著的,建立线性模型时可以不使用x1