模型为Y=B1+B2X+u
Y—平均小时工资
X—读书年数
import statsmodels.api as smY=[4.4567,5.77,5.9787,7.3317,7.3182,6.5844,7.8182,7.8351,11.0223,10.6738,10.8361,13.615,13.531] X=[6,7,8,9,10,11,12,13,14,15,16,17,18] X1=sm.add_constant(X)#在X前加上一列常数1,方便做带截距项的回归model = sm.OLS(Y,X1) results = model.fit() print(results.params)print(results.summary())
得到回归方程Y=-0.0145+0.7241X
说明读书年数每增加一个单位,平均小时工资增加0.7241个单位,截距项没有实际意义。
输出结果如下:
样本容量n=13
残差平方和RSS的自由度=n-2=11
回归平方和ESS的自由度=1
R^2=0.908 ,表明 X 解释了Y的约90.8%的变异,拟合效果很好
对回归系数的t-检验:H0:Bi=0,H1:Bi≠0 (置信水平α=0.05,统计量t=(bi-Bi)/se(bi))
b1=-0.0145 ,p值=0.978>0.05, 不拒绝原假设,认为B1的值=0,b1的t-检验不显著,回归系数b1未通过t-检验(考虑过原点模型?)。
b2=0.7241 ,p值=0.000表示当自由度为n-2=11时,得到一个t值≥现在的t值(=10.406)的概率是0.000
p值=0.000<0.05, 拒绝原假设,认为B2的值≠0,b2的t-检验显著,回归系数b2通过了t-检验。
对回归模型的F-检验(双变量模型可省略,多元回归必须做):H0:B2=0,H1:B2≠0 (置信水平α=0.05, 统计量F=ESS/(RSS/(n-2))
统计量F值=108.3,对应自由度(1,11)的p值=4.96e-07<0.05,表示如果拒绝原假设H0,犯第一类错误(弃真)的概率是4.96e-07,这个概率很小,所以拒绝原假设,认为模型的B2≠0
对残差的正态性检验(雅克-贝拉检验Jarque-Bera test):H0:残差为正态分布,H1:残差不是正态分布
JB统计量=0.829,对应的p值=0.661>0.05,不能拒绝原假设H0,认为残差服从正态分布。
飞艇稳赚不赔的打法
p值=0.000<0.05, 拒绝原假设,认为B2的值≠0,b2的t-检验显著,回归系数b2通过了t-检验。
对回归模型的F-检验(双变量模型可省略,多元回归必须做):H0:B2=0,H1:B2≠0 (置信水平α=0.05, 统计量F=ESS/(RSS/(n-2))
统计量F值=108.3,对应自由度(1,11)的p值=4.96e-07<0.05,表示如果拒绝原假设H0,犯第一类错误(弃真)的概率是4.96e-07,这个概率很小,所以拒绝原假设,认为模型的B2≠0
对残差的正态性检验(雅克-贝拉检验Jarque-Bera test):H0:残差为正态分布,H1:残差不是正态分布
JB统计量=0.829,对应的p值=0.661>0.05,不能拒绝原假设H0,认为残差服从正态分布。