在回归模型中,需要判断模型是否很好地拟合实际数据,一般来讲会有以下方法:( J! h0 b2 d& X i4 k1 M
: u1 X5 p% N2 X! C2 p7 GR平方:表示Y变量中的方差有百分之多少是可以预测的,R平方越高,Y中的方差就预测得越准确,模型的拟合程度也就越高。 4 L+ [+ e/ a( T4 T 9 A% x( n, q4 G2 A2 a举个例子,R平方=10%,表示Y中有10%的方差是可以通过X预测出来的。1 i' ^5 ] K; {' s4 |( W
' F4 y- F! z6 i. H
F检验(F - test):主要用以判断两个总体(Population)的平均值是否存在显著差异(Significantly different),因此我们可以判断预测值跟实际值两组“总体”数据的平均值是否存在显著差异,如果存在,则可以认为回归模型拟合得不够好。如果F - value大于F值的统计量,我们认为拒绝原假设(两组数据不相关),则x和y(预测值和实际值)是线性(或者非线性)相关的,反正就是两组数有关。 F$ a! Z4 T4 N
, x9 q( P7 r4 X* _6 V9 ^T检验(T - test):T检验相对F检验来说,更关注回归方程中每个变量的显著程度,可以说F检验是评价模型整体的拟合程度,而T检验是评价回归方程中每个特征x变量的系数的显著程度。在这里,系数是跟0比较的,如果T - value大于T值的统计量,我们认为该特征的系数显著大于0,因此不可以忽略,需要考虑该特征,回归方程中也要保留该特征,如果小于T值统计量,则接收原假设,认为该特征系数跟0没有显著区别,我们可以忽略该特征。+ D; G$ D, V) t6 S: P |7 L
: i* w1 I5 d# w# l( k1 m
AIC(Akaike Information Criterion):AIC是一种信息准则,它提供的是一个参考标准,也就是说,仅仅通过一个AIC值我们并不能得出回归模型的拟合程度,它更多的是通过多个AIC值对比不同回归模型。AIC的公式如下: , g$ R7 I/ {. O0 R6 |5 d
3 Y) u) J' U9 L) t+ S! u" `# A其中L是似然函数,K是参数数量,而如果总体数据(Population)的误差服从独立正态分布的时候,AIC公式变成: - a' d' i$ s3 Z' F$ `1 Z k. ]: O* l' l7 N
其中N是数据的数量(观察数),K是参数数量,SSE(Sum of Squared Error)是误差的平方和。( Y" | u6 E! E: J0 M6 p
, {9 S" _2 @8 j# |3 `$ L# t) dAIC综合考虑了模型的拟合程度以及复杂程度,参考上述正态的公式,当SSE越大的时候,也就是拟合越不好,AIC值也会随着增大;同理,如果参数数量增多,也就是模型复杂度越大,AIC也会增大。单个AIC值参考的意义不大,但如果有两个或者多个AIC值在一起的时候,我们比较两者的AIC值,越小越好。因为考虑了模型复杂度,因此AIC减少了过拟合的可能性。 + r) S+ r! k3 A" k5 }) ?. s$ X! T1 t3 _
BIC(Bayesian Information Criterion):BIC跟AIC类似,同样提供拟合模型的信息准则,相对AIC,其对模型复杂度的惩罚更大,它的公式如下:9 `. \3 k$ ?3 b i( f
3 q) ?- P* L, V3 A$ ^- F
其中L是似然函数,K是参数数量,当误差服从正态分布时候,BIC公式变成: X: w) [5 x( l+ o E! S& l8 p : P( X: U$ ?2 ?; [2 v' _: { K可以看出,当训练样本较小的时候,而模型过于复杂的时候(参数K过多),惩罚较大,BIC会增大,可以避免维度过多的情况。 9 D, Q) L8 w6 c* U4 ~8 l ; z5 D( K7 B( p9 O 7 |$ q) E* V) q8 D) G