最近看论文,发现一个很不错的概率密度估计方法。在此小记一下。
先来看看准备知识。
密度估计经常在统计学中作为一种使用有限的样本来估计其概率密度函数的方法。
我们在研究随机变量的过程中,随机变量的概率密度函数的作用是描述随机变量的特性。(概率密度函数是用来描述连续型随机变量取值的密集程度的,举例:某地某次考试的成绩近似服从均值为80的正态分布,即平均分是80分,由正态分布的图形知x=80时的函数值最大,即随机变量在80附近取值最密集,也即考试成绩在80分左右的人最多。)但是在实际应用中,总体概率密度函数通常是未知的,那么如何来估计总体概率密度呢?一般,我们通过抽样或者采集一定的样本,可以根据统计学知识从样本集合中推断总体概率密度。这种方法统称为概率密度估计,即根据训练样本来确定随机变量的概率分布。一般概率密度估计方法方法大致分为两类:参数估计非参数估计
参数估计(Parametric Estimation)是根据对问题的经验知识,假设问题具有某种数学模型 ,随机变量服从某种分布,即先假定概率密度函数的形式,然后通过训练数据估计出分布函数的参数。常见的参数估计方法有极大似然估计方法贝叶斯估计方法。对于参数估计,根据样本中是否已知样本所属类别(即是否带标签)将参数估计又划分为监督参数估计非监督参数估计。监督参数估计是由 已知类别的样本集对总体分布的某些参数进行统计推断 。而无监督参数估计已知总体概率密度函数形式但未知样本所属的类别,要求推断出概率密度函数的某些参数 ,这种推断方法称之为非监督情况下的参数估计。
非参数估计(Nonparametric Estimation)是在已知样本所属的类别不假定总体分布形式下, 基于大样本的性质,直接利用样本估计出整个函数。在很多情况下,我们对样本的分布并没有充分的了解,无法事先给出密度函数的形式,而且有些样本分布的情况也很难用简单的函数来描述。在这种情况下,就需要用到非参数估计。但是,并不是非参数估计一定优于参数估计,因为非参数估计受训练样本影响,其完备性或泛化能力不会很好;且这种估计只能用数值方法取得,无法得到完美的封闭函数图形。常用的非参数估计方法有直方图法核概率密度估计等。
(若有闲暇,后续将极大似然、贝叶斯估计等等估计方法详细总结)
这里说说核密度估计方法(也有称之为ParzenParzen窗法)
进入正题
核密度估计的形式:

f^h(x)=1n∑i=1nKh(x−xi)=1nh∑i=1nK(x−xih)

\hat{f}_h(x)=\frac{1}{n}\sum_{i=1}^nK_h(x-x_i)=\frac{1}{nh}\sum_{i=1}^nK\left( \frac{x-x_i}{h} \right)
这里 K(x)K(x) 是 核函数(非负,积分为1,均值为0,符合概率密度的性质), h>0h>0是带宽。有很多种核函数, uniform,triangular,biweight,triweight,Epanechnikov,normaluniform,triangular, biweight, triweight, Epanechnikov,normal等。各种核函数的图形如下:

