matlab ksdensity函数,为什么MATLAB中的内核平滑函数ksdensity会导致值大于1?(Why Kernel smoothing function, ksdensity, in M...

在MATLAB中使用ksdensity函数计算样本的PDF时,可能会得到大于1的值。这是因为概率密度函数可以大于1,其在整个定义域上的积分必须等于1。可以通过检查ksdensity估计的PDF积分的近似值来验证其正确性。若需求更精确的结果,可调整估计点网格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么MATLAB中的内核平滑函数ksdensity会导致值大于1?(Why Kernel smoothing function, ksdensity, in MATLAB, results in values greater than one?)

我有一组样本,S,我想找到它的PDF。 问题是当我使用ksdensity时,我得到的值大于1!

[f,xi] = ksdensity(S)

在数组f中,大多数值都大于1! 你能告诉我问题是什么吗? 谢谢你的帮助。

例如:

S=normrnd(0.3035, 0.0314,1,1000);

ksdensity(S)

I have a set of samples, S, and I want to find its PDF. The problem is when I use ksdensity I get values greater than one!

[f,xi] = ksdensity(S)

In array f, most of the values are greater than one! Would you please tell me what the problem can be? Thanks for your help.

For example:

S=normrnd(0.3035, 0.0314,1,1000);

ksdensity(S)

原文:https://stackoverflow.com/questions/19086124

2019-11-30 09:11

满意答案

ksdensity , ksdensity估计连续变量的概率密度函数。 概率密度可以大于1,它们实际上可以从零开始具有任意值。 对概率的约束是它们在可能的穷举范围内的总和必须是1.对于概率密度,约束是整个值范围内的积分是1。

可以在Matlab中获得由ksdensity估计的pdf的积分的粗略近似,如下所示:

sum(f) * min(diff(xi))

假设xi中的值是等间隔的。 该表达式的值应约为1。

如果在您的应用程序中您认为此近似值不足以接近1,则可能需要指定估计点网格(第二个参数pts ),使得间距更精细或范围比ksdensity自动生成的范围更宽。

ksdensity, as the name says, estimates a probability density function over a continuous variable. Probability densities can be larger than 1, they can actually have arbitrary values from zero upwards. The constraint on probabilities is that their sum over an exhaustive range of possibilities has to be 1. For probability densities, the constraint is that the integral over the whole range of values is 1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值