python勒让德函数 del函数python( 二 )


这一线性模型可以用二维平面上的一条直线来表示,被称为回归线 。
模型的拟合程度越高 , 也即意味着样本点围绕回归线越紧密 。
如何计算样本点与回归线之间的紧密程度呢?
高斯和勒让德找到的方法是:被选择的参数,应该使算出来的回归线与观测值之差的平房和最小 。用函数表示为:
这被称为最小二乘法 。最小二乘法的原理是这样的:当预测值和实际值距离的平方和最小时,就选定模型中的两个参数(a 和 b) 。这一模型并不一定反映解释变量和反应变量真实的关系 。但它的计算成本低;相比复杂模型更容易解释 。
模型估计出来后 , 我们要回答的问题是:
我们的模型拟合程度如何?或者说,这个模型对因变量的解释力如何?(R2)
整个模型是否能显著预测因变量的变化?(F 检验)
每个自变量是否能显著预测因变量的变化?(t 检验)
首先回答第一个问题 。为了评估模型的拟合程度如何,我们必须有一个可以比较的基线模型 。
如果让你预测一个人的体重是多少?在没有任何额外信息的情况下,你可能会用平均值来预测,尽管会存在一定误差,但总比瞎猜好 。
现在,如果你知道他的身高信息 , 你的预测值肯定与平均值不一样 。额外信息相比平均值更能准确地预测被预测的变量的能力 , 就代表模型的解释力大小 。
上图中 , SSA 代表由自变量 x 引起的 y 的离差平方和,即回归平方和,代表回归模型的解释力;SSE 代表由随机因素引起的 y 的离差平方和,即剩余平方和,代表回归模型未能解释的部分;SST 为总的离差平方和,即我们仅凭 y 的平均值去估计 y 时所产生的误差 。
用模型能够解释的变异除以总的变异就是模型的拟合程度:
R2=SSA/SST=1-SSE
R2(R 的平方)也被称为决定系数或判定系数 。
第二个问题 , 我们的模型是否显著预测了 y 的变化?
假设 y 与 x 的线性关系不明显,那么 SSA 相对 SSE 占有较大的比例的概率则越小 。换句话说,在 y 与 x 无线性关系的前提下,SSA 相对 SSE 的占比越高的概率是越小的 , 这会呈现一定的概率分布 。统计学家告诉我们它满足 F 分布,就像这样:
如果 SSA 相对 SSE 占比较大的情况出现了,比如根据 F 分布 , 这个值出现的概率小于 5% 。那么,我们最好是拒绝 y 与 x 线性关系不显著的原始假设,认为二者存在显著的线性关系较为合适 。
第三个问题 , 每个自变量是否能显著预测因变量的变化?换句话说,回归系数是否显著?
回归系数的显著性检验是围绕回归系数的抽样分布(t 分布)来进行的,推断过程类似于整个模型的检验过程 , 不赘言 。
实际上,对于只有一个自变量的一元线性模型,模型的显著性检验和回归系数的检验是一致的,但对于多元线性模型来说,二者就不能等价了 。
利用 statsmodels 进行最小二乘回归
#导入相应模块
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: import statsmodels.api as sm
#将数据导入 pandas 的 dataframe 对象,第一列(年份)作为行标签
In [4]: df=pd.read_csv('/Users/xiangzhendong/Downloads/vincentarelbundock-Rdatasets-1218370/csv/datasets/longley.csv', index_col=0)
#查看头部数据
In [5]: df.head()
Out[5]:
GNP.deflatorGNPUnemployedArmed.ForcesPopulationYear\
194783.0234.289235.6159.0107.6081947
194888.5259.426232.5145.6108.6321948
194988.2258.054368.2161.6109.7731949
195089.5284.599335.1165.0110.9291950

推荐阅读