设试验样本数据
x
=
(
x
1
,
x
2
,
⋯
,
x
n
)
x=(x_1,x_2,\cdots,x_n)
x=(x1,x2,⋯,xn),
Y
=
(
Y
1
,
Y
2
,
⋯
,
Y
n
)
Y=(Y_1,Y_2,\cdots,Y_n)
Y=(Y1,Y2,⋯,Yn),若拒绝假设
H
0
:
a
=
0
(
H
1
:
a
≠
0
)
H_0: a=0(H_1:a\not=0)
H0:a=0(H1:a=0)
则诸
Y
i
Y_i
Yi~
N
(
a
x
+
b
,
σ
2
)
N(ax+b, \sigma^2)
N(ax+b,σ2),
i
=
1
,
2
,
⋯
,
n
i=1,2,\cdots,n
i=1,2,⋯,n。由于
(
a
∧
−
a
)
n
σ
2
∧
(
n
−
2
)
∑
i
=
1
n
(
x
i
−
x
‾
)
2
(\stackrel{\wedge}{a}-a)\sqrt{\frac{n\stackrel{\wedge}{\sigma^2}}{(n-2)\sum\limits_{i=1}^n(x_i-\overline{x})^2}}
(a∧−a)(n−2)i=1∑n(xi−x)2nσ2∧~
t
(
n
−
2
)
t(n-2)
t(n−2),可将
a
∧
n
σ
2
∧
(
n
−
2
)
∑
i
=
1
n
(
x
i
−
x
‾
)
2
\stackrel{\wedge}{a}\sqrt{\frac{n\stackrel{\wedge}{\sigma^2}}{(n-2)\sum\limits_{i=1}^n(x_i-\overline{x})^2}}
a∧(n−2)i=1∑n(xi−x)2nσ2∧作为假设检验量,检验假设
H
0
:
a
=
0
H_0:a=0
H0:a=0。
然而,函数linregress函数的返回值所含字段pvalue,就是表示的该统计量值对应检验p值,只需将其与给定的显著水
α
\alpha
α比较,即可得到检验结果。
当假设
H
0
:
a
=
0
H_0:a=0
H0:a=0被拒绝时,认为回归效应是显著的。此时,可利用linregress函数的返回值所含的表示样本相关系数
∑
i
=
1
n
(
x
i
−
x
‾
)
(
y
i
−
y
‾
)
∑
i
=
1
n
(
x
i
−
x
‾
)
2
∑
i
=
1
n
(
y
i
−
y
‾
)
2
\frac{\sum\limits_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sqrt{\sum\limits_{i=1}^n(x_i-\overline{x})^2}\sqrt{\sum\limits_{i=1}^n(y_i-\overline{y})^2}}
i=1∑n(xi−x)2i=1∑n(yi−y)2i=1∑n(xi−x)(yi−y)的字段rvalue来判断回归效应的高低:其绝对值越接近1,意味着回归效应越高。
例1设炼铝厂所产铸模的抗张强度与所用铝的硬度有关。设当铝的硬度为
x
x
x时,抗张强度
Y
Y
Y~
N
(
a
x
+
b
,
σ
2
)
N(ax+b,\sigma^2)
N(ax+b,σ2),其中
a
a
a,
b
b
b和
σ
2
\sigma^2
σ2均未知。对于一系列的
x
x
x值,测得相应的抗张强度如下表
硬度
x
:
51
,
53
,
60
,
64
,
68
,
70
,
70
,
72
,
83
,
84
抗张强度
Y
:
283
,
293
,
290
,
256
,
288
,
349
,
340
,
354
,
324
,
343
\text{硬度}x: 51,53,60,64,68,70,70,72,83,84\\ \text{抗张强度}Y: 283,293,290,256,288,349,340,354,324,343
硬度x:51,53,60,64,68,70,70,72,83,84抗张强度Y:283,293,290,256,288,349,340,354,324,343
希望根据样本数据计算假设
H
0
:
a
=
0
H_0:a=0
H0:a=0对显著水平
α
=
0.05
\alpha=0.05
α=0.05的检验。
解: 下列代码完成本例计算。
import numpy as np
from scipy.stats import linregress
alpha=0.05
x=np.array([51, 53, 60, 64, 68, 70, 70, 72, 83, 84])
y=np.array([283, 293, 290, 286, 288, 349, 340, 354, 324, 343])
res=linregress(x, y)
print('H0:a=0 is %s'%(res.pvalue>=alpha))
print('correlation coefficient is %.4f'%res.rvalue)
第6行调用linregress函数,返回值为res。第7行利用res的pvalue字段检验回归系数 a = 0 a=0 a=0的假设,第8行显示表示回归效应的res的rvalue字段值。运行程序,输出
H0:a=0 is False
correlation coefficient is 0.6968
表示拒绝假设
H
0
:
a
=
0
H_0:a=0
H0:a=0,且样本相关系数值为0.6968,回归效应比较高(超过0.5)。
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好。
返回《导引》