如果对简单线性回归模型进行假设检验,非线性回归模型实验报告
模型的显著性检验
是指构成因变量
的线性组合
是否有效,即整个模型中是否至少有一个自变量能够真正影响因变量的波动。该测试用于测量模型的总体效果。回归系数的显著性检验是为了表明单个自变量在模型中是否有效,即自变量对因变量是否具有重要意义
。该测试基于对单个变量的确认。模型的显著性检验和回归系数的显著性检验分别用统计学中的f检验和T检验。接下来介绍f检验和T检验的理论知识和实际操作。
1.模型——F检验的显著性检验在统计学中,关于假设检验的问题有一套成熟的步骤。首先,我们来看看如何使用f检验方法来完成模型的显著性检验。具体测试步骤如下:
(1)问题的原始假设和替代假设。
(2)在原假设下,构造统计量f。
(3)根据样本信息,计算统计值。
(4)将统计值与理论f分布值进行比较。如果计算出的统计值超过理论值,则拒绝原假设;否则,接受原来的假设。
构建的多元线性回归模型将按照上述四个步骤进行f检验,进一步确定模型是否可用。具体操作步骤如下:
步骤一:提出假设
。H0是原始假设模型的所有偏回归系数全部为0,即没有一个自变量可以构成因变量的线性组合;
H1是一个替代假设,与原假设正好相反,即P个自变量中至少有一个能形成因变量的线性组合。
就f检验而言,研究者往往倾向于通过数据推翻原假设H0,而接受替代假设H1的结论。
步骤二:构造统计量
为了让读者了解F统计量的构造过程,可以先看下图,然后掌握总偏差平方和、回归偏差平方和、误差平方和的概念和区别。
如上式所示,在公式中:
ESS
称为误差平方和
,衡量因变量的实际值与预测值的偏差平方和,会随着模型的变化而变化(因为模型的变化会导致预测值
的变化);RSS
是回归离差平方和
,衡量因变量的预测值与实际均值的偏差平方和,也会随着模型的变化而变化;TSS
是总的离差平方和
,衡量的是因变量的值与其均值的偏差平方和,其值不会随着模型的变化而变化,即它是一个固定值。根据统计计算,三个离差平方和有这样一个相等的关系:
TSS=ESS+RSS
。因为
TSS
的值不会随着型号的变化而变化,所以ESS
和RSS
之间存在严格的负相关关系,即ESS
的减少会导致RSS
的增加。如Python数据分析与挖掘——线性回归预测模型中所述,线性回归模型的参数求解是基于误差平方和最小
的理论。如果线性回归模型得到的ESS
的值达到最小值,则RSS
对应的值达到最大值,RSS
和ESS
的商也达到最大值。按照这个逻辑可以构造F统计量,可以表示为回归离差平方和
RSS
和误差平方和ESS
的公式:其中
p
和n-p-1
分别是RSS
和ESS
的自由度。模型拟合得越好,ESS
就越小,RSS
就越大,F统计量就越大。步骤三:计算统计量
根据下面F统计量的公式,用Python计算这个统计量的值。详细的计算过程见下面的代码:
import numpy as NP import pandas as PD from sk learn import model _ selection import stats models . API as sm Profit=PD . read _ excel(r predict to Profit . xlsx )train,test=model _ selection . train _ test _ split(Profit,test_size=0.2,random _ State=1234)model=sm . formula . ols( Profit ~ RD _ Spend Administration Marketing _ Spend C(State),Data=train)。fit()#计算建模数据中因变量的平均值ybar=train。Profit.mean()#统计变量个数和观测值个数P=model . df _ modeln=train . shape[0]#计算回归偏差的平方和RSS=np.sum ((model。拟合值-ybar) * * 2) #计算误差的平方和ESS=np.sum(model.resid ** 2)#计算F统计值F=(RSS/p)/(ess/(n-p-1))打印
F统计量的值:174.6372171663537为了验证手工计算结果是否正确,可以通过fvalue“方法”直接得到模型的F统计量值,如下图结果所示。对比后发现,手工计算结果与模型的F统计值完全一致:
从sklearn导入熊猫作为pd导入model _ selection import stats models . API作为sm Profit=PD . read _ excel(r predict to Profit . xlsx )train,test=model _ selection . train _ test _ split(Profit,test_size=0.2,Random _ state=1234)model=sm . formula . ols( Profit ~ rd _ spent administration marketing _ spent c(state),data=train)。fit()打印(model.fvalue)结果:
174.63721715703537
步骤四:对比结果下结论
最后一步是比较
F统计量的值
和理论F分布的值
。如果读者手中有F分布表,可以根据置信度(0.05)和自由度(5,34)查对应的分布值。为简单起见,这里我们直接调用Python函数来计算理论分布值:从sklearn导入熊猫为pd导入model _ selection import stats models . API为smfrom scipy.stats导入fProfit=PD . read _ excel(r predict to Profit . x lsx )train,test=model _ selection . train _ test _ split(Profit,test_size=0.2,random _ State=1234)model=sm . formula . ols( Profit ~ RD _ Spend Administration Marketing _ Spend C(State),Data=train)。fit()#计算建模数据中因变量的平均值ybar=train。Profit.mean()#统计变量个数和观测值个数P=model . df _ modeln=train . shape[0]#计算F分布的理论值F _ theory=F . PPF(q=0.95,DFN
f分布的理论值为:2.502635007415366。如以上结果所示,在原假设的前提下,F的计算统计值174.64远大于F分布的理论值2.50。因此,应拒绝原假设,即多元线性回归模型显著,即回归模型的偏回归系数不全为0。
回归系数显著性检验——t检验
模型通过了显著性检验,只能说明关于因变量的线性组合是合理的,但并不能说明每个自变量对因变量都具有显著意义,所以还需要对模型的回归系数做显著性检验
。关于系数的显著性检验,需要用t检验法
来构造t统计量。接下来,按照模型显著性检验的四个步骤,进行偏回归系数的显著性检验。步骤一:提出假设
如前所述,
t检验
的出发点是验证每个自变量是否能成为影响因变量的重要因素。t检验的原假设是假定第 j 变量的偏回归系数为0
,即认为该变量不是因变量的影响因素;替代假设是相反假设,认为j变量是影响因变量的重要因素。步骤二:构造统计量
步骤三:计算统计量
如果读者对T统计量的计算感兴趣,可以用上面的公式来完成统计量的计算,这里就不做手工计算了。为方便起见,
直接调用summary
“方法”可用于输出线性回归模型的指标值:从sklearn导入熊猫作为pd导入model _ selection import stats models . API作为sm Profit=PD . read _ excel(r predict to Profit . xlsx )train,test=model _ selection . train _ test _ split(Profit,test_size=0.2,Random _ state=1234)model=sm . formula . ols( Profit ~ rd _ spent administration marketing _ spent c(state),data=train)。fit () #关于模型打印(model.summary())结果的概述信息:
OLS回归结果========================================================Dep。变量:利润R平方:0.964模型:OLS DJ。r-平方:0.958方法:最小二乘F-统计量:174.6日期:2021年2月28日孙概率(F-统计量):9.74 e-23时间:12:27:30对数似然:-401.20否观测值:39 AIC: 814.4Df残差:33 BIC: 824.4Df模型:5协方差类型:非稳健================================================1.56e 06号=========================================================================备注:[1]标准误差假设误差的协方差矩阵指定正确。[2]条件数很大,为1.56E06。这可能表明存在很强的多线圈线性或其他数值问题。如以上结果所示,模型的概览信息包含三个部分:
第一部分
主要是关于模型的信息,比如模型的决定系数是R2
,用来衡量自变量对因变量的解释程度,模型的统计值是F
,模型的显著性检验,模型的信息准则是AIC
或BIC
,拟合效果第二部分
主要包含偏回归系数的信息,如回归系数的估计值Coef
,统计值t
,回归系数的置信区间等。第三部分
主要涉及模型误差项的信息,如用于检验误差项独立性的naughty Aries统计量Durbin-Watson
,用于衡量误差项是否服从正态分布的统计量JB
,误差项的偏度Skew
和峰度Kurtosis
的计算值。
步骤四:对比结果下结论
第二部分,每个偏回归系数的统计值为0.10-5.9万,由估计值0.10-5.9万与标准差0.10-5.9万的商计算得出。同时,