Как присвоить веса набору переменных на основе pdf?

Это продолжение моего предыдущего вопроса. на что у меня возникло еще одно сомнение и меня попросили задать новый вопрос! Так вот.

Скажем, у меня есть массив размером 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-файл, и при построении рядом с гистограммой моих данных я получаю что-то вроде этого. введите здесь описание изображения

Я хотел бы знать, как я могу получить вероятность каждой из моих точек, принадлежащих данным. Я хочу присвоить то же самое, что и веса, каждой из моих точек данных.


person Srivatsan    schedule 12.05.2015    source источник
comment
Этот вопрос является статистически проблематичным. I would like to know how I can get the probability on each of my points that belong to the data. - Вероятность чего именно? KDE — это один из способов получить оценку плотности вероятности распределения, сгенерировавшего выборку. Обратите внимание, что вы не можете получить точную плотность, вы можете только оценить ее. И, как всегда в жизни, нет единственного выбора. Существует несколько оценок плотности, и все они делают некоторые предположения, которые лучше проверить, прежде чем применять их.   -  person cel    schedule 12.05.2015
comment
@cel: The probability of what exactly? Учитывая набор из 100 точек в пределах 0 и 1, вероятность, скажем, найти определенное значение или, другими словами, поскольку это не дискретный случай, относительная вероятность получения этого значения. Когда я вычисляю pdf, используя описанный выше метод для моего набора данных, например случайные числа в диапазоне от 0 до 1, что я на самом деле получаю? Я не генерирую распределение моих данных с помощью KDE здесь.   -  person Srivatsan    schedule 12.05.2015
comment
the relative likelihood of getting that value - относительно чего? На случайную модель? Да, вы можете это сделать. Просто посчитайте отношение двух вероятностей. Вы можете обратиться к Википедии, чтобы узнать, почему это имеет смысл. Я думаю, что проблема здесь в том, что вопрос о вероятности наблюдения определенного значения не имеет смысла в непрерывном случае. Если вы хотите спросить об этом, вы можете начать дискретизировать и вместо этого спросить: какова вероятность того, что я наблюдаю значение между a и b. Этот вопрос имеет смысл, и на него можно ответить, интегрировав PDF-файл от a до b.   -  person cel    schedule 12.05.2015
comment
@cel: разве kernel.integrate_box_1d(0,max(x)) в приведенном выше коде не выполняет интеграцию, о которой вы говорите? Могу ли я использовать это, чтобы получить вероятность наблюдения значения между a и b?   -  person Srivatsan    schedule 12.05.2015
comment
Нет, код не выполняет интеграцию от а до б. Код вычисляет кумулятивную функцию плотности. Да, вы можете использовать кумулятивную функцию плотности для расчета вероятности наблюдения значения между a и b. ВПР(б) - ВПР(а).   -  person cel    schedule 12.05.2015
comment
@cel: Спасибо за ценный совет. Последний вопрос, поэтому для вероятности наблюдения значения между a и b я могу использовать CDF, как указано в вашем комментарии выше, верно? и если я сделаю это для всех своих значений, я должен как бы получить сумму моего CDF равной 1?   -  person Srivatsan    schedule 12.05.2015