展開モデルこんにちは
みんなに。
添付の2つのjmpファイル。 Training-validation-testという名前のRFモデルを使用して、次の結果が得られました。
このファイルには、1つの数値応答と20の異なる予測子が含まれており、そのうちの1つはカテゴリです。予測子はセンサー値です。

ご覧のとおり、バイアスは非常に良好ですが、分散はわずかに高くなっています(92-69 = 23%)。
次に、モデルでは見られなかった例を含む新しいデータベースを使用して、新しいデータへのアルゴリズムの展開をシミュレートしました。
驚いたことに、結果は非常に悪く、予測応答と実際の応答の間のR2はゼロに近くなりました。 この振る舞いを理解することができませんでした。 結局のところ、テストデータのR2 = 68%はそれほど悪くはないようです。 したがって、ゼロより大きいR2を確実に取得することを期待していました。
ヘルプ/コメントを歓迎します。
フェリーチェジャン
分析再:展開モデル事実上すべてのX変数(X12、X13、およびX19を除く)は、2つのセット間で平均して大幅に異なります。したがって、私の推測では、新しいデータは同じ母集団からの単なる別のランダムサンプルではなく、異なる母集団からのものであると思います。元のデータにかなりよく適合するモデルが、新しいデータが別の母集団からのものである場合、新しいデータに対してあまりうまく機能しないことは驚くべきことではありません。
質問は、なぜそれが異なる集団から来ているのかということだと思います。どうやらあなたはデータが同じ母集団(またはそれに近いもの)から引き出されていると思っていたようです。しかし、これらの変数のマストは2つのセット間で非常に異なって見えるため、そのような仮定は明らかに正しくありません。
違いを確認するために、2つのテーブルを連結し、Fit Y by Xを使用しました。YはすべてのX変数であり、Xはそれらを連結したときに作成されたソーステーブルです。
再:展開モデル同意します@dale_lehman 、新しいデータは異なります。
私は同様のモデルを適合させることができましたが、新しいデータの処理も不十分でした。

X11と同じように、元のデータの非常に狭い範囲を使用するX5など、いくつかの詳細を示す散布図行列...
両方の写真で、新しいデータが選択されています。 たぶん、これは違いがある理由を見つけるのに役立ちます。

