R Akaike information criterion,AIC,一个越小越好的指标
Akaike information criterion,AIC是什么?一个用来筛选模型的指标。AIC越小模型越好,通常选择AIC最小的模型。第一句话好记,第二句话就呵呵了,小编有时候就会迷惑AIC越大越好还是越小越好。所以,还是要知其所以然的。
在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最小的模型就可以了。
然而,咱们平常用的最多的SPSS软件却不直接给出AIC。不过不用担心,以线性回归为例,SPSS虽不给出AIC,但会给出残差平方和,即残差Residual对应的Sum of Squares。然后,AIC=nln(残差平方和/n) 2k。其中模型参数个数k包括截距项和残差项,其中残差项往往被忽略。
比如,针对n=21的数据,某线性模型纳入2个自变量x1和x2,k应为4。从SPSS给出的方差分析表,可知AIC=21*ln(21.809/21) 2*4=8.7941。
|
除AIC之外,还有很多模型选择的指标,比如和AIC联系比较密切的BIC,我们会在以后的文章和大家讨论。
R Akaike information criterion,AIC,一个越小越好的指标的更多相关文章
- 赤池信息量准则 ( Akaike information criterion)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- 让reddit/r/programming炸锅的一个帖子,还是挺有意思的
这是原帖 http://www.reddit.com/r/programming/comments/358tnp/five_programming_problems_every_software_en ...
- R入门-第一次写了一个完整的时间序列分析代码
纪念一下,在心心念念想从会计本科转为数据分析师快两年后,近期终于迈出了使用R的第一步,在参考他人的例子前提下,成功写了几行代码.用成本的角度来说,省去了部门去买昂贵的数据分析软件的金钱和时间,而对自己 ...
- 网站的Information Architecture--构建一个最优用户体验的site structure
http://conversionxl.com/website-information-architecture-optimal-user-experience/ 在网站上应该有什么类型的conten ...
- <R语言编程艺术>的一个错误以及矩阵相加
R语言编程艺术讲矩阵这节时,举了个随机噪声模糊罗斯福总统画像的例子.但是里面似乎有个错误,例子本意是区域外的值保持不变,而选定区域的值加一个随机值,但是实际情况是两个行列不相等的矩阵相加,会报错,如果 ...
- R+NLP︱text2vec包——四类文本挖掘相似性指标 RWMD、cosine、Jaccard 、Euclidean (三,相似距离)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...
- 最大似然估计实例 | Fitting a Model by Maximum Likelihood (MLE)
参考:Fitting a Model by Maximum Likelihood 最大似然估计是用于估计模型参数的,首先我们必须选定一个模型,然后比对有给定的数据集,然后构建一个联合概率函数,因为给定 ...
- Study notes for Clustering and K-means
1. Clustering Analysis Clustering is the process of grouping a set of (unlabeled) data objects into ...
- R语言入门视频笔记--9--随机与数据描述分析
古典概型的样本总量是一定的,且每种可能的可能性是相同的, 1.中位数:median(x) 2.百分位数:quantile(x)或者quantile(x,probe=seq(0,1,0.2)) #后面这 ...
随机推荐
- vue 之 axios Vue路由与element-UI
一. 在组件中使用axios获取数据 1. 安装和配置axios 默认情况下,我们的项目中并没有对axios包的支持,所以我们需要下载安装. 在项目根目录中使用 npm安装包 npm install ...
- Tesseract-OCR 4.1.0 安装和使用— windows及CentOS
OCR(Optical character recognition) —— 光学文字识别,是图像处理的一个重要分支,中文的识别具有一定挑战性,特别是手写体和草书的识别,是重要和热门的科学研究方向 截止 ...
- js缓慢滑块
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 46 求1+2+3+...+n 静态成员函数和静态变量
题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 思路: 1)使用构造函数的方法,需要使用sta ...
- Django 学习 之ORM聚合查询分组查询与F查询与Q查询
一.聚合查询和分组查询 1.聚合查询aggregate 关于数据表的数据请见上一篇:Django 学习 之ORM多表操作(点我) aggregate(*args, **kwargs),只对一个组进行聚 ...
- Python 之网络编程之socket(2)黏包现象和socketserver并发
一:黏包 ###tcp协议在发送数据时,会出现黏包现象. (1)数据粘包是因为在客户端/服务器端都会有一个数据缓冲区, 缓冲区用来临时保存数据,为了保证能够完整的接收到数据,因此缓冲区 ...
- 134、Java中的构造方法和构造块
01.代码如下: package TIANPAN; class Book { public Book() { // 构造方法 System.out.println("[A]Book类的构造方 ...
- gets和scanf区别
scanf 和 gets 读取字符串 深入了解scanf()/getchar()和gets()等函数 scanf与gets函数读取字符串的区别 今天看到一段话,大致是说gets比scanf()快,有点 ...
- JavaScript动画实例:李萨如曲线
在“JavaScript图形实例:阿基米德螺线”和“JavaScript图形实例:曲线方程”中,我们学习了利用曲线的方程绘制曲线的方法.如果想看看曲线是怎样绘制出来的,怎么办呢?编写简单的动画,就可以 ...
- 更换JAVA程序的界面风格
/*这个程序主要更换JAVA的界面风格的 * 后两个Mac,CTK风格要在相关的操作系统上才能实现 */import java.awt.*;import javax.swing.*;import ja ...