Python中CDF事件的可能性

时间:2017-09-06 12:01:10

标签: python numpy matplotlib scipy seaborn

通过模型,我生成了一些不幸的数据点(总共7个)。对于他们,我必须拟合分布,从中绘制PDF和CDF,并从CDF计算某些概率点的x_values(例如,60%,75%,95%)。

我已经开发出一种方法来做到这一点,但我觉得它非常不优雅,我很乐意帮助找到更强大的解决方案。这就是我所拥有的:

import numpy as np
import seaborn as sns


x = [0.09, 1.08, -0.42, 0.08, -0.28, -0.65, -0.04]


probability = 0.6

pdf = sns.distplot(x, norm_hist=False, kde=True)
plt.show()

cdf = sns.distplot(x,
             hist_kws=dict(cumulative=True),
             kde_kws=dict(cumulative=True)).get_lines()[0].get_data()
plt.show()

ix = np.where(cdf[1] > probability)
ix = np.array([ix])

print('At %1.f probability the risk premium is approx %0.2f PLN' 
      % (int(probability*100), float(cdf[0].item(ix.item(0)))))

如果有人能指出我以更好的方式解决我的问题,我会很感激。谢谢!

1 个答案:

答案 0 :(得分:0)

仅从pdf点计算7毫无意义;你得到的结果根本没有统计学意义。您必须先生成更多数据点,然后才能对此做任何有用的事情。

如果您已完成此操作,还可以使用this code来计算pdf