再:展開モデルこんにちはデールとゲオルク
お返事をありがとうございます。
私にとって、各予測子の2つの分布の違いは、それほど違いはないようです(添付の図のヒストグラムを参照してください)。 blsを使用して、Training-Val-Testセットを示し、モデルに表示されないセットをexpします)。 たぶん、X20は、これまで存在しなかった、これまでに見たことのないデータに新しいピークを示しています。 ただし、残りのディストリビューションは、以前のディストリビューションよりも人口が少ないだけです。
トレーニングセットの予測子分布がテストセットよりも広い場合、モデルはテストセットの予測子が占める位相空間を「訪問」しているはずです。 正しい? では、なぜそれが悪い予測をする必要があるのでしょうか?
とにかく、ランダムフォレストモデルで見られた最後の2000インスタンスの代わりに、ランダムに2000インスタンスを取得することで、あなたの言うことを確認しました(私たちにとっては奇妙ですが)。 では、平均/標準のわずかな違いが予測パフォーマンスの点で大きな違いを生む場合、信号が継続的に変化する本番環境でこれらのモデルをどのように使用できるでしょうか。
Rgds。フェリーチェ/ジャイアン
再:展開モデルよく見ると、これが時系列データであることがわかります。私の最初の見解では、プロセスが大幅に変更されたようには見えません。ただし、問題は、train-validate-testパラダイムが時系列データに実際には適切ではないことだと思います。検証セットとして明確な期間(たとえば、最初のデータセットの最後の月)を作成し、モデルを再推定することをお勧めします。私の推測では、この方法でモデルを推定すると、検証でのモデルのパフォーマンスと、これまでに見たことのないデータのパフォーマンスがより類似するはずです。2つのデータセットのX変数間の顕著な違いについては、まだ少し心配しています。より高度な時系列モデリング(潜在的な季節性のモデリングなど)が必要になる場合があります。
再:展開モデルその間、私はデータに有効で合理的なモデルを適合させることができないと信じています。
私の最初のアプローチは、Xによって統計化された検証列を生成することでした。
からの時系列ヒント@dale_lehman便利だったので、時系列でデータも見てみましたが、
Xesの組み合わせが時間とともに変化することに気づきます。 そして、ここでも「新しい」が違うように見えます。 はい、Xesは同じ範囲をカバーしますが、それだけでは十分ではありません。 「新規」では組み合わせが違うと思います。つまり、一種の外挿です。 これは回帰の問題ではありませんが、RFのような方法ではこれが重要です(モデルは多次元で非線形性が高いため、内部を調べるのは困難です)。
一方、他の方法(ニューラル、ブーストツリー)では妥当なモデルを適合させることができませんでした。 ソリッドモデルを構築するための適切な情報がX列にないように見えます。
だから私はプロセスの物理学またはそれが何であるかを調べます、
- XがYをどのように変更できるか/変更できるか、
- ノイズは何かもしれません
- そして、何が物事を時間とともに変化させ、それをデータセットに含めますか。
- また、データ構造にも興味があります。一部のパラメーターに同じ日付と同じ値を持つ行のグループがあります
私が驚いたのは、時間で階層化された検証列を作成したときに、同じ結果が得られたことです(最初の部分は公正なモデルであり、新しいデータを含むモデルはありません)。
がんばろう、
再:展開モデルいくつか提案があります。まず、最初に応答変数を差分してから、ランダムフォレストを再試行します。私にとって、これは時系列データへの最も簡単なアプローチです。そのように見ると、データの動作が改善される可能性があります。行をランダムに選択するのではなく、最後の期間として検証セットを手動で作成します。2番目のアイデアは、あなたが気付いたものです。時間的に密接にリンクされた複数の観測など、時間のグループ化があります。時間的に密接に関連する観測値を要約することにより、時系列を均一にすることを検討できます。時間変数が均一に測定されると、時系列の動作が向上します。つまり、データを等間隔の時間間隔に要約する必要があります。あなたが示唆しているように、何が測定されているのか、そしてそれがどのように測定されているのかを正確に考えることに戻る時が来ました。
再:展開モデルこんにちはジョージとデール
ご回答ありがとうございます。 すべての予測子と応答のラグプロットを見てみると、非常に長い自己相関が見つかりました(添付の写真を参照)。
データは半導体ファブからのものであるため、ACFに表示される値25は、ロット内のウェーハの数に関連しています。
代わりにラグプロットのポイントアウトラインは、macgineにロードされた異なるロットの最初のウェーハにすぎません。 自己相関は、動作点を維持するためにマシンに存在する内部フィードバックによるものだと思います。 もちろん、これらの調整はチャンバーに隠されており、私たちの制御と理解の下ではありません。 応答はまた、私が説明できない明確な遅れを示しています。 しかし、そこにあります。
ラグ、移動平均、平滑化、その他の予測機能のエンジニアリングを使用しようとしましたが、結果は依然として非常に悪いものです。
次のステップでは、デールが提案した差分を試してみたいと思います。 単純な違いX(t)-X(t-1)で十分だと思いますか?
チャオフェリーチェ
再:展開モデルPACFプロットは、最初の2つのラグが関連するものであることを示しています。これまでのところ、最初のラグが最も重要です。ですから、単純な一次差分を試してみるのもいいと思います。機械学習モデルの1つ(RF、ブーストされたツリー、ニューラルネットなど)がうまく機能する可能性があるので、それらを試してみます。ただし、さらにいくつかの標準的な時系列モデルを試す必要があります(時系列モデルはさまざまな方法で自己相関を説明するように構築されているため、差分を使用しません)。理論的には、一次差分を使用する場合(そして、それによって時間構造が大幅に排除される場合)、モデリングにランダムなtrain-validate-testセットを使用できる可能性があります。少なくとも、それは私が思うことです-他の人はもっとよく知っているかもしれません。