Как создать kde (график плотности) в гистограмме, которая использует параметр веса? [Дубликат]

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

из скриншота u отправил его на ур компьютер не на localhost.

"file: ///" это должен быть "localhost /"

9
задан Till Hoffmann 23 December 2014 в 17:06
поделиться

3 ответа

Ни sklearn.neighbors.KernelDensity , ни statsmodels.nonparametric , похоже, не поддерживают взвешенные образцы. Я модифицировал scipy.stats.gaussian_kde, чтобы обеспечить гетерогенные весы выборки и подумал, что результаты могут быть полезны для других. Пример показан ниже.

example [/g6]

Ноутбук ipython можно найти здесь: http://nbviewer.ipython.org/ gist / tillahoffmann / f844bce2ec264c1c8cb5

Детали реализации

Средневзвешенное среднее арифметическое составляет

weighted arithmetic mean [/g7]

несмещенная матрица ковариации данных затем задается unbiased covariance matrix [/g8]

. Полоса пропускания может быть выбрана правилами scott или silverman, как в scipy , Однако число выборок, используемых для расчета полосы пропускания, представляет собой приближение Киша для эффективного размера выборки .

20
ответ дан Till Hoffmann 21 August 2018 в 16:19
поделиться
  • 1
    Рассматривали ли вы запрос, чтобы scipy разработчики интегрировали ваш код в scipy или statsmodels? – cel 23 December 2014 в 18:02
  • 2
    Да, но я еще не стал реализовывать повторную выборку и интеграцию. Я сделаю запрос на вытягивание, как только это будет сделано. – Till Hoffmann 23 December 2014 в 18:13
  • 3
    Я работаю над подобной проблемой, но использую свою собственную инфраструктуру, а не изменяю scipy. Я не думал использовать приближение Киша. Вы считаете, что это лучшая оценка пропускной способности? Он отражает каждую точку набора данных с таким же эффективным размером выборки. Интересно, может ли переменная пропускная способность иметь больше смысла. – Gabriel 24 April 2015 в 11:11
  • 4
    для повторной выборки было бы правильным заменить в функции resample randint на np.random.choice (xrange (0, self.n), p = self.weights / np.sum (self.weights), size = size)? – stefano 8 July 2016 в 18:02
  • 5
    Да, это должно быть хорошо. Однако вам может быть лучше использовать np.arange, а не xrange, потому что numpy часто преобразуется в массивы изнутри. Но тестирование было бы лучше, чем мои спекуляции. – Till Hoffmann 11 July 2016 в 14:58

Проверьте пакеты PyQT-Fit и статистику для Python. Кажется, что они имеют оценку плотности ядра с взвешенными наблюдениями.

1
ответ дан dikdirk 21 August 2018 в 16:19
поделиться
  • 1
    Обратите внимание, что с версии 1.3.4 PyQT-Fit поддерживает только 1D оценку плотности ядра. – lapis 24 July 2017 в 11:42
1
ответ дан Ramon Crehuet 1 November 2018 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: