2014-02-14 5 views
4

Я отправил ноутбук IPython здесь http://nbviewer.ipython.org/gist/dartdog/9008026регрессия с использованием PYMC3

И я работал как через стандартный Statsmodels МНК, а затем аналогично с PYMC3 с данными, полученными при панд, что часть прекрасно работает, кстати.

Не могу понять, как получить более стандартные параметры из PYMC3? В примерах, по-видимому, просто используется OLS для построения базовой линии регрессии. Кажется, что данные модели PYMC3 должны быть в состоянии дать параметры для линии регрессии? в дополнение к вероятным следам, т. е. какова наивысшая линия вероятности?

Любые дополнительные разъяснения интерпретации Alpha, бета-версии и сигмы приветствуются!

Также как использовать модель PYMC3 для оценки будущего значения y с учетом нового прогноза x ie с некоторой вероятностью?

И, наконец, у PYMC3 есть новая обертка GLM, которую я пробовал, и, похоже, она перепуталась? (это могло бы быть мне хотя)

+0

Ну, я надеялся, но я понял, что вопрос немного расфокусирован для SO .. все еще не уверен, как и где получить помощь? – dartdog

ответ

6

Подмодуль glm устанавливает некоторые приоритеты по умолчанию, которые, возможно, очень не подходят для каждого случая, в котором ваш является одним. Вы можете изменить их с помощью семейного аргумента, например .:

pm.glm.glm('y ~ x', data, 
      family=pm.glm.families.Normal(priors={'sd': ('sigma', pm.Uniform.dist(0, 12000))})) 

К сожалению, это не очень хорошо документированы и требует несколько хороших примеров.

+0

Большое спасибо! Отличная работа, я надеюсь, что работа над некоторыми из них может помочь процессу документа! какие-либо предложения о выводе «наиболее вероятной» регрессии с использованием вероятностной модели, а не просто наложение регрессии с участием? Т.е. как извлечь некоторые полезные параметры из модели pymc3? – dartdog

+0

Я думаю, что The Posterior Predictive в ячейке № 11 - это байесовский способ сделать это. Чтобы получить меру, вы можете вычислить остатки для каждой линии выборки регрессии и усреднить их (таким образом, вы можете сравнить модели). – twiecki

+0

Не могу понять, как применить решение к моему коду, когда я пытаюсь просто запустить код, как предусмотрено. Я получаю модуль, который нельзя вызывать, и когда я пытаюсь поместить код в предложение «с», он взорвется. (так что я не перевел это правильно.) Я попытался просто использовать предложение Family = внутри «с» дает KeyError: 0 – dartdog

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