プロットを変更したいだけの場合は、matplotlibに観測値間を補間させることができます。
>>> xx = np.random.randn(nobs)
>>> ecdf = sm.distributions.ECDF(xx)
>>> plt.plot(ecdf.x, ecdf.y)
[<matplotlib.lines.Line2D object at 0x07A872D0>]
>>> plt.show()
または元のデータを並べ替えてプロット
>>> xx.sort()
>>> plt.plot(xx, ecdf(xx))
[<matplotlib.lines.Line2D object at 0x07A87090>]
>>> plt.show()
これは直接プロットするのと同じです
>>> a=0; plt.plot(xx, np.arange(1.,nobs+1)/(nobs+a))
[<matplotlib.lines.Line2D object at 0x07A87D30>]
>>> plt.show()
注:ecdfを境界でどのように動作させ、中央に配置するかによって、a
例として追加したパラメーターa = 1が一般的であるなど、一般的に使用される「プロット位置」の正規化が異なります。選択。
経験累積分布関数を使用する代わりに、補間または平滑化されたecdfまたはヒストグラム、あるいはカーネル密度推定を使用することもできます。