Python: 获取经验分布(ECDF)的方法

您所在的位置:网站首页 python累积分布函数 Python: 获取经验分布(ECDF)的方法

Python: 获取经验分布(ECDF)的方法

2023-10-30 22:49| 来源: 网络整理| 查看: 265

1 什么是经验分布 EDF

经验分布函数(Empirical Distribution Function)是统计学中一个与样本的经验测度有关的分布函数。该累积分布函数是在所有n个数据点上都跳跃1/n的阶跃函数。对于被测随机变量的某个可能取值而言,EDF 在这个取值处的值为所有观测样本中小于或者等于该取值的比例。

经验分布函数是对用于生成样本的累积分布函数的估计。根据 Glivenko-Cantelli 定理可以证明,经验分布函数以概率 1 收敛至这一累积分布函数。

令(x1,…,xn)为独立同分布的的实随机变量,它们共同的累积分布函数为F(t)。于是,经验分布函数可以定义为

^Fn(t)= number of elements in the sample ≤tn=1nn∑i=11xi≤t(1)

其中 1A 为事件 A 的指示函数。 1xi≤t 为 p=F(t) 是伯努利随机变量。因而 n^Fn(t) 则是期望为 nF(t),方差为 nF(t)(1−F(t)) 的二项随机变量。这意味着 ^Fn(t) 是 F(t) 的无偏估计。

蓝线为经验分布函数,黑色长条表示相应的样本,灰线则是用于生成样本的累积分布函数。蓝线为经验分布函数,黑色长条表示相应的样本,灰线则是用于生成样本的累积分布函数。 2 Python 实现

从上面的定义来看,其实自己实现一个 EDF 函数也并不困难。这里有一个例子:Calculate ECDF in Python。statsmodels这个库里面提供了现成的 ECDF 函数。

这里函数名字是 ECDF,其中 C 表示累积分布。

1234567>>> import numpy as np>>> from statsmodels.distributions.empirical_distribution import ECDF>>>>>> ecdf = ECDF([3, 3, 1, 4])>>>>>> ecdf([3, 55, 0.5, 1.5])array([ 0.75, 1. , 0. , 0.25])


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3