机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)

很多统计问题要求总体协方差阵的点估计,大多数情况下,估计是由样本得到的,而样本的属性(大小、结构、同质性)对估计质量有很大的影响。sklearn.covariance包旨在提供不同情况下协方差阵的准确估计。估计前,我们假设样本是独立同分布的。

经验协方差

一个数据集的协方差阵的经典的估计来自最大似然估计量,或称经验协方差。使用包的empirical_covariance函数计算最大似然估计,具体是用EmpiricalCovariance.fit方法在数据样本上拟合EmpiricalCovariance对象。数据集是否中心化,结果将不同。你可以设置中心化参数assume_centered.

缩水协方差

有时由于数值的原因,经验协方差并不是可逆的。为了避免不可逆的问题,提出了经验协方差的转换:shrinkage.

在scikit-learn里,通过shrunk_covariance方法,转换可以直接应用到计算的协方差上。而且,用ShrunkCovariance对象的ShrunkCovariance.fit方法,一个协方差阵的缩水估计量能够拟合到数据上。结果也会因为数据集是否中心化而不同,使用参数assume_centered设置。

数学上,缩水是由减小经验协方差阵的最大特征值和最小特征值的比率组成。
Σshrunk=(1−α)Σ^+αtr(Σ^)pI\Sigma_{shrunk}=(1-\alpha)\hat{\Sigma}+\alpha\frac{tr(\hat{\Sigma})}{p}\mathrm{I}Σshrunk​=(1−α)Σ^+αptr(Σ^)​I

选择缩水量 α\alphaα, 等于是设置一个偏差-方差折中。

稀疏的可逆协方差

协方差阵的逆,被称为精度矩阵,它与偏相关矩阵成比例。精度矩阵给出了偏独立关系。换句话说,在给定其它特征的条件下,两个特征是相互独立的,在精度矩阵里,对应的系数应该是0. 这就是为什么要估计一个稀疏的精度矩阵:通过从数据学习独立关系,更好地得到协方差阵,称为协方差选择。

在小样本的情况下,n_samples与n_features可比甚至更小,稀疏的可逆协方差估计量往往比缩水协方差估计量效果更好。然而,在相反的情况,或者数据具有强相关性,这种估计量是不稳定的。

GraphLasso估计量使用L1惩罚,强加稀疏性在精度矩阵上。它的 α\alphaα 参数越大,精度矩阵越稀疏。对应的GraphLassoCV对象使用交叉验证自动设置参数 α\alphaα 的值。

健壮的协方差估计

真实的数据集经常有测量或记录误差。规则但不常见的观测也可能出于各种原因出现。每一个罕见的观测都称为异常点(outlier). 经验协方差估计量和缩水估计量对数据里的异常点比较敏感。因此,建议使用健壮的估计量估计真实数据的协方差。sklearn.covariance包提供健壮的协方差估计——Minimum Covariance Determinant.

Minimum Covariance Determinant

Minimum Covariance Determinant estimator, 简称MCDE, 是一个健壮的估计量。它的思想是寻找一个给定比例的好的观测,它们不是异常点,计算它们的经验协方差。然后分以下两步:

  • consistency step: 经验协方差阵被重新缩放,弥补对观测的选择。

  • reweighting step: 在计算MCDE后,根据Mahalanobis距离给观测赋予权值,得到数据集的一个重新加权的协方差阵估计。

在scikit-learn里,使用一种FastMCD算法计算Minimum Covariance Determinant estimator.

精彩内容,请关注微信公众号:统计学习与大数据

