2016-08-12 8 views
1

私は予測モデルを作成したいと考えており、現在のJMPモデルで作業しています。我々の現在のアプローチは、n次の多項式を推測し、次にどの項が有意なモデル効果でないかを見ることである。多項式は必ずしも最良ではないので、多くの混乱と悪いモデルにつながります。私たちのデータには、2〜7の効果があり、常に1つの反応があります。変数予測式を対象とするPythonモデル

私はこのためにpythonを使いたいと思っていますが、このようなもののパッケージドキュメントやオンラインガイドは見つけにくいです。私は特定のn次多項式に適合するか、または線形回帰を行う方法を知っていますが、データセットに最適な関数型を推測する方法はありません。

明らかなものがないか、さまざまな種類の機能を使って何かを書くべきでしょうか?精密さが最も重要です。私は小さな(〜2000x100)データセットで作業しています。

私は、より小さなトレーニングセットで回帰を行い、検証セットに対してテストし、次にモデルをランク付けしてベストを選択することができます。何か良いことがありますか?

答えて

1

バニラリニアモデルの代わりに他の回帰モデルを使用してみてください。

あなたは多項式回帰のために、このようなものを使用することができます。

poly = PolynomialFeatures(degree=2) 
X_ = poly.fit_transform(input_data) 
をそして、あなたは、なげなわ回帰

Y_はあなたが反対訓練したい出力され
clf = linear_model.Lasso(alpha = 0.5, positive = True) 
clf.fit(X_,Y_) 

て重みを制約することができます。

αを0に設定すると、単純な線形回帰に変わります。 αは基本的に小さな重みに対して課されるペナルティです。重量を厳密にプラスにすることもできます。これをチェックしてくださいhere.

小さな程度で実行し、十字妥当性チェックを実行して適合度を確認してください。

多項式の次数を増やすと、一般にオーバーフィッティングにつながります。だから、もしあなたが学位4または5を使うことを余儀なくされれば、それは他のモデルを探す必要があることを意味します。

これもご覧ください。question.これはカーブフィッティングの仕方を説明しています。

0

ANOVA (analysis of variance)は、どの効果が統計的に有意であるかを判断するために共分散を使用します...ランダムに用語を選択する必要はありません。

しかし、データが不均一である(つまり、1つのモデルをすべてのデータに合わせるべきではない)場合は、scikit-learnツールキットを使用して、フィットするデータ。

関連する問題