ksdensity
单变量和二元数据的核平滑函数估计
语法
描述
例子
估计密度
从两个正态分布的混合物中生成一个样本数据集。
rng (“默认”)%用于再现性X = [randn(30,1);5 + randn(30日1)];
画出估计的密度。
[f,xi] = ksdensity(x);图绘制(xi, f);
密度估计显示了样品的双峰性。
用边界修正估计密度
从半正态分布生成一个非负样本数据集。
rng (“默认”)%用于再现性Pd = makedist(“HalfNormal”,“亩”0,“σ”1);X = random(pd,100,1);
用两种不同的边界修正方法,对数变换和反射来估计pdf“BoundaryCorrection”
名称-值对参数。
PTS = linspace(0,5,1000);%的点来评估估计器[f1,xi1] = ksdensity(x,pts,“万博1manbetx支持”,“积极”);[f2,xi2] = ksdensity(x,pts,“万博1manbetx支持”,“积极”,“BoundaryCorrection”,“反射”);
绘制两个估计的pdf文件。
Plot (xi1,f1,xi2,f2) LGD = legend(“日志”,“反射”);标题(乐金显示器,“边界修正法”) xl = xlim;xlim ([-0.25 xl xl (1) (2)))
ksdensity
当指定正支持或有界支持时,使用边界修正方法。万博1manbetx默认的边界修正方法是对数变换。当ksdensity
将支持转换回来,它引入万博1manbetx1 / x
核密度估计中的项。因此,估计有一个峰值附近X = 0
.另一方面,反射法不会在边界附近产生不理想的峰。
在指定值上估计累积分布函数
加载样例数据。
负载医院
计算并绘制在指定值集上计算的估计cdf。
pts = (min(hospital.Weight):2:max(hospital.Weight));图()ecdf(医院。重量)等待在[f,xi,bw] = ksdensity(医院。体重、分“万博1manbetx支持”,“积极”,...“函数”,“提供”);情节(xi, f,“g”,“线宽”2)传说(“经验提供”,“kernel-bw:违约”,“位置”,“西北”)包含(“病人体重”) ylabel (“估计提供”)
ksdensity
似乎平滑累积分布函数估计太多。较小带宽的估计可能产生更接近经验累积分布函数的估计。
返回平滑窗口的带宽。
bw
Bw = 0.1070
用较小的带宽绘制累计分布函数估计值。
[f,xi] = ksdensity(医院。体重、分“万博1manbetx支持”,“积极”,...“函数”,“提供”,“带宽”, 0.05);情节(xi, f,“——r”,“线宽”2)传说(“经验提供”,“kernel-bw:违约”,“kernel-bw: 0.05”,...“位置”,“西北”)举行从
的ksdensity
带宽越小的估计越符合经验累积分布函数。
绘制给定点数的估计累积密度函数
加载样例数据。
负载医院
在50个等距点处绘制估计的cdf。
图()ksdensity(医院。重量,“万博1manbetx支持”,“积极”,“函数”,“提供”,...“NumPoints”, 50)包含(“病人体重”) ylabel (“估计提供”)
估计幸存者和累积危险的审查失败数据
从均值为3的指数分布生成样本数据。
rng (“默认”)%用于再现性X =随机的(“经验”, 3100, (1);
创建一个表示审查的逻辑向量。在这里,寿命超过10年的观测结果被审查。
T = 10;cens = (x>T);
计算并绘制估计密度函数。
图ksdensity (x,“万博1manbetx支持”,“积极”,“审查”岑);
计算并绘制幸存者函数。
图ksdensity (x,“万博1manbetx支持”,“积极”,“审查”岑,...“函数”,“幸存者”);
计算并绘制累积危险函数。
图ksdensity (x,“万博1manbetx支持”,“积极”,“审查”岑,...“函数”,“cumhazard”);
为指定的概率值估计逆累积分布函数
生成两个正态分布的混合物,并在指定的概率值集上绘制估计的逆累积分布函数。
rng (“默认”)%用于再现性X = [randn(30,1);5 + randn(30日1)];PI = linspace(.01,.99,99);图ksdensity (x,π,“函数”,“icdf”);
平滑窗口返回带宽
生成两个正态分布的混合。
rng (“默认”)%用于再现性X = [randn(30,1);5 + randn(30日1)];
返回用于概率密度估计的平滑窗口带宽。
[f,xi,bw] = ksdensity(x);bw
Bw = 1.5141
默认带宽对于正常密度是最优的。
画出估计的密度。
图绘制(xi, f);包含(“十一”) ylabel (“f”)举行在
使用增加的带宽值绘制密度。
[f,xi] = ksdensity(x,“带宽”, 1.8);情节(xi, f,“——r”,“线宽”, 1.5)
更高的带宽进一步平滑密度估计,这可能会掩盖分布的一些特征。
现在,用减小的带宽值绘制密度。
[f,xi] = ksdensity(x,“带宽”, 0.8);情节(xi, f,“同意”,“线宽”传说,1.5)('bw = default','bw = 1.8','bw = 0.8')举行从
较小的带宽使密度估计更平滑,这夸大了样本的某些特征。
二元数据的图核密度估计
创建一个由点组成的两列向量来评估密度。
Gridx1 = -0.25:.05:1.25;Gridx2 = 0:.1:15;[x1,x2] = meshgrid(gridx1, gridx2);X1 = X1 (:);X2 = 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);
输入参数
x
- - - - - -样本数据
列向量|两列矩阵
分
- - - - - -要计算的点f
向量|两列矩阵
斧头
- - - - - -轴处理
处理
图形的轴句柄ksdensity
绘制到,指定为句柄。
例如,如果h
那是一个数字的柄吗ksdensity
可以画出这样的图形。
例子:ksdensity (h, x)
名称-值参数
的可选逗号分隔对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“审查”,岑,“内核”、“三角形”,“NumPoints”,20岁的“函数”,“提供”
指定ksdensity
通过在覆盖数据范围的20个等间隔点上评估CDF,使用三角核平滑函数并考虑向量中的删减数据信息岑
.
带宽
- - - - - -核平滑窗口带宽
正常密度的最佳值(默认)|标量值|双元素向量
核平滑窗口的带宽,这是一个函数的点的数量x
,指定为逗号分隔的对,由“带宽”
和一个标量值。如果样本数据是二元的,带宽
也可以是二元向量。默认值是估计正常密度的最佳值[1],但你可能想要选择一个更大或更小的值来平滑或多或少。
如果你指定“BoundaryCorrection”
作为“日志”
(默认),“万博1manbetx支持”
作为“积极”
或者向量(L U)
,ksdensity
使用日志转换将有界数据转换为无界数据。的价值“带宽”
在变换后的值的尺度上。
例子:“带宽”,0.8
数据类型:单
|双
BoundaryCorrection
- - - - - -边界修正法
“日志”(默认)|“反射”
边界修正方法,指定为由逗号分隔的对组成“BoundaryCorrection”
而且“日志”
或“反射”
.
价值 | 描述 |
---|---|
“日志” |
|
“反射” |
|
ksdensity
仅在指定时应用边界校正“万博1manbetx支持”
作为一种价值“无限”
.
例子:“BoundaryCorrection”、“反射”
审查
- - - - - -逻辑向量
0的向量(默认)|0和1的向量
表示哪些条目被删除的逻辑向量,指定为逗号分隔的对,由“审查”
和一个二进制值的向量。值为0表示没有审查,值为1表示观察结果被审查。默认情况是没有审查。此名称-值对仅对单变量数据有效。
例子:“审查”,censdata
数据类型:逻辑
函数
- - - - - -估计函数
“pdf”
(默认)|“提供”
|“icdf”
|“幸存者”
|“cumhazard”
函数要估计,指定为逗号分隔的对,由“函数”
下面是其中之一。
价值 | 描述 |
---|---|
“pdf” |
概率密度函数。 |
“提供” |
累积分布函数。 |
“icdf” |
逆累积分布函数。 该值仅对单变量数据有效。 |
“幸存者” |
幸存者的功能。 |
“cumhazard” |
累积危险函数。 该值仅对单变量数据有效。 |
例子:“函数”
,“icdf”
内核
- - - - - -内核平滑器类型
“正常”
(默认)|“盒子”
|“三角形”
|“epanechnikov”
|函数处理|特征向量|字符串标量
内核平滑器的类型,指定为逗号分隔的对,由“内核”
下面是其中之一。
“正常”
(默认)“盒子”
“三角形”
“epanechnikov”
一种自定义或内置函数的内核函数。将函数指定为函数句柄(例如,
@myfunction
或@normpdf
)或作为字符向量或字符串标量(例如,“myfunction”
或“normpdf”
).该软件使用一个参数调用指定的函数,该参数是数据值和计算密度的位置之间的距离数组。该函数必须返回一个相同大小的数组,其中包含核函数的相应值。当
“函数”
是“pdf”
时,核函数返回密度值。否则,它返回累积概率值。指定自定义内核时
“函数”
是“icdf”
返回一个错误。
对于二元数据,ksdensity
对每个维度应用相同的内核。
例子:“内核”、“盒子”
NumPoints
- - - - - -等距点的数目
One hundred.(默认)|标量值
中等距点的数目西
,指定为逗号分隔的对,由“NumPoints”
和一个标量值。此名称-值对仅对单变量数据有效。
例如,对于指定函数在样本数据范围内80个等间隔点上的核平滑估计,输入:
例子:“NumPoints”,80年
数据类型:单
|双
万博1manbetx
- - - - - -万博1manbetx对密度的支持
“无限”
(默认)|“积极”
|双元素向量,(L U)
|2乘2矩阵,(L1 L2;U1 U2)
万博1manbetx支持的密度,指定为由逗号分隔的对组成“万博1manbetx支持”
下面是其中之一。
价值 | 描述 |
---|---|
“无限” |
违约。允许密度扩展到整个实线。 |
“积极” |
将密度限制为正值。 |
双元素向量,(L U) |
给出密度支持的有限下界和上界。万博1manbetx此选项仅对单变量样本数据有效。 |
2乘2矩阵,(L1 L2;U1 U2) |
给出密度支持的有限下界和上界。万博1manbetx第一行包含下限,第二行包含上限。此选项仅对二元样本数据有效。 |
对于二元数据,“万博1manbetx支持”
可以是正数、无界或有界变量的组合,指定为[0负无穷;正正)
或[0 L;正你)
.
例子:“万博1manbetx支持”,“积极”
例子:“万博1manbetx支持”,[0 10]
数据类型:单
|双
|字符
|字符串
权重
- - - - - -样本数据的权重
向量
输出参数
bw
—平滑窗口带宽
标量值
平滑窗口的带宽,作为标量值返回。
如果你指定“BoundaryCorrection”
作为“日志”
(默认),“万博1manbetx支持”
作为“积极”
或者向量(L U)
,ksdensity
使用日志转换将有界数据转换为无界数据。的价值bw
在变换后的值的尺度上。
更多关于
内核分配
核分布是随机变量的概率密度函数(pdf)的非参数表示。当参数分布不能正确描述数据时,或者当您希望避免对数据的分布进行假设时,可以使用内核分布。核分布由平滑函数和带宽值定义,带宽值控制得到的密度曲线的平滑度。
核密度估计器是一个随机变量的估计pdf。的任何实值x时,核密度估计器的公式为
在哪里x1,x2、……xn是来自未知分布的随机样本,n是样本容量, 是核平滑函数,和h是带宽。
的任何实值,累积分布函数(cdf)的核估计器x,由
在哪里 .
详情请参见内核分配.
反射法
反射法是一种边界修正方法,当随机变量具有有界支持时,它能准确地找到核密度估计量。万博1manbetx如果你指定“BoundaryCorrection”、“反射”
,ksdensity
使用反射方法。该方法通过添加边界附近的反射数据来增强有界数据,并估计pdf。然后,ksdensity
通过适当的归一化返回与原始支持度相对应的估计PDF,以便估计PDF对原始支持度的积分等于1。万博1manbetx
如果你另外指定“万博1manbetx支持”,[L U]
,然后ksdensity
如下所示查找核估计器。
如果
“函数”
是“pdf”
,则核密度估计量为为l≤x≤U,
在哪里 , ,x我是
我
样本数据。如果
“函数”
是“提供”
,则CDF的核估计量为为l≤x≤U.
为了获得逆cdf、幸存者函数或累积危险函数的核估计量(当
“函数”
是“icdf”
,“幸存者”
,或“cumhazrd”
),ksdensity
使用两种 而且 .
如果你另外指定“万博1manbetx支持”
作为“积极”
或[0正]
,然后ksdensity
通过替换找到核估计器(L U)
与[0正]
在上面的方程中。
参考文献
[1]鲍曼,a.w.和A.阿扎里尼。平滑技术在数据分析中的应用.纽约:牛津大学出版社,1997年。
[2] Hill, P. D. <分布函数的核估计>。统计通讯-理论与方法“,.第14卷,1985年第3期,第605-620页。
[3] Jones, m.c.“核密度估计的简单边界修正”。统计与计算.第3卷,1993年第3期,第135-146页。
[4]西尔弗曼,b.w.。用于统计和数据分析的密度估计.查普曼和霍尔/CRC, 1986年。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
此函数支持内存不足数据的高数万博1manbetx组,但有一些限制。
不支持一些需要额外传递或对输入数据进行排序的选项:万博1manbetx
“BoundaryCorrection”
“审查”
“万博1manbetx支持”
(万博1manbetx支持总是无限的)。
使用标准偏差(而不是中位数绝对偏差)来计算带宽。
有关更多信息,请参见内存不足数据的高数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
不支持绘图。万博1manbetx
名-值对参数中的名称必须是编译时常量。
以下名称-值对参数中的值也必须是编译时常量:
“BoundaryCorrection”
,“函数”
,“内核”
.例如,使用“函数”、“提供”
所生成代码中的名称-值对参数,包括{coder.Constant(函数),coder.Constant (cdf)}
在arg游戏
的价值codegen
.的值
“内核”
名称-值对参数不能是自定义函数句柄。若要指定自定义内核函数,请使用字符向量或字符串标量。的值
“万博1manbetx支持”
参数时,编译时数据类型必须与运行时数据类型匹配。
有关代码生成的更多信息,请参见代码生成简介而且通用代码生成工作流程.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
本功能完全支持GPU阵列。万博1manbetx有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。