[经验分享] 【统计小百科】你知道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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • XR应用场景骤变,一场波及5亿人的新探索开始了「建议收藏」

    XR应用场景骤变,一场波及5亿人的新探索开始了「建议收藏」鱼羊明敏发自凹非寺量子位|公众号QbitAI如果说有什么事可以最快逼疯一个远程办公人,那“线上开会”肯定会得高票。网络卡顿、沟通低效导致会议变得长长长长长……万一碰上出门在外的紧急情况,更是当场抓瞎。这时候,就让人禁不住幻想,要是有副科幻大片同款高端眼镜,一戴上就能随时办公,那感觉可就起飞了。于是,打从元宇宙这股风起,大到国际科技巨头,小到国内初创企业,就没少…

  • 使用SSH隧道和Squid创建专用加密代理以进行真正的隐私浏览「建议收藏」

    使用SSH隧道和Squid创建专用加密代理以进行真正的隐私浏览「建议收藏」在远程Linux机器上运行代理服务器,并通过SSH隧道将所有流量传输到它。第1步:安装Squid因为我使用CentOS,所以我只是做了一个 yuminstallsquid第2步:配置Squid好吧,默认的squid配置(/etc/squid/squid.conf)非常好,虽然我需要添加一个ACL子句,所以我实际上可以使用代理。远程的局域网是192.168.1.0/24,所以把这…

  • ireport教程_linear predictor

    ireport教程_linear predictor三元元算($F{username}.equals(“a”))?”它是a”:”它不是a”

  • 基于speech模块的久坐提醒小程序「建议收藏」

    基于speech模块的久坐提醒小程序「建议收藏」每天在电脑前坐很长的时间,因为有时候太过投入一下子就过去了若干个小时,容易猝死。于是心血来潮的想要写一个防久坐提醒小程序:第一种模式(最简单模式),若输入伏案工作时间数值不对则产生一个错误并退出。代码如下:importspeechimporttimeclassDebug:def__init__(self):self.start_time=time.time()self.minutes=int(input(“How

  • 深入理解双亲委派机制及作用「建议收藏」

    java双亲委派机制及作用一、什么是双亲委派机制当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。二、类加载器BootstrapClassLoader(启动类加载器)c++…

  • 1000个微信小程序源码分享[通俗易懂]

    1000个微信小程序源码分享[通俗易懂]文章目录微信小程序源代码获取开发账号注册小程序部分源码展示程序展示微信小程序现在的微信小程序非常火爆,网上也有很多学习资源,但是源码资源还是很少的。其实在学习开发微信小程序的时候如果有源码可以供我们借鉴,学习效率也会成倍的增加。无论是前端开发,还是后端开发,时间长了,你总会能总结出它的一些规律的,对于前端开发主要就两条,页面展现,逻辑处理。如果是全流程开发的话,那就是,如何创建项目,页面如何实现,数据获取和逻辑处理如何实现,如何打包上线。移动端或者前端,基本开发流程就这个四个步骤。所以在在前端方面去学

发表回复

您的电子邮箱地址不会被公开。

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