[经验分享] 【统计小百科】你知道AIC准则么?[通俗易懂]

[经验分享] 【统计小百科】你知道AIC准则么?[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

大家好,又见面了,我是你们的朋友全栈君。

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

       在一般的情况下,AIC可以表示为: AIC=2k-2ln(L),其中:k是参数的数量,L是似然函数。 假设条件是模型的误差服从独立正态分布。 让n为观察数,RSS为剩余平方和,那么AIC变为: AIC=2k+nln(RSS/n)。

       增加自由参数的数目提高了拟合的优良性,AIC鼓励数据拟合的优良性但是尽量避免出现过度拟合(Overfitting)的情况。所以优先考虑的模型应是AIC值最小的那一个。赤池信息准则的方法是寻找可以最好地解释数据但包含最少自由参数的模型。

       经常地,对一堆数据进行建模的时候,特别是分类和回归模型,我们有很多的变量可供使用,选择不同的变量组合可以得到不同的模型,例如我们有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

       构造这些统计量所遵循的统计思想是一致的,就是在考虑拟合残差的同时,依自变量个数施加“惩罚”。但,倘若因此就说它们是同一个指标,恐怕还是有些不妥,毕竟“惩罚”的力度还是不尽相同的。此外,这些信息量的用途不仅限于选择模型,还能用于选取合适的变换等等。而在那些时候,这些信息量又是另一个模样,也就是说它们有许多变体。因此,它们也被称为AIC准则、BIC准则等等。它们中的每一个体现的都是一系列的标准,而非单独的一个简单式子。

       注意这些规则只是刻画了用某个模型之后相对“真实模型”的信息损失(因为不知道真正的模型是什么样子,所以训练得到的所有模型都只是真实模型的一个近似模型),所以用这些规则不能说明某个模型的精确度,即三个模型A, B, C,在通过这些规则计算后,我们知道B模型是三个模型中最好的,但是不能保证B这个模型就能够很好地刻画数据,因为很有可能这三个模型都是非常糟糕的,B只是烂苹果中的相对好的苹果而已。

       这些规则理论上是比较漂亮的,但是实际在模型选择中应用起来还是有些困难的,例如上面我们说了5个变量就有32个变量组合,如果是10个变量呢?2的10次方,我们不可能对所有这些模型进行一一验证AIC, BIC,HQ规则来选择模型,工作量太大。

 

 

因为AIC和BIC一般为负值 也就是绝对值越大 负得越多越好 你可以查一下AIC和BIC的计算公式 一般都是分为两个部分 一部分是度量拟合效果,另一部分是对参数个数增加的惩罚

转载于:https://my.oschina.net/u/1161889/blog/1549141

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142463.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • web服务器介绍_常见web服务器

    web服务器介绍_常见web服务器常见Web服务器简介 Web服务器也称为WWW(WORLDWIDEWEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。   Unix和Linux平台下的常用Web服务器有Apache,Nginx,Lighttpd,Tomcat,IBMWebSphere、BEAWeblogic等,其中应用最广泛的是Apache。而WindowsNT/2000/2003平台下最

    2022年9月19日
    2
  • JS数组合并(5种)

    JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
    68
  • Linux内核概述

    Linux内核概述前言1.1随便先说下Linux内核非常庞大,我说的非常大并不是为了吓唬大家,确实是非常多的代码,超过600万行的代码,所以我写文章介绍Linux内核,也不可能每一行代码去分析,但是我会

    2022年7月3日
    20
  • 什么是 SNI?_snidel中文

    什么是 SNI?_snidel中文参考:链接1链接2介绍是什么:SNI(ServerNameIndication)是TLS的扩展,这允许在握手过程开始时通过客户端告诉它正在连接的服务器的主机名称。作用:用来解决一个服

    2022年8月3日
    5
  • 判断图同构大杀器—nauty算法

    判断两图是否同构是一个经典问题。nauty算法作为时下较为流行的主流算法,具有效率高,剪枝力度强等优势。当然,在某些特殊情况会失灵。虽然该算法的概念在上世纪80年代就提出来了,但发展至今,仍然是不可忽略的一种方法。本人翻遍了中文互联网,没找到详细相关介绍,在stackoverflow上边找到了一个问答,顺着帖子的回复找到了算法原作者自建的网站,如获至宝。再结合离散数学,看懂了这个算法的大致流程。总结如下:nauty算法:判断两个图是否同构。思路:①设置一套编号系统,给两个图进行编号,如果两个

    2022年4月8日
    35
  • linux禁止防火墙命令,LINUX关闭打开防火墙命令

    Linux下打开和关闭防火墙1.及时生效,重启后复原关闭:serviceiptablesstop开启:serviceiptalbesstart查看状态:serviceiptablesstatus(关闭状态的话会提示firewalisnotrunning)2.非及时性生效,重启后永久性生效关闭:chkconfigiptbalesoff开启:chkconfigipt…

    2022年4月9日
    80

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号