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

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

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

 

高代兄   2017-02-22 11:46



   1个回答 
19

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的概念来源于贝叶斯,有知道的童鞋可以解释一下为什么吗?


Sophia   2017-03-11 07:15



  相关主题

t-SNE如何实现降维?   1回答

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

hashing trick或者feature hashing是什么   1回答

分类变量,进行One hot编码,维度升高,如何处理?   3回答

维数大于样本数的问题   3回答

高维数据应该用什么聚类模型?   3回答

关于朴素贝叶斯特征工程、特征选择的问题   2回答

训练集加入噪声防止over fitting还是加剧overfitting?   3回答

AIC可以是负数吗?   1回答

NLP中的hashing trick是什么?   1回答

对于组合特征怎么理解?   1回答

一个特征有两个可选的值,只需满足其中一个即可,该如何处理?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!