经常地,对一堆数据进行建模的时候,特别是分类和回归模型,我们有很多的变量可供使用,选择不同的变量组合可以得到不同的模型,例如我们有5个变量,2的5次方,我们将有32个变量组合,可以训练出32个模型。但是哪个模型更加的好呢?目前常用有如下方法:
AIC=-2 ln(L) + 2 k 中文名字:赤池信息量 akaike information criterion
BIC=-2 ln(L) + ln(n)*k 中文名字:贝叶斯信息量 bayesian information criterion
HQ=-2 ln(L) + ln(ln(n))*k hannan-quinn criterion
L是在该模型下的最大似然,n是数据数量,k是模型的变量个数
三个模型A, B, C,在通过这些规则计算后,我们知道B模型是三个模型中最好的,但是不能保证B这个模型就能够很好地刻画数据,因为很有可能这三个模型都是非常糟糕的,B只是烂苹果中的相对好的苹果而已。
这些规则理论上是比较漂亮的,但是实际在模型选择中应用起来还是有些困难的,我们不可能对所有这些模型进行一一验证AIC, BIC,HQ规则来选择模型,工作量太大。
AIC
赤池信息量准则,即Akaike information criterion、简称AIC,是衡量统计模型拟合优良性的一种标准,是由日本统计学家赤池弘次创立和发展的。赤池信息量准则建立在熵的概念基础上。AIC越小,模型越好,通常选择AIC最小的模型
在一般的情况下,AIC可以表示为【2】:

