本文由  en.wikipedia.org/wiki/Kernel_density_estimation   核密度估计的英文wiki百科整理。

核密度估计(Kernel density estimation),是一种用于估计概率密度函数的非参数方法,为独立同分布F的n个样本点,设其概率密度函数为f,核密度估计为以下:

K(.)为核函数(非负、积分为1,符合概率密度性质,并且均值为0),h>0为一个平滑参数,称作带宽(bandwidth),也看到有人叫窗口。Kh(x) = 1/h K(x/h). 为缩放核函数(scaled Kernel)。有很多种核函数,uniform,triangular, biweight, triweight, Epanechnikov,normal,等。各种核函数的图形如下:

Epanechnikov 内核在均方误差意义下是最优的,效率损失也很小。由于高斯内核方便的数学性质,也经常使用 K(x)= ϕ(x),ϕ(x)为标准正态概率密度函数。核密度估计与直方图很类似,但相比于直方图还有光滑连续的性质。下图为直方图与核函数估计对 x1 = −2.1, x2 = −1.3, x3 = −0.4, x4 = 1.9, x5 = 5.1, x6 = 6.2 六个点的“拟合”结果。

在直方图中,横轴间隔为2,数据落到某个区间,此区间y轴增加1/12。在核密度估计中,不放另正态分布方差为2.25,红色的虚线表示由每一个数据得到的正态分布,叠加一起得到核密度估计的结果,蓝色表示。

那么问题就来了,如何选定核函数的“方差”呢?这其实是由h来决定,不同的带宽下的核函数估计结果差异很大,如下图:

(Kernel density estimate (KDE) with different bandwidths of a random sample of 100 points from a standard normal distribution. Grey: true density (standard normal). Red: KDE with h=0.05. Black: KDE with h=0.337. Green: KDE with h=2.)

不同的带宽得到的估计结果差别很大,那么如何选择h?显然是选择可以使误差最小的。下面用平均积分平方误差(mean intergrated squared error)的大小来衡量h的优劣。

在weak assumptions下,MISE (h) =AMISE(h) + o(1/(nh) + h4) ,其中AMISE为渐进的MISE。而AMISE有,

其中,

为了使MISE(h)最小,则转化为求极点问题,

当核函数确定之后,h公式里的R、m、f''都可以确定下来,有(hAMISE ~ n−1/5),AMISE(h) = O(n−4/5)。

如果带宽不是固定的,其变化取决于估计的位置(balloon  estimator)或样本点(逐点估计pointwise estimator),由此可以产产生一个非常强大的方法称为自适应或可变带宽核密度估计。

核密度估计(Kernel density estimation)相关推荐

  1. 核密度估计python_核密度估计Kernel Density Estimation(KDE)

    在介绍核密度评估Kernel Density Estimation(KDE)之前,先介绍下密度估计的问题.由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一.解决这一问题的方法包括 ...

  2. 核密度估计Kernel Density Estimation(KDE)-代码详细解释

    在介绍核密度评估Kernel Density Estimation(KDE)之前,先介绍下密度估计的问题.由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一.解决这一问题的方法包括 ...

  3. 核密度估计(Kernel Density Estimation)和累积分布函数 (Cumulative Distribution Function)

    原文链接,欢迎评论 https://dreamhomes.top/posts/202010091143.html 核密度估计 核密度估计是采用平滑的峰值函数("核")来拟合观察到的 ...

  4. 机器学习算法(二十一):核密度估计 Kernel Density Estimation(KDE)

    目录 1 分布密度函数 1.1 参数估计方法 1.2 非参数估计 2 直方图到核密度估计 2.1 核函数 2.2 带宽的选择 2.2.1 自适应或可变带宽的核密度估计 2.3 多维 1 分布密度函数 ...

  5. 核密度估计Kernel Density Estimation(KDE)

    前言 已知一个服从密度函数p(x)的随机变量x的N个观测x1,x2,-,xn,但不知p(x),这里p(x)称为期望学到的密度函数,试求p(x).这个问题称为密度估计问题.为求样本集的密度函数,有两种方 ...

  6. 核密度估计 Kernel Density Estimation(KDE)

    写在前面 给定一个样本集,怎么得到该样本集的分布密度函数,解决这一问题有两个方法: 1.参数估计方法 简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯 ...

  7. 基于密度的聚类(Density-based clustering)-- 核密度估计(kernel density estimation)

    In density-based clustering, clusters are defined as areas of higher density than the remainder of t ...

  8. 机器学习中的数学ch11:基于高斯混合模型的密度估计(Density Estimation with Gaussian Mixture Models)

    文章目录 高斯混合模型(Gaussian Mixture Model) 利用极大似然估计进行参数学习(Parameter Learning via Maximum Likelihood) 责任(Res ...

  9. R语言使用rnorm函数生成正太分布数据、使用hist函数可视化直方图、设置freq参数为F显示密度曲线、使用核密度估计函数density(),在直方图上绘制密度曲线

    R语言使用rnorm函数生成正太分布数据.使用hist函数可视化直方图.设置freq参数为F显示密度曲线.使用核密度估计函数density(),在直方图上绘制密度曲线 目录 R语言使用rnorm函数生 ...

最新文章

  1. 一文带你了解被 BATJ 问烂的 TopK 问题
  2. ubuntu创建新用户名和密码以及查看删除用户
  3. 计算机安装操作系统的目的是什么,安装计算机操作系统.doc
  4. python语言术语_python的一些术语
  5. 【洛谷P4124】[CQOI2016]手机号码
  6. 2440 8字数码管 显示0到10 c语言,51单片机对8位数码管依次显示0-7的设计
  7. 【EasyNetQ】- 发送接收
  8. assembly 输出ab中所有数_.NET Core中批量注入Grpc服务
  9. 《OpenStack云计算实战手册(第2版)》——1.7 添加用户
  10. 如何用stata画莫兰散点图_吃下这颗安利:STATA
  11. Nginx学习之四-Nginx进程同步方式-自旋锁(spinlock)
  12. simpy练习案例(二):不直接控制流程,而是使用事件隐形控制流程 env.event()
  13. java 网络字节序转主机字节序_Linux下查看网络连接
  14. 新浪API, 利用get_uid获取是uid的数据溢出问题解决方案
  15. c#委托把方法当成参数
  16. linux安装nodejs binaries包以及设置npm国内镜像
  17. [文摘20080226]领导法则 - 陈安之
  18. python NLP中文近义词
  19. 基于Workbench的橡胶计算收敛调试
  20. win10+yolov5尝鲜体验

热门文章

  1. mysql 生成8位uuid_利用UUID 随机生成8位短号
  2. Oracle数据库按月统计(候,旬,月,季,年)
  3. php 导入 导出Excel 实现翻译两种不同的Excel文件(xlsx文件和csv文件)
  4. html绝对路径图片无法显示
  5. 计算机硬件,Linux系统介绍,centos7.6安装
  6. Win7下语音控制电脑攻略
  7. 人际关系必知的55个绝招
  8. eric6无法设置自动补全问题
  9. 【JAVA】短信集成设计方案
  10. 【金三银四】Tomcat面试题(2021最新版)