2015-12-05 64 views
0

對於邏輯迴歸的情況,我無法完全解釋使用glm和pymc3會發生什麼。所以我將GLM版本與明確的pymc3模型進行了比較。我開始寫文檔的IPython的筆記本,請參閱:用pymc3進行邏輯迴歸 - 在glm中構建之前是什麼?

http://christianherta.de/lehre/dataScience/machineLearning/mcmc/logisticRegressionPymc3.slides.php

我不明白的是:

  • 用於在GLM參數之前是什麼?我假設他們也是正常分佈的。與GLM中的構建相比,我用我的顯式模型得到了不同的結果。 (請參閱上面的鏈接)

  • 由於數據較少,取樣卡住和/或我得到的結果非常差。隨着更多的培訓數據,我無法觀察到這種行爲。這是正常的mcmc?

筆記本上還有更多的問題。

感謝您的回答。

回答

0

在GLM

GLM用於參數之前什麼是家庭的方法名。兩個流行的先驗:高斯(對應於l2正則化)和laplacian(對應於l1),通常是第一個。

由於數據較少,取樣卡住了和/或我得到了非常差的結果。隨着更多的培訓數據,我無法觀察到這種行爲。這是正常的mcmc?

你玩過以前的參數嗎?如果模型對於少量數據表現不佳,這可能是由於強大的先驗(=太高的正則化),這成爲優化中的主要術語。

+0

是的,我玩過我的顯式模型的參數。我使用了高斯,並改變了tau(precision)值(方差的倒數)。我知道GLM是一種方法。在這裏我使用了「family = pymc3.glm.families.Binomial()」。據我所知,這符合標準的邏輯迴歸。對於pymc3(patsy-R語法)的GLM,我不知道如何改變之前的版本。我沒有找到明確的文檔,所以我開始定義自己的顯式模型。 –