2016-05-03 4 views
0

Ich versuche, 2 Stage Least Squares Regression in Python mit der statsmodels-Bibliothek zu tun.Wie macht man 2SLS IV Regression mit Statsmodels Python?

from statsmodels.sandbox.regression.gmm import IV2SLS      
resultIV = IV2SLS(dietdummy['Log Income'], dietdummy.drop(['Log Income', 'Diabetes']),  
dietdummy.drop(['Log Income', 'Reads Nutri') 

Reads Nutri ist mein endogene Variable mein Instrument ist Diabetes und meine abhängige Variable ist Log Income.

Habe ich das richtig gemacht? es ist viel anders als ich es auf Stata machen würde.

Auch, wenn ich resultIV.summary() erhalte ich einen Typfehler, etwas mit der F-Statistik zu tun ist NonType, wie kann ich dies reslove?

Jede Hilfe wird sehr geschätzt.

Antwort

3

Ich fand diese Frage, wenn ich selbst eine IV2SLS-Regression durchführen wollte und das gleiche Problem hatte. Also nur für alle anderen, die hier gelandet sind.

Die documentation of statsmodels zeigt, wie dieser Befehl verwendet wird. Ihre Argumente sind endog, exog und instrument in dieser Reihenfolge, wobei exog Variablen enthält, die instrumentiert sind und instrument die Instrumente und andere Steuervariablen. In diesem Sinne ist Ihr Modell in Ordnung.

Die TypeError, die Sie gefunden haben, ist derzeit eine open bug in den Versionen 0.6.0 und 0.8.1. und wird gemäß dem Meilenstein in 0.9.0 festgelegt.

Verwandte Themen