1

假设我有一系列服从未知分布的标量点。

从点的序列中,我们可以得到经验 cdf。

我想知道 Matlab 中是否有某种方法可以在任何时候评估这个经验 cdf?例如,在用于构建经验 cdf 的相同点序列上对其进行评估?

ecdf我在http://www.mathworks.com/help/stats/ecdf.html查找了函数。它的用法是[f,x] = ecdf(y),其中数据 y is evaluated atx , butx` 的经验 cdf 似乎无法指定。

谢谢并恭祝安康!

4

4 回答 4

4

假设你有函数的输出,两个向量fx并且你想在点找到经验 cdf,x_of_interest你可以这样做:

max(f(x<=x_of_interest))

或者也许你想使用minand >=,但我认为上面的公式是正确的。

于 2013-04-18T14:12:23.933 回答
1

似乎是他们的 CDFx的独特之处。y

于 2013-04-18T13:59:53.297 回答
0

我不确定这就是您的意思,但我还需要将数据值向量转换为具有相同顺序的经验 CDF 的相应向量。

实际上,cdf(x) = Prob(X <= x)我更喜欢更对称的定义,而不是通常的定义cdf(x) = Prob(X < x) + 1/2 * Prob(X == x),这更适合有关系的情况。现在计算是单行的,但tiedrank()在统计工具箱中的函数的帮助下:

cdf = (tiedrank(data) - 1/2) / length(data) ;

例如,

data = [3     2     4     2     1] ;

产量

cdf = [0.7    0.4    0.9    0.4    0.1] ;
于 2015-04-01T13:23:25.903 回答
0

一个好的方法可能是使用插值来为您要评估的每个点找到最接近的“x”,以及相对的“f”值。您可以在此处找到如何为此目的使用 interp1: 确定 ecdf-at-a-point-using-matlab 的值

于 2016-02-03T11:00:32.737 回答