如何在Python中实现ECDF?

2024-05-19 00:00:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个paper实现经验分布函数,它在第3页有MATLAB实现。这是我的Python版本。在

我根据NumPy for MATLAB users documentation转换它,同时考虑statsmodelsimplementsECDF

from statsmodels.distributions.empirical_distribution import ECDF     

def ecdf_representation(D, n):
     """calculate ECDF from D at n points"""
     m = np.mean(D)
     X = []
     for d in xrange(D.shape[0] + 1):
         func = ECDF([D[:, d] + np.random.randn(np.shape(D[:, d])) * 0.01])
         ll = func(np.linspace(0, 1, n))
         X = [X, ll]
     X = [X, m]
     plt.plot(X)
     plt.show()
     return X

我得到了一个错误:

^{pr2}$

D.shape[0]不返回列数吗?那么,D[:, d]应该可以正常工作吗?这是怎么回事?在


Tags: 函数from版本numpyfornpplt经验

热门问题