実行方法階段回帰python? SCIPYにOLSのメソッドがありますが、私は段階的に行うことができません。この点に関する助けとなることは大きな助けになります。ありがとう。Pythonでの段階的回帰
編集:私は線形回帰モデルを構築しようとしています。私は5つの独立変数を持ち、順方向回帰を使用して、自分のモデルが最も低いp値を持つように変数を選択することを目指します。次のリンクは目的を説明しています
おかげで再び。
実行方法階段回帰python? SCIPYにOLSのメソッドがありますが、私は段階的に行うことができません。この点に関する助けとなることは大きな助けになります。ありがとう。Pythonでの段階的回帰
編集:私は線形回帰モデルを構築しようとしています。私は5つの独立変数を持ち、順方向回帰を使用して、自分のモデルが最も低いp値を持つように変数を選択することを目指します。次のリンクは目的を説明しています
おかげで再び。
統計モデルには、回帰のための追加の方法があります。http://statsmodels.sourceforge.net/devel/examples/generated/example_ols.html。私は段階的回帰を実装するのに役立つと思います。
Trevor Smithと私は、統計モデルを使った線形回帰のための少し前方選択関数を書いています:http://planspace.org/20150423-forward_selection_with_statsmodels/これは簡単にp値を最小化するように修正するか、もう少し作業をしてベータp値に基づいて選択することができます。要約メソッドを使用して
は"""Importing the api class from statsmodels"""
import statsmodels.formula.api as sm
"""X_opt variable has all the columns of independent variables of matrix X
in this case we have 5 independent variables"""
X_opt = X[:,[0,1,2,3,4]]
"""Running the OLS method on X_opt and storing results in regressor_OLS"""
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
regressor_OLS.summary()
、あなたのカーネルに「| T | P>」と書かれたあなたの 変数のp値を確認することができます。次に、最大値が の変数をチェックします。 x3が例えば0.956などの最大値を有すると仮定する。次に、アレイからこの列 を削除し、すべての手順を繰り返します。
X_opt = X[:,[0,1,3,4]]
regressor_OLS = sm.OLS(endog = y, exog = X_opt).fit()
regressor_OLS.summary()
p値が有意値(たとえば0.05)を超えるすべての列を削除するまで、これらの方法を繰り返します。最後に、変数X_optはp値が有意水準未満のすべての最適変数を持ちます。
statsmodels.api.OLS
モデルに基づいて前後方向の選択を行うことができます(in this answer)。
しかし、this answerは、最初に計量モデルの段階的選択を使用しない理由を説明しています。
'scikits.learn'はLARS/lassoを持っています。もしそれが使用されていれば、http://scikit-learn.org/dev/modules/linear_model.html#lars-lasso – NPE
あなたはどのような基準予測変数の選択に使用したいですか?サンプルが必要な場合は、サンプルデータを投稿またはリンクすることはできますか? – BKay
p値に基づいてモデルを作成することはお勧めできません。彼らは健全性チェックの多くであり、AICやBICなどの他の基準がより適しています。 –