精华内容
下载资源
问答
  • %% 核密度估计曲线 load('b.mat'); ksdensity(b); set(0,'defaultfigurecolor','w') title('Nuclear density estimation curve'); xlabel('x') ylabel('Density') %% 经验分布函数图 load('b.mat'); ...

    1.数据一:1988年至2018年中国粮食产量(万吨),具体数据见表格1,数据来源:

    http://data.stats.gov.cn/easyquery.htm?cn=C01&zb=A0D0F&sj=2018

    表格 1

    65789.22

    66160.72

    66043.52

    66060.27

    63964.83

    63048.2

    61222.62

    58849.33

    55911.31

    53940.86

    53434.29

    50413.86

    49804.23

    48402.19

    46946.95

    43069.53

    45705.75

    45263.67

    46217.52

    50838.58

    51229.53

    49417.1

    50453.5

    46661.8

    44510.1

    45648.8

    44265.8

    43529.3

    44624.3

    40754.9

    39408.1

     

    数据二:最近36个月邮政行业业务收入当期值(亿元),具体数据见表格2,数据来源:

    http://data.stats.gov.cn/easyquery.htm?cn=C01&zb=A0D0F&sj=2018

    表格 2

    822.7

    772.8

    758.6

    816.6

    780.1

    757.9

    799.1

    521.5

    853.4

    763

    791.3

    677

    686.2

    628.9

    617.3

    669.3

    641.1

    611.1

    669.1

    444.8

    705.5

    653.9

    699.3

    577.2

    583.9

    532.6

    515.3

    560.2

    537.3

    489.3

    545.2

    435.2

    491.7

       
    1. 数据一结果如下:

    样本均值:51664.215483871

    顺序统计量:39408.1  40754.9  43069.53  43529.3  44265.8  44510.1  44624.3  45263.67  45648.8  45705.75  46217.52  46661.8  46946.95  48402.19  49417.1  49804.23  50413.86  50453.5  50838.58  51229.53  53434.29  53940.86  55911.31  58849.33  61222.62  63048.2  63964.83  65789.22  66043.52  66060.27  66160.72

    样本中位数:49804.23

    样本方差:68377209.2357923

    样本标准差:8269.0512899481

     

    数据二结果如下:

    样本均值:648.739393939394

    顺序统计量:435.2    444.8    489.3    491.7    515.3    521.5    532.6    537.3    545.2    560.2    577.2    583.9    611.1    617.3    628.9    641.1    653.9    669.1    669.3        677    686.2    699.3    705.5    757.9    758.6        763    772.8    780.1    791.3    799.1    816.6    822.7    853.4

    样本中位数:653.9

    样本方差:14053.2274621212

    样本标准差:118.546309356813

    1. 数据一;

    数据二:

    程序命令附录:

    样本均值:mean()

    顺序统计量:sort()

    样本中位数:median()

    样本方差:var()

    样本标准差:std()

    绘图程序如下:

    %%  数据1
    %% 直方图
    load('a.mat');
     hist(a);
     set(0,'defaultfigurecolor','w')
     title('Histogram of Score');
     xlabel('x')
     %% 核密度估计曲线
     load('a.mat');
     ksdensity(a);
     set(0,'defaultfigurecolor','w')
      title('Nuclear density estimation curve');
      xlabel('x')
      ylabel('Density')
     %% 经验分布函数图
      load('a.mat');
      cdfplot(a);
      set(0,'defaultfigurecolor','w')
     %% 箱形图
     load('a.mat');
     boxplot(a); 
     set(0,'defaultfigurecolor','w')
       title('Box chart');
     
     %%  数据2
     %% 直方图
    load('b.mat');
     hist(b);
     set(0,'defaultfigurecolor','w')
     title('Histogram of Score');
     xlabel('x')
     %% 核密度估计曲线
     load('b.mat');
     ksdensity(b);
     set(0,'defaultfigurecolor','w')
      title('Nuclear density estimation curve');
      xlabel('x')
      ylabel('Density')
     %% 经验分布函数图
      load('b.mat');
      cdfplot(b);
      set(0,'defaultfigurecolor','w')
     %% 箱形图
     load('b.mat');
     boxplot(b); 
     set(0,'defaultfigurecolor','w')
       title('Box chart');
    

     

    展开全文
  • 非参数估计:核密度估计KDE

    万次阅读 多人点赞 2016-12-14 11:38:46
    http://blog.csdn.net/pipisorry/article/details/53635895核密度估计Kernel Density Estimation(KDE)概述密度估计的问题由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一。解决这一问题的...

    http://blog.csdn.net/pipisorry/article/details/53635895

    核密度估计Kernel Density Estimation(KDE)概述

    密度估计的问题

    由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一。解决这一问题的方法包括参数估计和非参数估计。

    参数估计

    参数估计又可分为参数回归分析和参数判别分析。在参数回归分析中,人们假定数据分布符合某种特定的性态,如线性、可化线性或指数性态等,然后在目标函数族中寻找特定的解,即确定回归模型中的未知参数。在参数判别分析中,人们需要假定作为判别依据的、随机取值的数据样本在各个可能的类别中都服从特定的分布。经验和理论说明,参数模型的这种基本假定与实际的物理模型之间常常存在较大的差距,这些方法并非总能取得令人满意的结果。

    [参数估计:最大似然估计MLE][参数估计:文本分析的参数估计方法]

    非参数估计方法

    由于上述缺陷,Rosenblatt和Parzen提出了非参数估计方法,即核密度估计方法。由于核密度估计方法不利用有关数据分布的先验知识,对数据分布不附加任何假定,是一种从数据样本本身出发研究数据分布特征的方法,因而,在统计学理论和应用领域均受到高度的重视。

    核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window)。Ruppert和Cline基于数据集密度函数聚类算法提出修订的核密度估计方法。

    核密度估计在估计边界区域的时候会出现边界效应

    [https://zh. wikipedia.org/zh-hans/核密度估计]

    因此,一句话概括,核密度估计Kernel Density Estimation(KDE)是在概率论中用来估计未知的密度函数,属于非参数检验方法之一。

    在密度函数估计中有一种方法是被广泛应用的——直方图。如下图中的第一和第二幅图(名为Histogram和Histogram, bins shifted)。直方图的特点是简单易懂,但缺点在于以下三个方面:密度函数是不平滑的;密度函数受子区间(即每个直方体)宽度影响很大,同样的原始数据如果取不同的子区间范围,那么展示的结果可能是完全不同的。如下图中的前两个图,第二个图只是在第一个图的基础上,划分区间增加了0.75,但展现出的密度函数却看起来差异很大;直方图最多只能展示2维数据,如果维度更多则无法有效展示。


    核密度估计有多种内核,图3(Tophat Kernl Density)为不平滑内核,图4(Gaussian Kernel Density,bandwidth=0.75)为平滑内核。在很多情况下,平滑内核(如高斯核密度估计,Gaussian Kernel Density)使用场景较多。

    虽然采用不同的核函数都可以获得一致性的结论(整体趋势和密度分布规律性基本一致),但核密度函数也不是完美的。除了核算法的选择外,带宽(bandwidth)也会影响密度估计,过大或过小的带宽值都会影响估计结果。如上图中的最后三个图,名为Gaussian Kernel Density,bandwidth=0.75、Gaussian Kernel Density,bandwidth=0.25、Gaussian Kernel Density,bandwidth=0.55.

    核密度估计的应用场景

    股票、金融等风险预测:在单变量核密度估计的基础上,可以建立风险价值的预测模型。通过对核密度估计变异系数的加权处理,可以建立不同的风险价值的预测模型。

    密度估计中应用较多的算法是高斯混合模型以及基于近邻的核密度估计。高斯混合核密度估计模型更多会在聚类场景中应用。

    [核密度估计Kernel Density Estimation(KDE)]

    核密度分析可用于测量建筑密度、获取犯罪情况报告,以及发现对城镇或野生动物栖息地造成影响的道路或公共设施管线。可使用 population 字段根据要素的重要程度赋予某些要素比其他要素更大的权重,该字段还允许使用一个点表示多个观察对象。例如,一个地址可以表示一栋六单元的公寓,或者在确定总体犯罪率时可赋予某些罪行比其他罪行更大的权重。对于线要素,分车道高速公路可能比狭窄的土路产生更大的影响,高压线要比标准电线杆产生更大的影响。[ArcGIS中的介绍]

    热力图大家一定听说过,其实热力图就是核密度估计。

    总而言之,核密度就是用来估计密度的,如果你有一系列空间点数据,那么核密度估计往往是比较好的可视化方法

    皮皮blog



    核密度估计

    所谓核密度估计,就是采用平滑的峰值函数(“核”)来拟合观察到的数据点,从而对真实的概率分布曲线进行模拟。

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


    K(.)为核函数(非负、积分为1,符合概率密度性质,并且均值为0)。有很多种核函数,uniform,triangular, biweight, triweight, Epanechnikov,normal等。

    h>0为一个平滑参数,称作带宽(bandwidth),也看到有人叫窗口。

    Kh(x) = 1/h K(x/h). 为缩放核函数(scaled Kernel)。

    核密度函数的原理比较简单,在我们知道某一事物的概率分布的情况下,如果某一个数在观察中出现了,我们可以认为这个数的概率密度很大,和这个数比较近的数的概率密度也会比较大,而那些离这个数远的数的概率密度会比较小。

    基于这种想法,针对观察中的第一个数,我们可以用K去拟合我们想象中的那个远小近大概率密度。对每一个观察数拟合出的多个概率密度分布函数,取平均。如果某些数是比较重要的,则可以取加权平均。需要说明的一点是,核密度的估计并不是找到真正的分布函数。

    Note: 核密度估计其实就是通过核函数(如高斯)将每个数据点的数据+带宽当作核函数的参数,得到N个核函数,再线性叠加就形成了核密度的估计函数,归一化后就是核密度概率密度函数了

    以下面3个数据点的一维数据集为例:5, 10, 15

    绘制成直方图是这样的:                                                   而使用KDE则是:

    KDE核函数k(.)

    理论上,所有平滑的峰值函数均可作为KDE的核函数来使用,只要对归一化后的KDE而言(描绘在图上的是数据点出现的概率值),该函数曲线下方的面积和等于1即可。

    只有一个数据点时,单个波峰下方的面积为1,存在多个数据点时,所有波峰下方的面积之和为1。概而言之,函数曲线需囊括所有可能出现的数据值的情况。

    常用的核函数有:矩形、Epanechnikov曲线、高斯曲线等。这些函数存在共同的特点:在数据点处为波峰;曲线下方面积为1。

    单个数据点(只有一个数据时)所对应的这些核函数

    矩形

    Epanechnikov曲线

    高斯曲线

    [概率论:高斯/正态分布 ]

    sklearn中实现的核函数

    kde_kernels

    sklearn核函数形式

    • Gaussian kernel (kernel = 'gaussian')

      K(x; h) \propto \exp(- \frac{x^2}{2h^2} )

    • Tophat kernel (kernel = 'tophat')

      K(x; h) \propto 1 if x < h

    • Epanechnikov kernel (kernel = 'epanechnikov')

      K(x; h) \propto 1 - \frac{x^2}{h^2}

    • Exponential kernel (kernel = 'exponential')

      K(x; h) \propto \exp(-x/h)

    • Linear kernel (kernel = 'linear')

      K(x; h) \propto 1 - x/h if x < h

    • Cosine kernel (kernel = 'cosine')

      K(x; h) \propto \cos(\frac{\pi x}{2h}) if x < h

    [Kernel Density Estimation ]

    wekipedia上各种核函数的图形


    均匀核函数 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|)/h^2,-h≤x≤h

    伽马核函数 kxi(x)=[x^(α-1)exp{-xα/xi}]/[(xi/α)^α.Γ(α)]

    高斯核函数K(x,xc)=exp(-||x-xc||^2/(2*σ)^2)其中xc为核函数中心,σ为函数的宽度参数

    [https://zh.wikipedia.org/zh-hans/%E6%A0%B8%E5%AF%86%E5%BA%A6%E4%BC%B0%E8%AE%A1]

    不同内核的比较

    Epanechnikov 内核在均方误差意义下是最优的,效率损失也很小。

    由于高斯内核方便的数学性质,也经常使用 K(x)= ϕ(x),ϕ(x)为标准正态概率密度函数。

    对于多个数据点的KDE曲线:由于相邻波峰之间会发生波形合成,因此最终所形成的曲线形状与选择的核函数关系并不密切。考虑到函数在波形合成计算上的易用性,一般使用高斯曲线(正态分布曲线)作为KDE的核函数。

    KDE算法:索引树

    lz发现sklearn算法实现中有一个参数是算法项,如algorithm='auto',想了一下是为了加速。

    KDE的概率密度函数公式得到后


    有了上述公式之后,只需遍历输出图像的每一个点,计算其核密度估计值即可。

    但是稍微想一下就发现这个程序太冗余了,如果有很多点(n很大),并且输出图像很大,那么每一个像素都需要进行n个累积的加法运算,并且大部分都是+0(因为一般来说,一个点附近的点不会很多,远远小于n,其余大部分点与这个像素的距离都大于r),这样就造成了冗余计算。

    解决方案当然也非常简单,就是建立一个索引,然后在计算某个像素的核密度估计值时利用索引搜索出附近的点,然后累积这些点的核函数即可。

    如Dotspatial自带了多种空间索引,有R树,R*树,KD树等;sklearn自带了kd tree, ball tree等等。

    如果只需找出附近的点,对索引要求不高,任意一个索引都能使用。

    [ 空间点云核密度估计算法的实现-以Dotspatial为基础GIS库]

    KDE带宽h

    如何选定核函数的“方差”呢?这其实是由带宽h来决定,不同的带宽下的核函数估计结果差异很大。

    带宽反映了KDE曲线整体的平坦程度,也即观察到的数据点在KDE曲线形成过程中所占的比重。带宽越大,观察到的数据点在最终形成的曲线形状中所占比重越小,KDE整体曲线就越平坦;带宽越小,观察到的数据点在最终形成的曲线形状中所占比重越大,KDE整体曲线就越陡峭。

    还是以上面3个数据点的一维数据集为例,如果增加带宽,那么生成的KDE曲线就会变平坦:

    如果进一步增加带宽,那么KDE曲线在变平坦的同时,还会发生波形合成:

    相反,如果减少带宽,那么KDE曲线就会变得更加陡峭:

    从数学上来说,对于数据点Xi,如果带宽为h,那么在Xi处所形成的曲线函数为(其中K为核函数):

    在上面的函数中,K函数内部的h分母用于调整KDE曲线的宽幅,而K函数外部的h分母则用于保证曲线下方的面积符合KDE的规则(KDE曲线下方面积和为1)。

    带宽的选择

    带宽的选择很大程度上取决于主观判断:如果认为真实的概率分布曲线是比较平坦的,那么就选择较大的带宽;相反,如果认为真实的概率分布曲线是比较陡峭的,那么就选择较小的带宽。

    带宽计算好像也有相应的方法,如R语言中计算带宽时,默认采用”nrd0″方法。

    如何选择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) ]
    在选择合适的核函数及带宽后,KDE可以模拟真实的概率分布曲线,并得到平滑而漂亮的结果。以近200个点的CPU使用率为例,使用KDE绘制的结果为:
    Screen Shot 2013-12-31 at 7.26.14 AM

    [一维数据可视化:核密度估计(Kernel Density Estimates)]

    皮皮blog



    核密度估计的实现

    Python中KDE的实现:sklearn

    [sklearn.neighbors.KernelDensity(bandwidth=1.0, algorithm='auto', kernel='gaussian', metric='euclidean', atol=0, rtol=0, breadth_first=True, leaf_size=40, metric_params=None)

    from sklearn.neighbors import kde
    import numpy as np
    
    X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
    kde = kde.KernelDensity(kernel='gaussian', bandwidth=0.2).fit(X)
    print(kde.score_samples(X))
    print(np.exp(kde.score_samples(X)))
    [-0.41075698 -0.41075698 -0.41076071 -0.41075698 -0.41075698 -0.41076071]

    [ 0.66314807  0.66314807  0.6631456   0.66314807  0.66314807  0.6631456 ]

    score_samples(X)

    Evaluate the density model on the data.

    Parameters:

    X : array_like, shape (n_samples, n_features)

    kde.score_samples(X)返回的是点x对应概率的log值,要使用exp求指数还原。

    Note: 还原后的所有点的概率和范围是[0, 无穷大],只是说一维数据线下面的面积或者二维数据面下面的体积和为1。

    [Density Estimation]

    [sklearn.neighbors.KernelDensity]

    spark中KDE的实现

    MLlib中,仅仅支持以高斯核做核密度估计。

    [核密度估计]

    R中KDE的实现

    在R语言中,KDE的绘制是通过density()函数来实现的 — 通过density()函数计算得到KDE模型,然后再使用plot()函数对KDE曲线进行绘制:
    x <- c(5, 10, 15)
    plot(density(x))
    出于兼容性上的考虑,R语言中density()函数在计算带宽时,默认采用”nrd0″方法。不过,根据R语言的帮助文档,带宽参数bw应该显式声明为其它更合适的方法,比如”SJ”:
    plot(density(x, bw="SJ"))
    对于调整带宽,除了修改bw参数,还可以通过设定adjust参数来进行扩大或缩小:
    plot(density(x, bw="SJ", adjust=1.5))
    在上面的例子中,最终使用的带宽将是采用”SJ”方法计算得到的带宽的1.5倍。adjust参数的默认值为1,也即既不扩大、也不缩小。
    至于核函数,density()默认采用高斯曲线。可以通过设定kernel参数来更改核函数。比如:plot(density(x, bw="SJ", kernel="epanechnikov"))

    density()函数接受以下7个核函数选项:
        gaussian。高斯曲线,默认选项。在数据点处模拟正态分布。
        epanechnikov。Epanechnikov曲线。
        rectangular。矩形核函数。
        triangular。三角形核函数。
        biweight。
        cosine。余弦曲线。
        optcosine。

    from: http://blog.csdn.net/pipisorry/article/details/53635895

    ref: [有边界区间上的核密度估计]


    展开全文
  • 研究认为种群动态曲线拟合目标函数的选取及定义取决于密度估计方差的性质。由密度估计方法的原理及计算机模拟确定了密度估计方差与密度估计值之间的正相关关系。由此确定了采用1/N加权的目标函数∑(Ni-Ni)2/Ni的...
  • 密度估计与自适应带宽的核密度估计

    万次阅读 多人点赞 2017-06-29 22:26:44
    最近看论文,发现一个很不错的概率密度估计方法。在此小记一下。 先来看看准备知识。 密度估计经常在统计学中作为一种使用有限的样本来估计其概率密度函数的方法。 我们在研究随机变量的过程中,随机变量的概率...

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

    f^h(x)=1ni=1nKh(xxi)=1nhi=1nK(xxih)

    这里 K(x) 核函数(非负,积分为1,均值为0,符合概率密度的性质), h>0 是带宽。有很多种核函数, uniform,triangular,biweight,triweight,Epanechnikov,normal 等。各种核函数的图形如下:
    各种核函数曲线
    由于高斯内核方便的数学性质,也经常使用 K(x)=ϕ(x) ϕ(x) 为标准正态概率密度函数。核密度估计与直方图很类似,但相比于直方图还有光滑连续的性质。
    举例理解(该例子来自维基百科 https://en.wikipedia.org/wiki/Kernel_density_estimation
    已知:6个数据点
    x1=2.1x2=1.3x3=0.4x4=1.9x5=5.1x6=6.2
    对于直方图,首先将水平轴划分为覆盖数据范围的子间隔或区段。在这种情况下,我们有6个宽度为2的矩形。每当数据点落在此间隔内时,我们放置一个高度为 112 的矩形。对于核密度估计,我们在每个数据点 xi 上放置方差2.25(由红色虚线表示)的正态核函数。叠加一起得到核密度估计的结果,蓝色线表示。
    很明显,直方图得到的密度估计平滑程度比使用核密度估计得到的密度函数要差很多.
    现在问题是如何选定核函数的“方差”呢?这其实是由 h 来决定,不同的带宽h下的核函数估计结果差异很大。
    这里写图片描述
    核带宽的选择
    带宽是一个自由参数,对所得到的估计值有很大的影响。为了说明效果,举个例子:
    下图是从标准正态分布中抽取的随机样本(横轴上的蓝色的点点代表样本点)灰色曲线是真是的概率密度(正态密度,均值0,方差1)。相比之下,红色曲线是使用了过小的带宽 h(=0.05) 得出的概率密度曲线,可见其波折陡峭;绿色曲线过于平滑,因为它使用了过大的带宽 h(=2) ,掩盖了数据大部分基础结构。

    这里写图片描述

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

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

    weakassumptions 下, MISE(h)=AMISE(h)+o(1nh+h4) ,其中 AMISE 为渐进的 MIS E。而 AMISE 有,

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

    其中,
    R(g)=g(x)2dx

    m2(K)=x2K(x)dx

    为了使 MISE(h) 最小,则转化为求极点问题,
    AMISE(h)h=R(K)nh2+m2(K)2h3R(f′′)=0

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

    当核函数确定之后, hAMISE 公式里的 R m f′′ 都可以确定下来,有( hAMISEn15 ), AMISE(h)=O(n45)

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

    h=(4σ^53n)151.06σ^n15

    这里 σ^ 是样品的标准差。这种近似称为正态分布近似高斯近似,或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兴趣点推荐领域,或位置服务领域,带宽 h 的设置主要与分析尺度以及地理现象特点有关。较小的带宽可以使密度分布结果中出现较多的高值或低值区域,适合于揭示密度分布的局部特征,而较大的带宽可以在全局尺度下使热点区域体现得更加明显。另外,带宽应与兴趣点的离散程度呈正相关,对于稀疏型的兴趣点分布应采用较大的带宽,而对于密集型的兴趣点则应考虑较小一些的带宽。

    如果带宽不是固定的,而是根据样本的位置而变化(其变化取决于估计的位置(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)=1Mj1M1(ωhj)nK(xx(j)ωhj)

    K(x)=1(2π)n|S|exp(12xTS1x)

    hj=[Mk=1f(x(k))]1Mf(x(j))α

    这里 k(x) 是带宽为 hj 的核密度估计函数, M 是样例的个数,看出来了吧,每一个点j都有一个带宽 hj ,因此这叫自适应可变 K(x) 是核函数,这里用了高斯核函数,当然也可以是其他的核函数。 0α1 ,为灵敏因子,通常 α 取0.5, α=0 时,自适应带宽的核密度估计就变成了固定带宽的核密度估计了。固定带宽的核密度估计就是前面说的核密度估计。 ω 表示带宽的参数。
    自适应带宽的核密度估计可以参考维基百科: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、概率密度估计方法

    概率密度估计方法用于估计一组数据集的概率密度分布,分为参数估计方法和非参数估计方法。
    参数估计方法
    假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等,由于参数估计方法中需要加入主观的先验知识,往往很难拟合出与真实分布的模型;
    非参数估计法
    非参数估计并不加入任何先验知识,而是根据数据本身的特点、性质来拟合分布,这样能比参数估计方法得出更好的模型。核密度估计就是非参数估计中的一种。

    2、核密度估计KDE(Kernel Density Estimation)

    由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window),设数据集包含N个样本,对这N个样本进行核函数拟合,将这N个概率密度函数进行叠加便得到了整个样本集的概率密度函数。拟合叠加过程如下图所示。
    在这里插入图片描述
    核密度估计概率密度函数为
    在这里插入图片描述
    高斯函数为核函数的概率密度函数如下式:
    在这里插入图片描述
    带宽h的选择:当选择极小的带宽值,每个点就是一个峰值,那么每个点就是一类,如果选择大的带宽值,那么所有的数据只有一个峰值,只有一类。带宽选择没有对错之分,可以基于分析的需求进行选择。也可以通过可视化观察估计结果和数据分布的匹配度。
    核函数的种类如下图所示。
    在这里插入图片描述
    2、高斯混合模型GMM(Gaussian Mixture Model)
    高斯混合模型的表达式如下式,
    在这里插入图片描述在这里插入图片描述
    D维多元高斯分布如下式。
    在这里插入图片描述
    高斯混合模型的示意图如下
    在这里插入图片描述

    3、核密度估计与高斯混合模型对比

    核密度估计采用单一模型,导致采样样本中存在的噪声使最终结果的噪点较多,并且对于细节如轮廓边缘处理过于粗糙。而混合高斯模型对每个像素点建立多个高斯分布,能更精确描述数据特征,但计算量较大,算法复杂。

    参考链接
    https://blog.csdn.net/liangzuojiayi/article/details/78152180
    https://blog.csdn.net/unixtch/article/details/78556499

    展开全文
  • 主要讲述直方图与kernel density estimation,参考维基百科中的经典论述,从直方图和核密度估计的实现对比来说明这两种经典的非参数密度估计方法,具体的细节不做深入剖析。
  • 密度估计

    2020-04-05 17:43:00
    密度估计密度估计属于非参数估计方法。概率分布是统计推断的核心问题,一旦给出联合概率密度,就能够回答变量子集之间的所有问题。可以说,参数统计的核心内容就是对密度的估计。通常在实际问题中,很多数据的分布...
  • 密度估计理论(部分)

    千次阅读 2018-11-02 17:56:09
    1、密度估计 考虑任何随机数量 X 有概率密度函数 f, 我们用以下公式计算其概率密度: 假设我们有一组来自未知密度函数的观察到的数据点,我们的目标是从观测到的数据估计他们的估算密度函数。 有两种方法做密度估计...
  • 一般的概率分布都有具体的函数形式,并且有少量的参数控制,例如指数分布的 ,高斯分布的 等。这些参数可以通过观测样本借助最大似然理论以及贝叶斯估计来确定,...密度估计直方图对于某样本数据 ,可以将 划分为不...
  • MATLAB中自带的核密度估计函数

    万次阅读 2017-07-15 15:48:50
    我们在统计数据处理时,经常计算一个样本的概率密度估计,也就是说给出一组统计数据,要求你绘制出它的概率分布曲线,matlab的统计工具箱中有直接的函数 就是:Ksdensity 核心平滑密度估计 [f,xi] = ksdensity...
  • 密度估计KDE

    千次阅读 2018-08-19 11:28:49
    密度估计Kernel Density Estimation(KDE)概述 密度估计的问题 由给定样本集合求解随机变量的分布密度函数问题是概率统计学的基本问题之一。解决这一问题的方法包括参数估计和非参数估计。 参数估计 参数估计又...
  • MATLAB-高斯核密度估计

    热门讨论 2010-03-25 09:12:10
    主要用MATLAB编写的核密度估计方法,采用的核是高斯核!
  • 密度估计(KDE)原理及实现

    万次阅读 多人点赞 2019-12-30 20:10:41
    统计学中,核密度估计,即Kernel Density Estimation,用以基于有限的样本推断总体数据的分布,本文对核密度估计的原理进行探讨,在此基础上进行实现
  • 针对杂波分布不均匀且密度未知的多目标跟踪问题,提出一种基于稀疏度阶数优化的杂波密度估计算法.首先,剔除在跟踪门内的潜在目标测量,获取杂波测量集;其次,从杂波测量集中构造“稀疏度阶数-超立方体容积”的样本,并...
  • 非参数密度估计

    千次阅读 2015-07-25 22:20:57
    统计中,当给出一系列的数据,我们希望知道数据的分布如何,例如给出一个班级的期末考试成绩,那么我们对成绩的分布很感兴趣,那么如何去对这个分布函数(或者是相应的密度函数)进行估计
  • 密度估计 Kernel Density Estimation(KDE)

    万次阅读 多人点赞 2017-11-16 23:16:14
    写在前面给定一个样本集,怎么得到该样本集的分布密度函数,解决这一问题有两个方法: 1.参数估计方法 简单来讲,即假定样本集符合某一概率分布,然后根据样本集拟合该分布中的参数,例如:似然估计,混合高斯等...
  • 为了准确分析驾驶员的启动反应时间,本文采用非参数核密度估计方法对检测得到的驾驶员启动反应时间进行分布... 通过核密度估计的密度曲线可以更加直观地看出驾驶员启动反应时间在各时间段分布水平的变化和整体分布形态.
  • 核概率密度估计介绍

    千次阅读 2013-11-28 11:40:46
    核概率密度估计 本文分为三个部分:第一部分是直方图,讨论了如何创建它以及它的属性是什么样的。第二部分是核密度估计,介绍了它对比直方图有哪些改进和更一般性的特点。 最后一部分是,为了从数据中抽取所有重要的...
  • R语言核密度估计

    千次阅读 2020-03-11 09:39:59
    密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,由Rosenblatt (1955)和Emanuel Parzen(1962)提出,又名Parzen窗(Parzen window)。 假设我们有n个数X1-Xn,我们要计算某一个数X的概率密度...
  • 接下来是核密度估计——它是直方图的泛化和改进。 最后是如何选择最合适的核,以便我们提取数据中的所有重要特征。 1. 直方图 直方图是最简单最常见的一种非参数密度估计器。构建直方图时,我们将数据值的覆盖域划分...
  • 密度估计图核密度估计图(kernel density plot)用于显示数据在X轴连续数据段内的分布状况;直方图的变种,使用平滑曲线来绘制数值水平,从而得出更平滑的分布;较直方图,核密度估计图,不受所使用分组数量的影响,...
  • 密度估计(Kernel density estimation)

    万次阅读 多人点赞 2014-12-15 20:14:28
    密度估计(Kernel density estimation)简析
  • MATLAB二维核密度估计

    2016-01-26 15:53:16
    MATLAB实现的二维核密度估计。 输入平面样本点,得到概率密度函数。 2D Kernel Density Estimation。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,966
精华内容 4,386
关键字:

密度估计曲线