为什么1:1000的经验累积分布是一条直线?
机器算法验证
分布
部分
累积分布函数
2022-03-16 03:25:38
4个回答
经验累积分布函数是观察到的频率的累积和的除以总样本量。您的数据是来自值的向量至,其中每个值仅出现一次。这意味着您的“变量”遵循离散的均匀分布,具有平坦的 CDF。
正如您在下面的示例中所见,如果您使用其他输入数据,情况会有所不同。
set.seed(123)
x <- sample(0:1000, 1e5, replace = TRUE)
y <- rnorm(1e5)
def <- par(mfrow = c(1,2))
plot(ecdf(x))
plot(ecdf(y))
par(def)
或者
z <- c(1,2,5,7,12,14,19,25,100,250,300,301,500,800,900,901,1000)
plot(ecdf(z))
请注意,在第二个示例中,不同值之间的距离是不同的,因此无论每个值只出现一次,这条线都是弯曲的。
您也可以机械地考虑它。
欧洲发展基金会评价为是具有值的观察值的比例或以下。因为你正好有 1,000 个观察值, 和...之间的不同和始终为 0.001.
此外,您的样本值是均匀分布的,因此和总是 1。因此,对于任何, 之间的斜率和总是. 具有恒定斜率的曲线只是一条直线。
至于你有什么误解,你定义的绝对不是正确的公式。分母应该是观测数,分子应该是值等于或低于的观测数.
样本的经验分布函数定义为
在您的数据集中,. 所以,, 为了. 按照你的方式绘制,这看起来像一个线性函数.
其它你可能感兴趣的问题