线性回归想必大家都比较熟悉了, 其回归方程是 y^i=β^0+β^1xi
残差是: ei=yi−y^i=yi−β^0−β^1xi.
残差有以下性质:
回归与相关性有较大的关系,设相关系数为 r , sy,sx 分别为y和x的观测值,他满足下式:
绘制残差图能够清晰地看到那一段拟合的比较好,也能够看到异常点
上图中可以看出 在开始小于20 大于35的地方拟合的不好
异常的检测方法很多,有监督,半监督,无监督等方法,有机会可以好好看下,本书中没有详细介绍。
评价线性拟合的拟合情况可以用决定系数 R2 来评价
但是:
并不是总是越大越好,如上面的图,在某一段会有拟合不充分的地方
简单的线性回归中 R2 等于相关系数的平方。
判定系数只是说明列入模型的所有解释变量对因变量的联合的影响程度,不说明模型中单个解释变量的影响程度。
对时间序列数据,判定系数达到0.9以上是很平常的;但是,对截面数据而言,能够有0.5就不错了。
还有一种方法叫做残差标准差,也叫Standard error of the regression回归标准差
注意预测不单单是一个值,应该是一个区间,即数值+置信区间的波动范围
可以使用假设检验来识别判断拟合的参数的正确性。
这里使用P值来表明在原假设成立时,发生的概率
统计学根据显著性检验方法所得到的P 值,一般以P < 0.05 为显著, P <0.01 为非常显著,其含义是样本间的差异由抽样误差所致的概率小于0.05 或0.01。实际上,P 值不能赋予数据任何重要性,只能说明某事件发生的机率。
若X 服从正态分布和t 分布,其分布曲线是关于纵轴对称的,故其P 值可表示为P = P{| X| > C} 。
计算出P 值后,将给定的显著性水平α与P 值比较,就可作出检验的结论:如果α > P 值,则在显著性水平α下拒绝原假设。如果α ≤ P 值,则在显著性水平α下接受原假设。在实践中,当α = P 值时,也即统计量的值C 刚好等于临界值,为慎重起见,可增加样本容量,重新进行抽样检验。
具体推导公式本书未包含。可以查找其他资料学习。
线性拟合不好的情况可以用非线性拟合,适当的将变量进行数值变化之后可以用线性变化的理论来拟合非线性的问题,如选用log-log模型
logyi=β0+β1logxi+εi.
时间序列可以用前面讲到的判断法,但是往往效果不好,这里介绍了简单的时间序列的回归
yt=β0+β1t+εt.
它以时间t为自变量,当然回归之后还需要计算残差和ACF,如果ACF显示不是白噪声,说明有内在的联系为挖掘,它的预测精度可能不够。
如图,几内亚的大米产量和澳大利亚的乘客数量看起来有相同的趋势,但实际上是没有关系的。如果直接用这样的数据来判断他们的关系久可能会造成伪回归。这常常是因为时间序列不稳定造成的。
他的一般公式如下:
使用方法:
1. 将yes,no等标记为 1,0
2. 将七天标记为1,000000;0100000;0010000等变量注意 变量数要比天数少1,否则会引起‘dummy variable trap’
3. 将异常值标记为一个新的变量
对于趋势的预测可使用线性或者二次,三次,,,等式不建议使用二次或者二次之上的表达式,得到的结果往往不好
推荐使用多个线性表达式相加,或者使用样条曲线
下面是多个线性相加的例子
总的模型是两式之和, x1,t 的系数为 β1 , x2,t 的系数为 β2 ,这样在 τ 之前的斜率为 β1 ,之后为 β1+β2
其他几乎都是dummy 变量,根据世界情况设置特征,如看广告前一个月,二个月。三个月的销量,作为预测广告作用的特征。
开始有两个不推荐的方法就不说了。
推荐的方法:
之前的 R2 如下,越接近于1说明,拟合越好
Cross-validation 交叉验证是一个很好的方法,其方式也有很多,在此不再赘述
其公式如下:
也叫作SBIC, BIC or SC,其计算公式如下:
在看信用分数的时候用了四个特征,判断这个四个特征的选择情况供有2*2*2*2=16中情况,上图是16中情况的值,可以看出全部都选择时效果最好。
样本数量大的时候选择的方法:CV, AIC or AICc
样本数量小的时候CV,AICc
R¯2 会选择太多的特征,不利于拟合
BIC往往会选择太少的特征,不利于拟合
如果特征数量太多,如何选择呢?如果还是比较每一个的重要性,会有太多的选择
这里的方法是:
1. 使用全部特征n个进行拟合
2. 去掉一个,使用n-1个看看效果
3. 重复第2步n-1次
4. 再去掉一个,使用n-2个看效果
5. 重复 直至其指标不在变好
虽然这样不一定得到最好的特征组合,但是往往都不错
还是信用分数的例子
上图可以看出,在saving比较小时会有较大的残差,saving比较大时会倾向于预测一个较大的值以致于得到了负残差,这是需要改进的地方。
画出残差图和残差自相关
可以看出在2004年时有一个残差很大的地方,需要进一步的分析
ACF上可以看出一个地方的值较大,可以进一步改进
其他自相关测试
- Durbin-Watson test,如果没有自相关性其值应为2左右,如果有自相关性相应的P-value应该接近于0
dwtest(fit, alt="two.sided")
# It is recommended that the two-sided test always be used
# to check for negative as well as positive autocorrelation
结果为Durbin-Watson test
DW = 2.5951, p-value = 0.02764
可以看出有一些自相关性
- Breusch-Godfrey test
用来检查高阶差分的自相关性
# Test for autocorrelations up to lag 5.
bgtest(fit,5)
将线性回归的矩阵简单罗列如下:
设特征矩阵
最小二乘法得到的结果
多重共线性是指一个或几个特征有着线性关系,比如上面的dummy variable trap,就是一个
它会带来的后果:
1. 如果线性关系非常确定,将可能无法求解
2. 如果有着较强的线性关系,其回归参数将难以确定,模型不精确
3. 回归参数的不确定性将增大
4. 如果所预测的特征值不在原有特征值的范围之内得到的结果是不准确的