2013-05-05 215 views
3

我有一個問題,我試圖在Python中解決,我找到了多個解決方案(我認爲),但我試圖找出哪一個是最好的。我希望選擇將在未來得到充分支持的圖書館,因此我不必重新編寫此服務。帶虛擬變量的Python中的OLS - 最佳解決方案?

我想做一個普通的多變量最小二乘迴歸與分類和連續因變量。代碼必須用Python編寫,因爲它正在集成到Web服務中。我一直在關注大熊貓不少,但從來沒有使用過,所以這似乎是一個辦法:

解決方法1. https://github.com/pydata/pandas/blob/master/examples/regressions.py

顯然,numpy的/ SciPy的是理想的,但我不能找到一個使用虛擬的例子變量(沒有人有一個???)。我發現這雖然,

溶液2 http://www.scipy.org/Cookbook/OLS

,我可以修改,以支持虛擬變量,但我不想這樣做,如果別人已經做過+我想這些數字是非常類似於R,因爲我離線完成了大部分分析,我可以將這些結果用於單元測試。

而在上面的例子(2)中,我看到我可以在技術上使用rpy/rpy2,儘管這不是最佳的,因爲我的web服務需要另一項技術(R)。有關使用接口的好處是這些數字可以等同於我的成績從R.

溶液3 http://www.scipy.org/Cookbook/OLS(但使用RPY/Rpy2)

不管怎麼說,我感興趣的是每個人的做法是出在這三種解決方案中,如果有任何我缺少......並且Panda's足夠成熟,可以開始在生產Web服務中使用。這裏的關鍵是我不希望支持/修補錯誤修復,或者如果可能的話從頭開始寫任何東西。我太忙了,可能不夠聰明:)

謝謝。

回答

6

您可以使用statsmodels,它提供了許多不同的模式和結果統計

如果你要使用像式接口的R,這裏有一些例子,你可以看看相應的文檔:

http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/contrasts.html http://statsmodels.sourceforge.net/devel/examples/notebooks/generated/example_formulas.html

如果你想要一個純numpy的版本,然後在這裏是一個古老的例子,從頭開始做的一切 http://statsmodels.sourceforge.net/devel/examples/generated/example_ols.html#ols-with-dummy-variables

這些模型與熊貓集成,可以使用熊貓DataFrame作爲依賴和獨立變量(statogodels命名約定中的endog和exog)的數據結構。