2014-11-12 5 views
1

Есть ли способ построения плотностей с использованием данных, имеющих наблюдательные массы?Плотность участка с использованием наблюдаемых весов

У меня есть вектор наблюдений x и вектор целых весов y, так что y1 указывает на то, сколько наблюдений мы имеем x1. То есть, плотность

x y 
    1 2 
    2 2 
    2 3 

равна плотности 1, 1, 2, 2, 2, 2 ,2 (2x1, 5x2). Насколько я понимаю, matplotlib.pyplot.hist(weights=y) позволяют следить за весами при построении гистограммы. Существует ли какой-либо эквивалент для вычисления и построения плотности?

Причина, по которой я хочу, чтобы пакет был в состоянии сделать это, мои данные очень большие, и я ищу более эффективную альтернативу.

В качестве альтернативы, я открыт для других пакетов.

+0

Вам нужно только для создания плотности из наблюдений? –

+1

Извините за путаницу, я хочу рассчитать плотность, как в http://stackoverflow.com/questions/4150171/how-to-create-a-density-plot-in-matplotlib – FooBar

+0

, так как я это понимаю, вы только необходимо создать список, который вы называете «гистограммой», и отправить его в один из предложенных пакетов. Не удается ли создать этот список из наблюдений, или у вас есть список, и у вас проблемы с пакетом? Или оба? –

ответ

0

Однотипные однотипные данные Statsmodels получают весовые коэффициенты в fit function. См. Вывод следующего кода.

import matplotlib.pyplot as plt 
import statsmodels.api as sm 
import pandas as pd 

df = pd.DataFrame({'x':[1.,2.,2.],'y':[2,2,3]}) 
weighted = sm.nonparametric.KDEUnivariate(df.x) 
noweight = sm.nonparametric.KDEUnivariate(df.x) 
weighted.fit(fft=False,weights=df.y) 
noweight.fit() 
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) 
ax1.plot(noweight.density) 
ax2.plot(weighted.density) 
ax1.set_title('No Weight') 
ax2.set_title('Weighted') 

Выход: No Weight vs Weighted Densities

Примечание: Ваше время озабоченность по поводу создания массива, вероятно, не будет решена с этим. Потому что, как было отмечено в source code:

Если FFT является ложным, то «gridsize» A «» x number_of_obs промежуточный массив создан

Смежные вопросы