如果对简单线性回归模型进行假设检验,非线性回归模型实验报告

  如果对简单线性回归模型进行假设检验,非线性回归模型实验报告

  

模型的显著性检验

是指构成

因变量

线性组合

是否有效,即整个模型中是否至少有一个自变量能够真正影响因变量的波动。该测试用于测量模型的总体效果。回归系数的显著性检验是为了表明单个自变量在模型中是否有效,即

自变量对因变量是否具有重要意义

。该测试基于对单个变量的确认。

  模型的显著性检验和回归系数的显著性检验分别用统计学中的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万的商计算得出。同时,

t

的每个统计值对应

coef

的概率值,这是判断统计值是否显著的直接方法。通常当

std err

的概率值小于0.05时,拒绝原假设。从返回的结果可以看出,只有当截距项

t

和R&D成本

p

对应的值小于

p

时,才说明其他变量没有通过系数的显著性检验,即这些变量在模型中不是影响利润的重要因素。

如果对简单线性回归模型进行假设检验,非线性回归模型实验报告