【问题标题】:How to find area under exponential curve (and the curve) from random distribution in python?如何从python中的随机分布中找到指数曲线(和曲线)下的面积?
【发布时间】:2016-10-04 06:49:56
【问题描述】:

给定以下算法:

import numpy as np
from matplotlib import pyplot as plt

exponent = 2
sample = np.random.random_sample(1000000)
distribution = sample ** exponent

plt.hist(distribution)
plt.show()

如何从图形中找到/插值描述给定分布的指数曲线,对于样本始终在 0 和 1 之间的 任何 指数而言是最佳的 - 以及如何找到下面的区域那个待发现的曲线?我的意思是样本量等于无穷大的曲线。

【问题讨论】:

    标签: python numpy math matplotlib scipy


    【解决方案1】:

    为随机分布的样本定义分布类型并非易事。您必须检查一些验证测试来定义具有理想统计置信度的分布。

    Scipy 已测试正态分布:http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.mstats.normaltest.html

    但是,如果您知道函数(或只是 x,y 点的集合),则可以使用数值方法计算其下方的面积。

    例如梯形法:http://docs.scipy.org/doc/numpy/reference/generated/numpy.trapz.html或辛普森法则:http://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.simps.html#scipy.integrate.simps

    from scipy.integrate import simps
    from numpy import trapz
    
    print trapz([1,2,3], x=[4,6,8])
    print simps([1,2,3], x=[4,6,8])
    

    输出:

    8.0 8.0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      相关资源
      最近更新 更多