使用scipy.stats在pdf计算中自动拟合和使用该参数

时间:2014-01-19 23:09:37

标签: python pdf scipy

我希望我的程序能够自动选择具有最佳适应度的分布,并使用此分布的概率密度函数来计算概率

  1. 使用scipy.stats.rv_continuous.fit获取拟合参数,例如

    paras = scipy.stats.norm.fit(data_array)

  2. 使用scipy.stats.kstest来测试适合度

    fitness = scipy.stats.kstest(data_array, paras)

  3. 选择得出最低kstest得分的分布

  4. 计算概率,例如

    scipy.stats.norm.pdf(my_values, paras)

  5. 我不确定这是否是选择最合适分布的严格正确方法。目前它适用于正常分布。

    我的问题是如何将参数解析为scipy.stats.rv_continuous.pdf()。对于某些分布,有三个参数从scipy.stats.rv_continuous.fit()计算,包括形状,位置和比例。我试着像

    一样直接解析
    scipy.stats.rv_continuous.pdf(my_values, paras[0], paras[1], paras[2])
    

    这将为我提供两个pdf值,一个点。

    我也试图用这种方式解析

    scipy.stats.rv_continuous.pdf(my_values, paras[0], paras[1], paras[2])
    

    但结果很奇怪。有没有人想做这样的事情并遇到同样的问题?

    我的目标是用朴素贝叶斯分类中的任何更好的分布替换高斯分布,以期提高预测精度。

0 个答案:

没有答案