Советы по ускорению отбора проб и настройки SciPy Custom Distribution - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь подогнать пользовательский дистрибутив к большому набору данных (~ O (500 000) измерений), используя scipy.Я получил теоретический PDF-файл, основанный на некоторых других факторах, но вручную и с помощью программного обеспечения для символической интеграции я не могу найти точную форму CDF.

В настоящее время просто оценка 1000 случайных выборок из моего пользовательского дистрибутива стоит дорогоЯ считаю, что это связано с необходимостью инвертировать неизвестный CDF.Если я не могу найти явную форму CDF, и она обратная, могу ли я что-нибудь еще сделать, чтобы ускорить использование этого распределения?

Я использовал maple, matlab и Sympy, чтобы попытаться определить CDFпока никто не даст результата.Я также попытался уменьшить выборку своих данных, сохранив при этом атрибуты хвоста, но для этого потребовалось так много данных, что выполнение каких-либо действий с распределением было медленным.

Мой дистрибутив является подклассом класса rv_continuous SciPy.

Спасибо за любой совет.

1 Ответ

0 голосов
/ 18 февраля 2019

Звучит так, как будто вы хотите произвести выборку из оценки плотности ядра распределения вероятностей.В то время как Scipy предлагает пакет Gaussian Kernel, для такого количества измерений было бы намного лучше использовать реализацию sklearn .Хороший ресурс с примерами кода можно найти в блоге Джейка Вандерпласа .

.
...