AIC=(2k-2L)/n
它的假设条件是模型的误差服从独立正态分布。
其中:k是所拟合模型中参数的数量,L是对数似然值,n是观测值数目。k小意味着模型简洁,L大意味着模型精确。因此在评价模型是兼顾了简洁性和精确性。
具体到,L=-(n/2)*ln(2*pi)-(n/2)*ln(sse/n)-n/2.其中n为样本量,sse为残差平方和,L主要取决于残差平方和,为负数
(所以还可以写成:AIC = (2k + 2|L|)/n

解释【1】:
在AIC之前,我们需要知道Kullback–Leibler information或 Kullback–Leiblerdistance。对于一批数据,假设存在一个真实的模型f,还有一组可供选择的模型g1、g2、g3…gi,而K-L 距离就是用模型 gi 去估计真实模型 f 过程中损失的信息。可见K-L 距离越小,用模型 gi 估计真实模型 f 损失的信息越少,相应的模型 gi 越好。
然后,问题来了。怎么计算每个模型 gi 和真实模型 f 的距离呢?因为我们不知道真实模型 f,所以没办法直接计算每个模型的K-L距离,但可以通过信息损失函数去估计K-L距离。日本统计学家Akaike发现log似然函数和K-L距离有一定关系,并在1974年提出Akaike information criterion,AIC。通常情况下,AIC定义为:AIC=2k-2ln(L),其中k是模型参数个数,L是似然函数。
-2ln(L)反映模型的拟合情况,当两个模型之间存在较大差异时,差异主要体现在似然函数项-2ln(L),当似然函数差异不显著时,模型参数的惩罚项2k则起作用,随着模型中参数个数增加,2k增大,AIC增大,从而参数个数少的模型是较好的选择。AIC不仅要提高模型拟合度,而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。然后,选一个AIC最小的模型就可以了。

BIC
BIC=-2 ln(L) + ln(n)*k
BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。
AIC和BIC的原理是不同的,AIC是从预测角度,选择一个好的模型用来预测,BIC是从拟合角度,选择一个对现有数据拟合最好的模型,从贝叶斯因子的解释来讲,就是边际似然最大的那个模型
作者:龙鹰图腾223
链接:https://www.jianshu.com/p/4c8cf5df2092
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

另外解释说明

首先看几个问题

1、实现参数的稀疏有什么好处?

一个好处是可以简化模型、避免过拟合。因为一个模型中真正重要的参数可能并不多,如果考虑所有的参数作用,会引发过拟合。并且参数少了模型的解释能力会变强。

2、参数值越小代表模型越简单吗?

是。越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点,这就容易造成在较小的区间里预测值产生较大的波动,这种较大的波动也反应了在这个区间的导数很大,而只有较大的参数值才能产生较大的导数。因此复杂的模型,其参数值会比较大。

一、AIC

1、简介

AIC信息准则即Akaike information criterion,是衡量统计模型拟合优良性(Goodness of fit)的一种标准,由于它为日本统计学家赤池弘次创立和发展的,因此又称赤池信息量准则。它建立在熵的概念基础上,可以权衡所估计模型的复杂度和此模型拟合数据的优良性。

2、表达式

  • k为参数数量
  • L是似然函数

增加自由参数的数目提高了拟合的优良性,AIC鼓励数据拟合的优良性但是尽量避免出现过拟合的情况。所以优先考虑的模型应是AIC值最小的那一个,假设在n个模型中作出选择,可一次算出n个模型的AIC值,并找出最小AIC值对应的模型作为选择对象。

一般而言,当模型复杂度提高(k)增大时,似然函数L也会增大,从而使AIC变小,但是k过大时,似然函数增速减缓,导致AIC增大,模型过于复杂容易造成过拟合现象。

二、BIC

1、简介

BIC= Bayesian Information Criterions,贝叶斯信息准则。

2、表达式

BIC=ln(n)k-2ln(L)

  • L是似然函数
  • n是样本大小
  • K是参数数量

三、总结

1、共性

构造这些统计量所遵循的统计思想是一致的,就是在考虑拟合残差的同事,依自变量个数施加“惩罚”。

2、不同点

  • BIC的惩罚项比AIC大,考虑了样本个数,样本数量多,可以防止模型精度过高造成的模型复杂度过高。
  • AIC和BIC前半部分是一样的,BIC考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。

aic值检验 p值_模型选择方法:AIC和BIC相关推荐

  1. 一文帮你理解模型选择方法:AIC、BIC和交叉验证!

    一文帮你理解[模型选择方法]:AIC.BIC 和交叉验证! 本文先讲透模型选择的基本思想,再逐一叙述几种比较典型和常用的模型选择方法,希望可以帮助你理解. 一.模型选择的基本思想 模型选择的核心思想就 ...

  2. Java机器学习库ML之十模型选择准则AIC和BIC

    学习任务所建立的模型多数是参数估计并采用似然函数作为目标函数,当训练数据足够多时,可以不断提高模型精度,但是以提高模型复杂度为代价的,同时也带来一个机器学习中非常普遍的问题--过拟合.模型选择问题是在 ...

  3. python模型部署方法_终极开箱即用的自动化Python模型选择方法

    python模型部署方法 Choosing the best model is a key step after feature selection in any data science proje ...

  4. 文献记录(part60)--高维模型选择方法综述

    学习笔记,仅供参考,有错必纠 关键词:高维数据;模型选择;惩罚因子;降维;调整参数 文章目录 高维模型选择方法综述 摘要 引言 惩罚因子模型选择法 LASSO方法及其推广 LASSO方法 两步法LAS ...

  5. 豪斯曼检验matlab,豪斯曼检验、空间面板模型选择等问题

    各位大神,本人空间计量小白,最近看了姜磊老师的书,自己也进行了实证分析.有一些问题不太懂: 1.空间面板数据模型分为混合空间面板数据模型.空间固定效应空间面板数据模型.时间固定效应空间面板模型.空间和 ...

  6. 模型选择方法:Holdout检验交叉验证与正则化

    Holdout 直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另外一个作为测试集T,即D=S∪T,S∩T=0.在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的评估 缺点:不适 ...

  7. python程序题求roc-auc是一种常用的模型评价指标_模型评价方法

    第五章 模型评价方法 5.1 模型的评价方法介绍 5.1.1~5 accuracy,precision,recall,F1-score,ROC曲线 分别画图举例,要说出应用场景,例如什么情况用什么评价 ...

  8. aic值检验 p值_23. 假设检验的时候为什么常写p lt; 0.05,而不写具体的p值?

    在进行假设检验的时候,如果p值小于设定的临界值,比如0.05或0.01.0.001等,人们常常会写p<0.05.p<0.01.p<0.001, 而没有写具体的p值.这种传统是曾经的技 ...

  9. 软件开发生命周期模型选择方法指南

    概述 本文介绍如何利用项目的特性指标来选择生命周期模型. 文档定义了11个项目的特性指标,在下面的描述中对每一个特性指标都有相关的描述来说明该指标的含义以及它对选择模型的影响和作用. 在2.1节中描述 ...

最新文章

  1. c语言实现memcpy
  2. [剑指offer] 两个链表的第一个公共结点
  3. head.s 剖析——Linux-0.11 剖析笔记(五)
  4. 对现代软件工程开发看法
  5. windows Perl环境安装与Hello World
  6. OpenVSLAM:日本先进工业科技研究所新开源视觉SLAM框架
  7. MD5加密 java实现
  8. android 距离测量工具,尺子距离测量app
  9. dimens文件生成器
  10. 用java编写国际象棋
  11. Stealing Harry Potter‘s Precious BFS+DFS
  12. [SSL_CHX][2021-08-20]幸运数字们
  13. 最新的 iPad开发项目 - Fotoboard for iPad
  14. 适合编程初学者的 入门级硬件: micro:bit
  15. std::accumulate的用法
  16. 04 高性能网络设计专栏-网络编程
  17. Python开发常见bug
  18. STC89C52RC控制WS2812B LED 调色调光(一)
  19. 服务器名称没有显示,远程服务器名称问题没有解决
  20. SAP BW: 小生长谈Delta - 2 (Update Mode)

热门文章

  1. 刷程序对车危害_汽车刷程序对车有什么影响
  2. win10虚拟机搭建 Hadoop集群
  3. Java【汉诺塔问题】详细图文解析, 包教包会
  4. openlayer地图裁切
  5. 新的一年,如何打开超级APP发展格局
  6. DellR240服务器U盘引导,【dell uefi u盘引导】dellr730配置uefi引导_dell uefi启动
  7. Hadoop常用命令介绍
  8. 【华人学者风采】胡事民 清华大学
  9. 编写可变参数函数 c语言,C语言可变参数函数的编写
  10. 萨姆·阿尔特曼:如何获得成功(How To Be Successful)译文