ksdensity

核平滑函数估计单变量和双变量数据

描述

例子

(f,西)= ksdensity (x)返回一个概率密度估计值,f,表示向量或两列矩阵中的样本数据x。该估计是基于一个正常的核函数,并在等间距点进行计算,西,覆盖了数据的范围xksdensity估计的100个点对单变量数据,或900点数据二元密度。

ksdensity最适合连续分布的样本。

例子

(f,西)= ksdensity (x,)指定点()来评估f。在这里,西包含相同的值。

例子

(f,西)= ksdensity (___,名称,值)使用由一个或多个名-值对参数指定的附加选项,以补充前面语法中的任何输入参数。例如,您可以定义函数类型ksdensity计算,如概率密度、累积概率、幸存者函数等。或者你可以指定平滑窗口的带宽。

例子

(f,西,bw)= ksdensity (___)也返回内核平滑窗口的带宽,bw。默认带宽是正常密度下的最佳带宽。

例子

ksdensity (___)绘制核平滑函数估计。

ksdensity (斧头,___)使用带有句柄的轴绘制结果,斧头,而不是返回的当前轴gca

例子

全部收缩

生成从两个正态分布的混合物的样本数据集。

rng (“默认”)%的再现性X = [randn(30,1);5 + randn(30,1)];

画出估计的密度。

[f, xi] = ksdensity (x);图情节(XI中,f);

密度估计显示了样品的双峰性。

从半正态分布中生成非负样本数据集。

rng (“默认”)%的再现性pd = makedist (“HalfNormal”,'亩'0,“σ”,1);X =随机(PD,100,1);

使用对数变换和反射两种不同的边界校正方法来估计pdf“BoundaryCorrection”名称-值对的论点。

分= linspace (0, 1000);%表示对估计值进行评估[f1,ξ1]= ksdensity (x,分,“金宝app支持”,“积极”);(f2,ξ2))= ksdensity (x,分,“金宝app支持”,“积极”,“BoundaryCorrection”,'反射');

绘制两个估计的pdf。

plot(xi1,f1,xi2,f2) lgd = legend(“日志”,'反射');标题(乐金显示器,“边界修正法”) xl = xlim;xlim ([-0.25 xl xl (1) (2)))

ksdensity在指定正支持或有界支持时使用边界校正方法。金宝app默认的边界修正方法是log变换。当ksdensity转换回支持,它引入了金宝app1 / x核密度估计器中的项。因此,估计值在附近有一个峰值x = 0。在另一方面,反射方法不会导致的边界附近不希望的峰值。

加载样本数据。

负载医院

计算并绘制在指定值集处估计的cdf。

分= (min (hospital.Weight): 2:马克斯(hospital.Weight));图()ecdf (hospital.Weight)并[f,XI,BW] = ksdensity(hospital.Weight,PTS,“金宝app支持”,“积极”,“函数”,“提供”);情节(xi, f,“g”,“线宽”,2)图例(“经验提供”,“kernel-bw:违约”,“位置”,“西北”)xlabel(“患者体重”)ylabel(“估计CDF”)

ksdensity似乎平滑的累积分布函数估计得太多了。带宽越小的估计值越接近经验累积分布函数。

返回平滑窗口的带宽。

bw
bw = 0.1070

使用较小的带宽绘制累积分布函数估计值。

并[f,Ⅺ] = ksdensity(hospital.Weight,PTS,“金宝app支持”,“积极”,“函数”,“提供”,“带宽”,0.05);情节(xi, f,“——r”,“线宽”,2)图例(“经验提供”,“kernel-bw:违约”,“kernel-bw: 0.05”,“位置”,“西北”)保持

ksdensity带宽越小的估计越符合经验累积分布函数。

加载样本数据。

负载医院

在50个等间距点绘制cdf估计值。

图()ksdensity (hospital.Weight,“金宝app支持”,“积极”,“函数”,“提供”,“NumPoints”,50)xlabel(“患者体重”)ylabel(“估计CDF”)

从均值为3的指数分布中生成样本数据。

