Я пытаюсь сопоставить распределение Пуассона с моими данными с помощью statsmodels, но меня смущают результаты, которые я получаю и как использовать библиотеку.
Мои реальные данные будут представлять собой ряд чисел, которые, как я думаю, я могу описать как имеющие распределение пуассонов плюс некоторые выбросы, поэтому в конечном итоге я хотел бы сделать надежную подгонку к данным.
Однако для целей тестирования я просто создаю набор данных, используя scipy.stats.pisson
samp = scipy.stats.poisson.rvs(4,size=200)
Итак, чтобы соответствовать этому, используя statsmodels, я думаю, что мне просто нужно иметь постоянный "endog"
res = sm.Poisson(samp,np.ones_like(samp)).fit()
print res.summary()
Poisson Regression Results
==============================================================================
Dep. Variable: y No. Observations: 200
Model: Poisson Df Residuals: 199
Method: MLE Df Model: 0
Date: Fri, 27 Jun 2014 Pseudo R-squ.: 0.000
Time: 14:28:29 Log-Likelihood: -404.37
converged: True LL-Null: -404.37
LLR p-value: nan
==============================================================================
coef std err z P>|z| [95.0% Conf. Int.]
------------------------------------------------------------------------------
const 1.3938 0.035 39.569 0.000 1.325 1.463
==============================================================================
Хорошо, это выглядит неправильно, но если я делаю
res.predict()
Я получаю массив из 4.03 (который был средним для этого тестового образца). Итак, в основном, во-первых, я очень смущен, как интерпретировать этот результат из statsmodel, а во-вторых, я должен, вероятно, делать что-то совершенно другое, если меня интересует надежная оценка параметров дистрибутива, а не подгонка трендов, но как я должен это делать?
Edit Я должен был бы более подробно рассказать, чтобы ответить на вторую часть моего вопроса.
У меня есть событие, которое происходит случайное время после начала. Когда я рисую гистограмму времен задержки для многих событий, я вижу, что распределение выглядит как масштабированное распределение Пуассона плюс несколько точек выброса, которые обычно вызваны проблемами в моей базовой системе. Поэтому я просто хотел найти ожидаемую задержку времени для набора данных, исключая выбросы. Если бы не выбросы, я мог бы просто найти среднее время. Полагаю, что я мог бы исключить их вручную, но я подумал, что могу найти что-то более требовательное.
Edit При дальнейших размышлениях я буду рассматривать другие дистрибутивы вместо того, чтобы придерживаться Пуассониона, и детали моей проблемы, вероятно, являются отвлечением от исходного вопроса, но я все равно оставил их здесь.