由于高斯内核方便的数学性质,也经常使用 K(x)=ϕ(x)K(x)= ϕ(x), ϕ(x)ϕ(x)为标准正态概率密度函数。核密度估计与直方图很类似,但相比于直方图还有光滑连续的性质。
举例理解(该例子来自维基百科 https://en.wikipedia.org/wiki/Kernel_density_estimation)
已知:6个数据点
x1=−2.1,x2=−1.3,x3=−0.4,x4=1.9,x5=5.1,x6=6.2x_1 = -2.1,x_2 = -1.3,x_3 = -0.4,x_4 = 1.9,x_5 = 5.1,x_6 = 6.2
对于直方图,首先将水平轴划分为覆盖数据范围的子间隔或区段。在这种情况下,我们有6个宽度为2的矩形。每当数据点落在此间隔内时,我们放置一个高度为 112\frac{1}{12}的矩形。对于核密度估计,我们在每个数据点 xix_i上放置方差2.25(由红色虚线表示)的正态核函数。叠加一起得到核密度估计的结果,蓝色线表示。
很明显,直方图得到的密度估计平滑程度比使用核密度估计得到的密度函数要差很多.
现在问题是如何选定核函数的“方差”呢?这其实是由 hh来决定,不同的带宽hh下的核函数估计结果差异很大。

核带宽的选择
带宽是一个自由参数,对所得到的估计值有很大的影响。为了说明效果,举个例子:
下图是从标准正态分布中抽取的随机样本(横轴上的蓝色的点点代表样本点)灰色曲线是真是的概率密度(正态密度,均值0,方差1)。相比之下,红色曲线是使用了过小的带宽 h(=0.05)h(=0.05)得出的概率密度曲线,可见其波折陡峭;绿色曲线过于平滑,因为它使用了过大的带宽 h(=2)h(=2),掩盖了数据大部分基础结构。

那么对于hh的选择可以使用最小化L2风险函数(即平均积分平方误差,mean intergrated squared error)。

MISE(h)=E[∫(f^h(x)−f(x))2dx]

MISE(h)=E\left[ \int (\hat{f}_h(x)-f(x))^2dx \right]

在weakassumptionsweak\, assumptions下,MISE(h)=AMISE(h)+o(1nh+h4)MISE (h) =AMISE(h) + o(\frac{1}{nh} + h^4) ,其中AMISEAMISE为渐进的MISMISE。而AMISEAMISE有,

AMISE(h)=R(K)nh+14m2(K)2h4R(f′′)

AMISE(h)=\frac{R(K)}{nh} + \frac{1}{4}m_2(K)^2h^4R(f'')
其中,

R(g)=∫g(x)2dx

R(g)=\int g(x)^2dx

m2(K)=∫x2K(x)dx

m_2(K)=\int x^2K(x)dx
为了使 MISE(h)MISE(h)最小,则转化为求极点问题,

∂AMISE(h)∂h=−R(K)nh2+m2(K)2h3R(f′′)=0

\frac{\partial \, AMISE(h)}{\partial h} =-\frac{R(K)}{nh^2}+m_2(K)^2h^3R(f'')=0

hAMISE=R(K)15m2(K)25R(f′′)15n15

h_{AMISE}=\frac{R(K)^{\frac{1}{5}}}{m_2(K)^{\frac{2}{5}}R(f'')^{\frac{1}{5}}n^{\frac{1}{5}}}
当核函数确定之后, hAMISEh_{AMISE}公式里的 RR、mm、 f′′f''都可以确定下来,有( hAMISE∼n−15h_{AMISE}\sim n-\frac{1}{5}), AMISE(h)=O(n−45)AMISE(h) = O(n−\frac{4}{5})。

如果使用高斯核函数进行核密度估计,则hh的最优选择(即使平均积分平方误差最小化的带宽)为

h=(4σ^53n)15≈1.06σ^n−15

h=\left ( \frac{4 \hat{\sigma}^5 }{3n} \right )^{\frac{1}{5}} \approx 1.06\hat{\sigma}n^{-\frac{1}{5}}
这里σ^\hat{\sigma} 是样品的标准差。这种近似称为正态分布近似高斯近似,或Silverman(1986)经验法则。虽然这个经验法则很容易计算,但应谨慎使用,因为当密度不接近正态时,可能会产生泛化极差的估计。该经验法则推导过程详见:Silverman, B.W. (1986). Density Estimation for Statistics and Data Analysis. London: Chapman & Hall/CRC. p. 48. ISBN 0-412-24620-1.
这里带宽的作用简述:
1.在数据可视化的相关领域中,带宽的大小决定了核密度估计函数(KDE)的平滑(smooth)程度,带宽越小越undersmooth,带宽越大越oversmooth。(详细解释)
2.在POI兴趣点推荐领域,或位置服务领域,带宽hh的设置主要与分析尺度以及地理现象特点有关。较小的带宽可以使密度分布结果中出现较多的高值或低值区域,适合于揭示密度分布的局部特征,而较大的带宽可以在全局尺度下使热点区域体现得更加明显。另外,带宽应与兴趣点的离散程度呈正相关,对于稀疏型的兴趣点分布应采用较大的带宽,而对于密集型的兴趣点则应考虑较小一些的带宽。

如果带宽不是固定的,而是根据样本的位置而变化(其变化取决于估计的位置(balloon estimator)或样本点(逐点估计pointwise estimator)),则会产生一种特别有力的方法,称为自适应或可变带宽的核密度估计。就POI兴趣点推荐来说,由于密集的城市地区的签到密度很高,人烟稀少的农村地区的签到密度较低。就是说不同位置应该采取不同的分析尺度,因此本文采用不固定的带宽来进行核密度估计。

说到这, 有些朋友可能不知道POI兴趣点推荐是啥意思, 这里简单的说一下:POI是Point-of-Interest的意思,即兴趣点。就是说,给用户推荐其感兴趣的地点。就这么简单。在推荐系统相关领域,兴趣点推荐是一个非常火爆的研究课题。这里会用到核密度估计的方法,比如这篇论文:Jia-Dong Zhang,Chi-Yin Chow.(2015)GeoSoCa: Exploiting Geographical, Social and Categorical Correlations for Point-of-Interest Recommendations.SIGIR’15, August 09 - 13, 2015, Santiago, Chile.就利用了可变带宽的核密度估计方法。

这里再简单讨论一下自适应带宽的核密度估计方法。自适应带宽的核密度估计方法是在固定带宽核密度函数的基础上,通过修正带宽参数为而得到的,其形式如式所示:

k(x)=1M∑j−1M1(ωhj)nK(x−x(j)ωhj)

k(x)=\frac{1}{M}\sum_{j-1}^M \frac{1}{(\omega h_j)^n}K\left( \frac{x-x^{(j)}}{\omega h_j} \right)

K(x)=1(2π)n|S−−−−−−√|exp(−12xTS−1x)

K(x)=\frac{1}{\sqrt{(2\pi)^n|S}|}\exp\left( -\frac{1}{2}x^TS^{-1}x \right)

hj=⎧⎩⎨⎪⎪⎪⎪⎪⎪[∏Mk=1f(x(k))]1Mf(x(j))⎫⎭⎬⎪⎪⎪⎪⎪⎪α

h_j=\left \{ \frac{\left [ \prod_{k=1}^{M}f(x^{(k)}) \right ]^{\frac{1}{M}}}{f(x^{(j)})}\right \}^\alpha

这里k(x)k(x)是带宽为hjh_j的核密度估计函数,MM是样例的个数,看出来了吧,每一个点jj都有一个带宽hjh_j,因此这叫自适应可变。K(x)K(x)是核函数,这里用了高斯核函数,当然也可以是其他的核函数。0≤α≤10 \leq \alpha \leq 1,为灵敏因子,通常α\alpha取0.5,α=0\alpha=0时,自适应带宽的核密度估计就变成了固定带宽的核密度估计了。固定带宽的核密度估计就是前面说的核密度估计。ω\omega表示带宽的参数。
自适应带宽的核密度估计可以参考维基百科:https://en.wikipedia.org/wiki/Variable_kernel_density_estimation

推荐帖子:http://blog.sina.com.cn/s/blog_62b37bfe0101homb.html

参考资料
https://en.wikipedia.org/wiki/Kernel_density_estimation
https://www.zhihu.com/question/20212426/answer/74989607
https://en.wikipedia.org/wiki/Variable_kernel_density_estimation
http://www.tuicool.com/articles/EVJnI3
袁修开,吕震宙,池巧君. 基于核密度估计的自适应重要抽样可靠性灵敏度分析.西北工业大学学报.Vol.26 No.3.2008.6.

核密度估计与自适应带宽的核密度估计相关推荐

  1. 核密度聚类(二)核密度估计、自适应核密度的数学原理

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

  2. 阿里云4核8G服务器10M带宽支持在线人数并发量计算

    阿里云服务器4核8G10M带宽配置可以容纳多少人同时在线访问?阿里云10M带宽支持多少并发数?阿里云4核8G服务器配置如何选择?阿里云服务器10M带宽费用多少?新手站长网来详细说下: 阿里云4核8G服 ...

  3. 阿里云服务器1核1G内存1M带宽能放几个网站及多少流量

    阿里云服务器1核1G内存1M带宽能放几个网站及多少流量?好多人买了阿里云1核1G内存1M带宽的服务器,却不知道能跑多少流量,也不知道能放几个网站.毕竟都是真金白银买来的,如果在使用期内能够最大限度的利 ...

  4. 腾讯云8核16G服务器18M带宽CPU性能可支撑多少人同时在线?

    腾讯云8核16G轻量服务器CPU性能如何?18M带宽支持多少人在线?轻量应用服务器具有100%CPU性能,18M带宽下载速度2304KB/秒,折合2.25M/s,系统盘为270GB SSD盘,月流量3 ...

  5. 腾讯云2核4G服务器5M带宽轻量CPU性能、流量和系统盘测试

    腾讯云轻量应用服务器2核4G5M配置,自带5M公网带宽,5M带宽下载速度峰值可达640KB/秒,系统盘为60GB SSD盘,每月500GB流量包,折合每天16GB流量.腾讯云百科来详细说下腾讯云轻量应 ...

  6. 2核4G服务器_4M带宽_CPU性能测评_60G系统盘

    阿里云2核4G服务器297元一年.4M公网带宽.60G系统盘,阿里云轻量应用服务器2核4G4M带宽配置一年297.98元,2核2G3M带宽轻量服务器一年108元12个月,如下图: 目录 阿里云2核4G ...

  7. 1核1g java_wordpress博客1核1G1M够用吗

    最近很多云厂商都推出了极具性价比的1核1G1M的云服务器,在腾讯云,这个配置的机器低至99元/年了,点击这里立即购买哦~这个配置目前在各大云厂商都是最基础的配置,价格也比较便宜,很多朋友也购买了这一配 ...

  8. 5m 云服务器2核4g_2核4g云服务器(2核4g的云服务器能干什么)

    这个配置对于一般应用是足够了,但是如果网站的访问量比较大,建议选4核处理器的服务器 所谓的2核.4核都是软件虚拟出来的CPU 核心,并不是硬件核心数.核心数越多,服务器可以同时处理的事情越多.行话叫并 ...

  9. 24核服务器配什么系统,24核服务器

    24核服务器 内容精选 换一换 安装昇腾芯片驱动和固件之前需验证操作系统内核版本.请参考下表完成操作系统内核版本的验证以及驱动固件的安装. 华为TaiShan服务器在数据库场景具有高可靠和稳定性,多核 ...

最新文章

  1. Test execution order
  2. DB2查询结果显示n行
  3. SSH、SSL与HTTPS
  4. [蓝桥杯]试题 基础练习 高精度加法
  5. WPF,Silverlight与XAML读书笔记第六 - WPF新概念之一逻辑树与可视树
  6. 海量数据搜索---demo展示百度、谷歌搜索引擎的实现
  7. 微信小程序 测试环境和正式环境 access_token冲突问题
  8. linux怎么进入系统安装界面,Linux图形化界面安装全过程
  9. zmq pub/sub使用详解
  10. 关于上下文映射看这篇就够了
  11. 【Day_09】走方格的方案数
  12. Mac小技巧:同时选中多个文件
  13. Derby ij工具
  14. 如何快速优化手游性能问题?从UGUI优化说起
  15. Python之Datasets库安装报错的解决方法
  16. linux screen 窗口名称,linux下screen如何显示当前处在哪个screen(如何显示当前screenid...
  17. [火山PC教程]1. 火山PC的安装和配置
  18. 常见攻击原理与技术分析
  19. 美国第44任总统首次访问中国(2009-11-15)
  20. 磁器口雅思培训-快速提高雅思听力的方法

热门文章

  1. 指针进阶之字符指针(超详细)
  2. 使用MySQL Workbench 导入数据ERROR: Import data file: 'ascii' codec can't decode byte 0xc3 in position...
  3. 海康Ehome协议接入EasyCVR视频融合平台播放视频失败的排查与解决
  4. DDR、DDR2、DDR3、DDR4、LPDDR区别(自用)
  5. matlab 变压器 漏感,中频变压器漏感参数解析计算方法.doc
  6. 安防监控实现之CGI的移植及与html的通信
  7. windows10ftp搭建,实现主机与虚拟机文件传输文件,以及解决FTP文件夹错误,无法与服务器建立连接。
  8. centOS7服务管理与启动流程
  9. zynq中mgtx应用_Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念
  10. 对于国内计算机代数计算发展的一些看法