python核密度估计 核密度估计stata_算法

【点开看大图】

核密度估计(kernel density estimation)

 

  • 定义
  • 是在概率论中用来估计未知的密度函数,属于非参数检验方法之一
  • 非参数检验方法
  • 核密度估计其实是对直方图的一个自然拓展。
  • 直观理解
  • 核密度估计=用固定积木照样本生凑一个分布
  • 平滑密度函数
  • 不知道你有没有画过颜色带透明度的散点图比如 aes_colour_fill_alpha. ggplot2 2.1.0 的 h + geom_point(alpha = 1/10)颜色越深密度越大恩,这就是 kernel density estimation
  • 一个加权平均数,
  • 无论是通过核函数求出的概率密度f,还是求出的概率函数F。
  • 先说说核密度回归
  • 已知散点图,做回归。
  • 窗宽无限大时,核密度回归等价于线性回归。
  • 窗宽无限小时,核密度回归等价于逐点连线。
  • 一个不大不小的窗宽下,  可以看成驻点核密度估计。
  • 下面开始核估计了。
  • 计算
  • 问题
  • 简单点来说就是实际的统计量都是离散的,离散分布每一个点的概率是0!!!∑(゚Д゚ノ)ノ但是每个点又确确实实存在,这可就不好计算了。
  • 小学
  • 之前(小学时代)大家用的都是直方图,画画长条什么的,这样就把实际的数据包括在了小长条里,算是一种近似。
  • 大学
  • 而现在(大学时代),我们学了微积分就想用更方便的近似来计算实际的统计量了,
  • 这时候就引入核函数k(·),
  • 还有其他一些参数,比如带宽h,
  • 这样就能为估计分布密度提供一种手段。
  • 习惯上要求密度函数为核函数的随机变量的均值等于所替代的数据点,这个和最小二乘法拟合直线有异曲同工之妙啊。
  • 关于计算的话就求两方面就好了,
  • 一个是实际数据的概率p,
  • 这个是由统计量来的,没的说╮(╯_╰)╭
  • 另一个是求权重,
  • 这个就和那个带宽h(私以为这个就是一个限定权限的框框,超出带宽的我们就认为它的权限是1了)有关了,常见的有均匀核函数、三角核函数、伽马核函数,具体的公式及推导应该很好找我就不贴了。
  • 一些比较常用的核函数
  • 均匀核函数 k(x)=1/2,-1≤x≤1
  • 加入带宽h后: kh(x)=1/(2h),-h≤x≤h
  • 三角核函数 k(x)=1-|x|,-1≤x≤1
  • 加入带宽h后: kh(x)=(h-|x|)/h2,-h≤x≤h
  • 伽马核函数 kxi(x)=(xα-1e-xα/xi)/[(xi/α)α.Γ(α)]
  • 高斯核函数K(x,xc)=exp[-||x-xc||2/(2*σ)2],
  • 其中xc为核函数中心,σ为函数的宽度参数。 [1]
  • 【应用】数据增强技术
  • 其实现在图像处理/深度学习里用的数据增强(data augmentation)技术就是一种(核)密度估计。
  • 核密度估计(KDE)
  • 从一堆离散数据中产生一个密度函数,
  • 其对应的分布等价于先从那些数据里等概率抽一个,
  • 再加一个噪声
  • (由核决定,如正态核就是加一个正态噪声)。
  • 拿我非参数统计ppt的一张图:
  • |我们在数据增强使用什么样的噪声和扰动,
  • 就是等于在选定某种核函数,在试图钦定出背后的密度。
  • 现在观测值为左边的四个图,先以等概率(1/4)随机抽一个,|再以某个带宽(噪声程度)施加逐点的连续噪声。
  • 显然这样就可以从四张离散图上定义一个连续分布,从中可以抽出无数个(连续)个图出来。
  • 当然这种点噪声看起来比较贫乏,
  • 像什么数据增强的随机切片,翻转,光学变换,
  • 马尔科夫随机场显然都可以看作是完全类似的噪声。
  • 考虑到一般的机器学习目标中,我们想要在某个真实分布下优化某个目标函数,
  • 然而我们往往只能观测到无数个可能样本中的有限个,
  • 如果我们只在那些有限的样本上优化,相当于在它的经验分布函数分布估计(ECDF)上进行优化,显然有过拟合等问题。
  • 通过加入KDE式的噪声,可以“免费地”将分布从ECDF的粗略估计向真实分布靠拢,显然靠的越拢越好,
  • 到完全一样的时候就不需要担心过拟合问题了,但KDE的噪声,像现在的图像增强/密度估计技术一样,往往做不到那么强。
  • 由于某种原因,你只能观察到几个正的猫,但你知道会有旋转的猫(?),
  • 你可以使用一个从那些正的猫中随机抽一个对应的分布来优化算法。
  • 但更好的是你主动加入旋转,这样CNN之类的算法就不会无法处理旋转的猫了:

拿我非参数统计ppt的一张图:

由于某种原因,你只能观察到几个正的猫,但你知道会有旋转的猫(?),

一些比较常用的核函数

核密度估计(kernel density estimation)

下面开始核估计了。

 

参考文献:

  1. https://www.zhihu.com/question/27301358/answer/105267357