线性回归或者逻辑回归中常提到的AIC和BIC是什么意思?

  统计/机器学习 回归分析 数据降维 特征选择    浏览次数:30314        分享
5

线性回归或者逻辑回归中常提到的AIC和BIC是什么意思?好像和回归模型的变量选择有关。那它们又有什么区别呢?

 

高代兄   2017-02-22 11:46



   1个回答 
21

AIC和BIC都是用于同时衡量模型拟合度和复杂度的统计量。换句话说,我们希望利用AIC或者BIC选择出来的模型既有不错的拟合度又不至于太复杂(太多自变量)。

对于一个回归模型,如果优化目标只是最大化log-likelihood函数,即不限制变量系数或变量数量,当然是模型越大(变量越多)模型越精确。考虑到模型计算以及过度拟合,我们又倾向于一个简单的模型。所以我们需要寻找一个相对最优化的模型,来平衡模型大小与模型拟合准确度的关系。选择模型的评估标量有很多,AIC和BIC就是其中的两个。它们的相似处在于都是通过限制模型变量的数量来控制模型的大小,而不同的是惩罚变量数量的函数不同。

具体统计上来说,

$$\text{AIC}=2p - 2\log L(\hat{\theta}) $$

其中$\theta$是模型参数,p是模型参数的数量。从模型选择上说,我们要选择AIC最小的那个模型。

$$\text{BIC}=p\log(n)-2\log L(\hat{\theta}) $$

其中n是样本数量。类似地,我们优先选择BIC最小的模型。

我们可以注意到,当$1/2\times \log(n) > 1$, 也就是,样本数量大于$e^2 = 7.39$时, BIC的复杂度惩罚函数比AIC的惩罚函数大。换句话说,BIC相对于AIC 会选择一个更小的模型。

以上是通过统计角度来简单解释 AIC和BIC。在信息论角度,我们也可以用最小描述长度原则来解释这两个评估值

p.s. BIC的概念来源于贝叶斯,有知道的童鞋可以解释一下为什么吗?


SofaSofa数据科学社区DS面试题库 DS面经

Sophia   2017-03-11 07:15



  相关讨论

t-SNE如何实现降维?

LDA线性判别分析进行信号分类时如何对训练数据和测试数据降维?

怎么利用卡方分布来进行特征选择?

向前逐步选择法和向后逐步选择法的结果是一样的吗?

做多元线性回归的时候,怎么快速排除掉没有用的特征?

急,求兄弟帮手调试 随机森林的 R 程序

AIC可以是负数吗?

为什么LDA降维最多降到类别数k-1?

反复多次Lasso进行特征选择?

python里怎么实现t-SNE降维?

  随便看看

numpy array里怎么用fillna填充nan的值?

多重检验中的FDR(false discovery rate, 错误发现率)是什么?

为什么自然常数e等于阶乘的倒数的和?

把pandas.DataFrame中所有行全部随机排列

numpy.full这个函数有什么用?