【sklearn第二十二讲】协方差估计相关推荐

  1. 【第二十二讲】获取参数名

    [第二十二讲]获取参数名 文章目录 [第二十二讲]获取参数名 将 `Bean2.java` 编译后,失去参数 加 `-parameters` 编译后有参数 加 `-g` 编译后有参数 获取参数 封装接 ...

  2. 第二十二讲:自尊与自我实现 第二十三讲:总结(完)

    (注:此为课程第二十二课,更新于2017年7月23日.) 今天我们会讲完自尊,然后下节课将是我们这个学期最后一次课.我会总结一下我们讲过的内容,我们讲过的和我们将要讲的内容. 先回顾一下我们讲过的,就 ...

  3. 第二十二讲 延迟定理

    一,单位阶跃函数: 如图:,它有三个定义: 设为单位阶跃函数,那么表示单位阶跃函数向右平移a个单位,如图: 二,单位方框函数: 如图: 意义:去掉了在区间以外的部分. 三,单位阶跃函数的拉普拉斯变换: ...

  4. 深聊全链路压测之:第二十二讲 | 如何解决 GoReplay 动态数据关联。

    解决 GoReplay 动态数据关联 1.引言 2.中间件 2.1 什么是中间件 2.2 如何使用中间件 3.关联 3.1 什么是关联 3.2 关联回放实现 4.总结 1.引言 第二十讲,我们聊的是G ...

  5. 第二十二讲 对角化分解和幂公式

    一,对角化分解 A=SΛS−1A=S\Lambda S^{-1}A=SΛS−1 S−1AS=ΛS^{-1}AS=\LambdaS−1AS=Λ A表示具有n个线性无关的x(特征向量)的矩阵 S表示由x组 ...

  6. 第二十二讲 延迟定理(补充)

    八,计算: 已知 因为当时,,因此可以用延迟定理 根据延迟定理1: 同理: 因此 九,计算: 因为当时,,因此可以用延迟定理 根据延迟定理2: 因此 图像见视频35:00~36:40 十,计算: 当表 ...

  7. 概率论与数理统计学习笔记——第二十二讲——二元均匀分布,二元正态分布

    1. 二元均匀分布 2. 二元均匀分布边际密度函数及条件密度函数的求解示例 3. 二元正态分布 4. 二元正态随机变量的边际概率密度求解示例

  8. stm32 文件系统dma大小_「正点原子NANO STM32F103开发板资料连载」第二十二章 DMA 实验...

    1)实验平台:[正点原子] NANO STM32F103 开发板 2)摘自<正点原子STM32 F1 开发指南(NANO 板-HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 ...

  9. 趣谈网络协议笔记-二(第十二讲)

    趣谈网络协议笔记-二(第十二讲) TCP协议(下):西行必定多妖孽,恒心智慧消磨难 前言 哈哈哈,越当我看刘超的通俗讲解,我就越感觉自己的无能.每次当我看了讲解之后,每次当我感觉到这个东西原来是这么简 ...

  10. 山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将...

    山海演武传·黄道·第一卷 雏龙惊蛰 第二十二 ~ 二十四章 真龙之剑·星墟列将 "我是第一次--请你,请你温柔一点--"少女一边娇喘着,一边将稚嫩的红唇紧贴在男子耳边,樱桃小嘴盈溢 ...

最新文章

  1. html5页面中鼠标悬停效果,CSS实例:非常不错的鼠标悬停TIP效果!_div+css布局教程...
  2. zookepper 安装
  3. C#—使用InstallerProjects打包桌面应用程序
  4. Python3逻辑运算符
  5. Java面向对象编程学习
  6. Swift5.1 语言指南(九) 闭包
  7. 用shell或者python写出各种图形
  8. rds 如何学习数据库_如何将本地数据库迁移到云数据库 RDS 上?
  9. Raft -【go一致性算法】
  10. ffmpeg音频转换命令
  11. Adobe国际认证|发布 Adob​e Photoshop全部教程
  12. keil5写c语言的步骤,keil5使用C51的详细步骤讲述
  13. Qt+VS+opencv+zbar打开本机摄像头实现二维码扫码识别功能
  14. 所有计算机都可以安装win7,t570都可以装win7系统吗_win7 64位系统所有电脑都能装吗...
  15. 【记Unexpected token】
  16. 修改android模拟器位置
  17. 需要程序猿了解的 89 个操作系统核心知识
  18. ITK入门教程(12)点集之得到存储的点
  19. Linux高可用之heartbeat
  20. 蓝鲸智云App应用部署(完整版)

热门文章

  1. response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路
  2. iOS网络请求之multipart/form-data提交数据
  3. (原创)javascript进阶(三)
  4. [原]linux 修改 hostname 立即生效
  5. zabbix详解(七)——zabbix邮件报警设置
  6. nyoj--20-吝啬的国度
  7. HDOJ-2091 空心三角形 C语言
  8. java分享第十六天( java读取properties文件的几种方法java配置文件持久化:static块的作用)...
  9. 《GO并发编程实战》—— 临时对象池
  10. python模块之httplib(在py3中功能进一步强大,请详看文档)