如何根据pdf为一组变量赋值?

时间:2015-05-12 11:41:38

标签: python scipy probability-density

这是我previous question的延续,我对此有了疑问,并被要求提出一个新问题!所以这里。

假设我有一个100号的数组。

如何计算数组中每个值的概率?

到目前为止我的理解:

import numpy as np
import scipy.stats
from scipy import stats
import matplotlib.pyplot as plt 

def getDistribution(data):
    kernel = stats.gaussian_kde(data,bw_method=0.07)
    class rv(stats.rv_continuous):
        def _rvs(self, *x, **y):
            return kernel.resample(int(self._size)) #random variates
        def _cdf(self, x):
            return kernel.integrate_box_1d(0,max(x)) #Integrate pdf between two bounds (-inf to x here!)
        def _pdf(self, x):
            return kernel.evaluate(x)  #Evaluate the estimated pdf on a provided set of points
    return rv(name='kdedist')

data = np.random.random(100)
sorted_data = np.sort(data)

dist = getDistribution(sorted_data)
pdf = dist.pdf(sorted_data)

plt.plot(sorted_data,pdf_data,'-o')
plt.hist(sorted_data,normed=True)
plt.show()

我知道上面的代码给了我pdf ,当我在数据的直方图旁边绘制时,我得到这样的东西。 enter image description here

我想知道如何获得属于数据的每个点的概率。我想为每个数据点分配相同的权重。

0 个答案:

没有答案