rng (“默认”)%的再现性随机(x =“经验”,3100,(1);

创建一个表示审查的逻辑向量。在这里,寿命超过10年的观测结果被审查。

T = 10;岑= (x > T);

计算并绘制估计的密度函数。

图ksdensity(X,“金宝app支持”,“积极”,“审查”岑);

计算并绘制幸存者函数。

图ksdensity(X,“金宝app支持”,“积极”,“审查”岑,“函数”,“幸存者”);

计算并绘制累积危险函数。

图ksdensity(X,“金宝app支持”,“积极”,“审查”岑,“函数”,“cumhazard”);

生成两个正态分布的混合物,并绘制在指定的一组概率值的所估计的逆累积分布函数。

rng (“默认”)%的再现性X = [randn(30,1);5 + randn(30,1)];PI = linspace(0.01,.99,99);图ksdensity(X,P1,“函数”,“icdf”);

生成两个正态分布的混合物。

rng (“默认”)%的再现性X = [randn(30,1);5 + randn(30,1)];

返回平滑窗口的带宽的概率密度估计。

(f, xi, bw) = ksdensity (x);bw
bw = 1.5141

对于正常密度,默认带宽是最优的。

画出估计的密度。

图情节(XI中,f);xlabel(“十一”)ylabel(“f”)保持

使用增加的带宽值绘制密度。

并[f,Ⅺ] = ksdensity(X,“带宽”,1.8);情节(xi, f,“——r”,“线宽”1.5)

更高的带宽进一步平滑了密度估计,这可能掩盖了分布的一些特性。

现在,绘制使用减少的带宽值的密度。

并[f,Ⅺ] = ksdensity(X,“带宽”,0.8);情节(xi, f,'-.k',“线宽”传说,1.5)(“bw =违约”,“bw = 1.8”,“bw = 0.8”)保持

带宽越小,密度估计的平滑程度越小,这就夸大了样本的某些特性。

创建一个由点组成的两列向量,在这些点上计算密度。

gridx1 = -0.25:0.05:1.25;gridx2 = 0:0.1:15;[X1,X2] = meshgrid(gridx1,gridx2);X1 = X1(:);X2 = X2(:);XI = [X1 X2];

产生从二元正态分布的混合物包含随机数的30×2矩阵。

rng (“默认”)%的再现性x = [0+ 5*rand(20,1) 5+2.5*rand(20,1);综合成绩+ .25 *兰德(10,1)8.75 + 1.25 *兰德(10,1)];

绘制样本数据的估计密度。

图ksdensity(X,XI);

输入参数

全部收缩

对于其中的样本数据ksdensity返回f值,指定为列向量或两列矩阵。对单变量数据使用列向量,对双变量数据使用双列矩阵。

例子:并[f,Ⅺ] = ksdensity(x)的

数据类型:|

要计算的点f,指定为矢量或两列的矩阵。对于单变量数据,可以是行向量,也可以是列向量。返回输出的长度f等于点的个数

例子:PTS =(0:1:25);ksdensity(X,PTS);

数据类型:|

图形的轴句柄ksdensity阴谋,指定为把手。

例如,如果h是一个数字的句柄,然后ksdensity可以绘制出如下图。

例子:ksdensity (h, x)

名称 - 值对参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和是对应的值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“审查”,岑,“内核”、“三角形”,“NumPoints”, 20岁的“函数”,“提供”指定ksdensity利用三角形核平滑函数,并考虑矢量中的截尾数据信息,对覆盖数据范围的20个等间距点进行评价,从而估计cdfCENS

核平滑窗口的带宽,它是点的数量的函数x,指定为逗号分隔的一对组成的“带宽”和一个标量值。如果样本数据是双变量的,带宽也可以是一个两元素矢量。默认值是最佳估计正常密度[1],但你可能想选择一个或大​​或小的值,以平滑更多或更少。

如果您指定“BoundaryCorrection”作为“日志”(默认)和“金宝app支持”作为“积极”或一个向量[L C],ksdensity使用日志转换将有界数据转换为无界数据。的价值“带宽”在转换后的值的刻度上。

例子:“带宽”,0.8

数据类型:|

边界校正方法,指定为逗号分隔对组成“BoundaryCorrection”“日志”要么'反射'

描述
“日志”

ksdensity转换的数据x不受下列变换之一的限制。然后,经过密度估计,将其转换回原始的有界尺度。

  • 对于单变量数据,如果您指定“金宝app支持”,“积极”,然后ksdensity适用于日志(X)

  • 对于单变量数据,如果您指定“金宝app支持”,[L U],在那里lU数字标量和L < U,然后ksdensity适用于日志((xl) / (U-x))

  • 对于双变量数据,ksdensityx单变量数据也是如此。

的价值“带宽”bw输出是经变换的值的标度。

'反射'

ksdensity通过在边界附近添加反射数据来增加有界数据,然后返回与原始支持相对应的估计值。金宝app有关详细信息,请参见反射法

ksdensity仅当您指定时应用边界校正“金宝app支持”作为一种价值“无界”

例子:“BoundaryCorrection”、“反射”

表示哪些条目被审查的逻辑向量,指定为由逗号分隔的对组成“审查”和一个二进制值的向量。0表示没有截尾,1表示观察被截尾。默认是没有审查。此名称-值对仅对单变量数据有效。

例子:“审查”,censdata

数据类型:逻辑

函数要估计,指定为由逗号分隔的对组成“函数”和下面的一个。

描述
“pdf” 概率密度函数。
“提供” 累积分布函数。
“icdf”

逆累积分布函数。ksdensity计算中的值的估计的逆CDFx,且评估其在指定的概率值π

此值仅对单变量数据有效。

“幸存者” 幸存者的功能。
“cumhazard”

累积风险函数。

此值仅对单变量数据有效。

例子:“函数”,“icdf”

类型的内核平滑器,指定为逗号分隔的对组成'核心'和下面的一个。

  • “正常”(默认)

  • “盒子”

  • “三角形”

  • “epanechnikov”

  • 自定义或内置函数的内核函数。将函数指定为函数句柄(例如,@myfunction要么@normpdf)或作为字符向量或字符串标量(例如,“myfunction”要么'normpdf')。该软件使用一个参数调用指定的函数,该参数是数据值与计算密度的位置之间的距离数组。函数必须返回包含内核函数相应值的相同大小的数组。

    “函数”“pdf”,内核函数返回密度值。否则,它将返回累积概率值。

    指定自定义内核时“函数”“icdf”返回一个错误。

对于双变量数据,ksdensity应用相同的内核每个维度。

例子:“核心”,“盒子”

在等距点数西,指定为逗号分隔的一对组成的“NumPoints”和一个标量值。此名称-值对仅对单变量数据有效。

例如,对于给定函数在样本数据范围内80个等间距点处的核平滑估计,输入:

例子:“NumPoints”, 80年

数据类型:|

金宝app支持密度,指定由逗号分隔的对组成“金宝app支持”和下面的一个。

描述
“无界” 违约。允许密度延伸到整个实线。
“积极” 将密度限制为正值。
双元素向量,[L C] 给出了支持密度的有限下界和上界。金宝app此选项仅对单变量样本数据有效。
2乘2矩阵,(L1 L2;U1 U2) 给出了支持密度的有限下界和上界。金宝app第一行包含下限,第二行包含上限。此选项仅对双变量样本数据有效。

对于双变量数据,“金宝app支持”可以是指定为?的正、无界或有界变量的组合[0负无穷;正正)要么[0 L,天道酬勤ù]

例子:“金宝app支持”,“积极”

例子:'金宝app支持',[0 10]

数据类型:||字符|字符串

函数用于创建内核密度图,指定由逗号分隔的对组成'PlotFcn'和下面的一个。

描述
“冲浪” 三维阴影表面绘图,创建使用冲浪
'轮廓' 等高线图,创建使用轮廓
'plot3' 3-d线图,使用创建的plot3
“surfc” 下一个3-d等高线图的阴影面积,使用创建的surfc

此名称-值对仅对双变量样本数据有效。

例子:“PlotFcn”、“轮廓”

权重的样本数据,指定为逗号分隔的一对组成的“重量”和长度向量大小(x, 1),在那里x为样本数据。

例子:“重量”,xw

数据类型:|

输出参数

全部收缩

函数值的估计值,以向量的形式返回,其长度等于其中的点的个数西要么

评估点ksdensity计算f,以向量或两列矩阵的形式返回。对于单变量数据,缺省值为100个等间距点,这些点覆盖了in中的数据范围x。对于双变量数据,默认使用900个等距点创建meshgrid从在每个维度30等距点。

平滑窗口的带宽,作为标量值返回。

如果您指定“BoundaryCorrection”作为“日志”(默认)和“金宝app支持”作为“积极”或一个向量[L C],ksdensity使用日志转换将有界数据转换为无界数据。的价值bw在转换后的值的刻度上。

更多关于

全部收缩

内核分配

内核分配是随机变量的概率密度函数(pdf)的非参数表示。当你想避免对数据分布的假设您可以使用一个内核分配时,参数分布不能正确地描述数据,或。内核分布由平滑函数和一个带宽值,该控制所得到的密度曲线的平滑性所定义。

核密度估计器是随机变量的估计pdf。对于任何的实值x,核密度估计器的公式为

f ^ h ( x ) = 1 n h = 1 n K ( x x h ) ,

在哪里x1,x2,...,xn是来自未知分布的随机样本,n为样本容量, K ( · ) 是内核的平滑函数和h是带宽。

的任何实值的累积分布函数(cdf)的核估计量x, 是(谁)给的

F ^ h ( x ) = · x f ^ h ( t ) d t = 1 n = 1 n G ( x x h ) ,

在哪里 G ( x ) = · x K ( t ) d t

有关更多细节,请参见内核分配

反射法

反射法是在随机变量具有有界支持的情况下,精确求解核密度估计量的一种边界修正方法。金宝app如果您指定“BoundaryCorrection”、“反射”,ksdensity使用反射法。该方法通过在边界附近添加反射数据来扩展有界数据,并对pdf进行估计。然后,ksdensity以适当的规格化方法返回与原始支持项对应的估计pdf,从而使估计的pdf对原始支持项的积分等于1。金宝app

如果另外指定“金宝app支持”,[L U],然后ksdensity找到内核估计器,如下所示。

  • 如果“函数”“pdf”,那么内核密度估计是

    f ^ h ( x ) = 1 n h = 1 n ( K ( x x h ) + K ( x x h ) + K ( x x + h ) ] lxU,

    在哪里 x = 2 l x , x + = 2 U x x是个个样本的数据。

  • 如果“函数”“提供”,那么CDF核估计是

    F ^ h ( x ) = 1 n = 1 n ( G ( x x h ) + G ( x x h ) + G ( x x + h ) ] 1 n = 1 n ( G ( l x h ) + G ( l x h ) + G ( l x + h ) ] lxU

  • 获取逆cdf、幸存者函数或累积危险函数的内核估计量(何时)“函数”“icdf”,“幸存者”,或“cumhazrd”ksdensity同时使用 f ^ h ( x ) F ^ h ( x )

如果另外指定“金宝app支持”作为“积极”要么[0正],然后ksdensity通过替换找到内核估计器[L C][0正]在上面的方程中。

参考文献

[1] Bowman, A. W., A. Azzalini。应用平滑技术进行数据分析。纽约:牛津大学出版公司,1997。

[2]山,P.D。“分布函数的核估计”。统计学中的通信。理论和方法。第14卷,第3期,1985年,第605-620页。

核密度估计的简单边界修正。统计和计算。卷。3,第3期,1993,第135-146。

[4]西尔弗曼,B.W。用于统计和数据分析的密度估计。查普曼和霍尔/ CRC,1986。

扩展功能

R2006a前推出