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

ご覧のとおり、バイアスは非常に良好ですが、分散はわずかに高くなります (92-69=23%)。
次に、モデルでは決して見られない例を含む新しいデータベースを使用して、新しいデータに対するアルゴリズムの展開をシミュレートしました。
非常に驚いたことに、結果は非常に悪く、予測された応答と実際の応答の間の R2 はゼロに近かった。 私たちはこの行動を理解できませんでした。 結局のところ、テストデータの R2=68% はそれほど悪くないようです。 したがって、ゼロより大きい R2 が確実に得られることを期待していました。
助けてください/コメントは大歓迎です。
フェリーチェ・ジャン
予測モデリングと機械学習結果の共有と伝達Re: 導入モデルおそらくこれは議論に役立つでしょう。 jmp pro の優れたモデル スクリーニング オプションを使用し、ネストされたオプションを使用してハイパーパラメーターを調整し、k 分割交差検証と組み合わせました。 ここでは、数時間の jmp 作業後に得られた結果を示します。

驚いたのは、モデルごとの性能の差が大きいことです。 ツリー モデルと KNN は 50% を超える R2 を示しましたが、なげなわとリッジの正則化を使用したにもかかわらず、すべてのフィット モデルは 50% をはるかに下回る (ゼロに近い) 値を示しました。 この違いは、実稼働環境にデプロイされた後の RF/ブースト モデルのパフォーマンスの悪さを説明しているのでしょうか?
どう思いますか? コメント/提案/ヘルプはありますか?
フェリーチェ。
Re: 導入モデルデータの準備にもっと時間を費やす必要があると強く思います。時系列モデルを適合させるには、観測値が等間隔であり、重複する時間値がない必要があります。不等間隔で反応するセンサー (?) が 4 つあります。このデータを理解したい場合は、各期間で単一の観測が存在するように値を集計する必要があると思います。また、時間指定された観測間の時間の長さの変数を作成するとよいでしょう。また、それぞれの動作が異なるように見えるため、センサーを機能の 1 つとして使用するのではなく、センサーの種類ごとに個別の分析を行うことをお勧めします。
あなたの特徴が予測的ではないと結論付けるつもりはありません。センサーの種類が混在していたり、標準外の時間間隔があることによって、ノイズが多すぎると思います。これらの問題に対処できれば、優れた予測モデルがまだ存在する可能性があります。問題はモデリング部分ではなく、(よくあることですが) データの準備です。少なくとも私はそう思います。
Re: 導入モデルこんにちは、デール
残念ながら、応答変数の差を使用しても、どの回帰モデルも良好な結果を返すことができませんでした。
したがって、この時点では、X 変数は応答の適切な予測子ではないと仮定する必要があるかもしれません。
とにかく、私たちのようなデータ (センサー データ) の場合、時間軸を考慮してトレーニング/テストを分割する必要があるのか、それとも代わりにランダム分割手法を使用できるのかという疑問がまだ残っています。 文献では、センサー データに対してランダム分割トレーニング/テストを使用している論文をいくつか見つけました。 同じ方法で実行すると、モデルを運用環境にデプロイしてモデルが完全に間違っていることがわかるまでは、結果は非常に良好であるように見えます。 それで、真実はどこにあるのでしょうか?
機械学習技術を半導体ツール (エッチャー) に適用した論文を添付します。 彼らはセンサーのデータを見て予知保全を行おうとしています。 したがって、データは実際に類似したものになるはずです。 紙の緑色に光っている部分を見ると、時間軸を考慮してデータを時系列として分割しているように見えます。
デール以外にももっと多くの人が意見を述べ、このジレンマの解決に協力してくれることを願っています。
データは私たちの複数時系列に似ていますか?
確かに、予測子 X と応答 Y は時間に依存します。 しかし、X の値に従って Y を予測したい場合、なぜ時間変数がそれほど重要なのでしょうか? 私にとって、Y はプロセス段階でマシンによって自動的に設定される X 変数に依存する必要があります。 もちろん、これは時間的には発生しますが、X の値はレシピとマシンの状態によって異なります。 ですから、時間に依存することを受け入れるのは難しいことがあります。
コミュニティ全体にハッピーイースターを。
フェリーチェ
Re: 導入モデル時系列モデルは私の得意分野ではないので、誰かがより明確な答えをくれることを願っています。最初は特徴に違いはありません。モデルを構築し、残差を調べて、それらが同じ自己相関を示すかどうかを確認します。もしそうなら、おそらくいくつかの機能を変えてみることになるでしょう。
Re: 導入モデルこんにちは、デール
予測変数も同じ PACF を示しているため、応答以外にも予測変数を区別することは有用だと思いますか?
ありがとうフェリーチェ
Re: 導入モデルPACF プロットは、最初の 2 つの遅れが関連していることを示唆しています。これまでのところ、最初の遅れが最も重要です。したがって、単純な一次差分法を試してみるのは良いことだと思います。機械学習モデルの 1 つ (RF、ブースト ツリー、ニューラル ネットなど) がうまく機能する可能性があるので、試してみます。ただし、より標準的な時系列モデルも試してみる必要があります (時系列モデルはさまざまな方法で自己相関を考慮して構築されているため、差分は使用しません)。理論的には、一次差分法を使用する場合 (そして、それによって時間構造が大幅に排除される場合)、モデリングにランダムなトレーニング、検証、テストのセットを使用できる可能性があります。少なくとも私はそう思います - 他の人はもっとよく知っているかもしれません。
Re: 導入モデルこんにちは、ジョージとデール
ご回答いただきまして誠にありがとうございます。 すべての予測変数と応答のラグ プロットを調べたところ、非常に長い自己相関が発見されたのは大きな驚きでした (添付の図を参照)。
データは半導体工場からのものであるため、ACF に表示される値 25 はロット内のウェーハの数に関連しています。
ラグプロットの代わりに点線で示されているのは、マシンにロードされた別のロットの最初のウェーハにすぎません。 自己相関は、動作点を維持するためにマシンに存在する内部フィードバックによるものだと思います。 もちろん、それらの調整はチャンバー内に隠されており、私たちの制御と理解の下にありません。 応答にも、説明できない明らかな遅れが見られます。 でも、あるんです。
ラグ、移動平均、平滑化、その他の予測機能エンジニアリングを使用しようとしましたが、結果は引き続き非常に悪いです。
次のステップでは、Dale が提案した差分法を試してみたいと思います。 単純な差 X(t)-X(t-1) だけで十分だと思いますか?
チャオフェリーチェ
Re: 導入モデルいくつか提案があります。まず、最初に応答変数を差分してから、ランダムフォレストを再度試してみます。私にとって、それが時系列データに対する最も簡単なアプローチです。そして、そのように見るとデータの動作がより良くなる可能性があります。私なら、行をランダムに選択するのではなく、最後の期間として検証セットを手動で作成します。2 番目のアイデアは、あなたが気づいたことです。時間的に密接にリンクされた複数の観測値など、時間のグループ化があります。時間的に密接に関連する観測値を要約して、時系列を均一にすることを検討することもできます。時間変数が均一に測定される場合、時系列はより適切に動作します。つまり、データを等間隔の時間間隔に要約する必要があります。あなたが示唆しているように、正確に何が測定され、どのように測定されるのかを考える時期に来ています。
Re: 導入モデルその間、私はデータに有効/合理的なモデルを当てはめることはできないだろうと信じています。
私の最初のアプローチは、X で示される検証列を生成することでした。
Timeseries のヒント@dale_lehman参考になったので時系列的にデータも見てみたのですが、
時間の経過とともに X の組み合わせが変化することに気づきました。 そしてここでもまた「新しい」とは違うように私には見えます。 はい、X は同じ範囲をカバーしますが、それだけでは十分ではありません。 『新』では組み合わせが違う、つまり一種の外挿だと思います。 これは回帰では問題になりませんが、RF のような手法では重要です (モデルは多次元で高度に非線形であるため、内部を調べるのは困難です)。
その一方で、他の方法 (ニューラル、ブースト ツリー) では合理的なモデルを適合させることができませんでした。 X 列にはソリッド モデルを構築するための適切な情報が含まれていないように思えます。
そこで私はプロセスの物理学やそれが何であれ、調べてみます。
- X が Y をどのように変えることができるか、
- 騒音は何でしょう
- 時間の経過とともに何が変化するのかを調べ、それをデータセットに含めます。
- データ構造にも興味があります。いくつかのパラメータに同じ日付と同じ値を持つ行のグループがあります。
私が驚いたのは、時間で階層化された検証列を作成したときに、同じ結果が得られたことです (最初の部分では適切なモデルが得られ、新しいデータではモデルが得られませんでした)。
幸運を、
Re: 導入モデルよく見てみると、これは時系列データであることがわかります。私の最初の見解では、プロセスが大きく変わったようには見えません。ただし、問題は、train-validate-test パラダイムが時系列データにはあまり適切ではないことだと思います。検証セットとして個別の期間 (たとえば、最初のデータセットの最後の月) を作成し、モデルを再推定することをお勧めします。私の推測では、そのようにモデルを推定すると、検証でのモデルのパフォーマンスとこれまでに見たことのないデータがより類似するはずです。2 つのデータセット内の X 変数間の顕著な違いについては、まだ少し心配しています。これには、より高度な時系列モデリング (潜在的な季節性のモデリングなど) が必要になる可能性があります。
Re: 導入モデルこんにちは、デイルとゲオルグ
お返事をありがとうございます。
実際のところ、各予測変数の 2 つの分布間の違いは、私にはそれほど違わないように見えます (添付の図のヒストグラムを参照してください)。 bls では、Training-Val-Test セットを示し、モデルによって決して見られないセットを exp します。 おそらく X20 は、これまで存在しなかった、これまでに見たことのないデータの新しいピークを示します。 しかし、残りのディストリビューションは以前のディストリビューションよりも人口が少ないだけです。
トレーニング セットの予測子の分布がテスト セットよりも広い場合、モデルはテスト セットの予測子が占める位相空間を「訪問」しているはずです。 正しい? では、なぜ悪い予測を行う必要があるのでしょうか?
とにかく、私は(私たちにとってこれは奇妙ですが)ランダムに2000個のインスタンスを取得することによってあなたの言うことを確認しました(ランダムフォレストモデルによってこれまで見られたことのない最後の2000個のインスタンスの代わりに、一度トレーニングされると、応答を正しく予測できました。) それでは、平均/標準値のわずかな違いが予測パフォーマンスの点で大きな違いを生む場合、信号が継続的に変化する運用環境でこれらのモデルをどのように使用できるのでしょうか?
RGDS。フェリーチェ/ジャイアン
Re: 導入モデル同意します@dale_lehman 、新しいデータは異なります。
同様のモデルを当てはめることはできましたが、新しいデータでもうまく機能しませんでした。

いくつかの詳細を示す散布図マトリックス。たとえば、X5 は元のデータの非常に狭い範囲を使用し、X11 と同じです。
どちらの図でも、新しいデータが選択されています。 おそらくこれは、違いが存在する理由を見つけるのに役立つでしょう。

Re: 導入モデル実質的にすべての X 変数 (X12、X13、および X19 を除く) は、平均して 2 つのセット間で大きく異なります。したがって、私の推測では、新しいデータは単に同じ母集団からの別の無作為サンプルではなく、異なる母集団から得られたものであると考えられます。新しいデータが異なる母集団からのものである場合、元のデータにかなりよく適合するモデルが新しいデータに対してあまりうまく適合しないことは驚くべきことではありません。
尋ねるべき質問は、なぜそれが異なる集団から来たのかということだと思います。どうやら、データは同じ母集団 (またはそれに近い母集団) から抽出されていると考えたようです。しかし、これらの変数の Must は 2 つのセット間で非常に異なっているように見えるため、そのような仮定は明らかに正しくありません。
違いを確認するために、2 つのテーブルを連結し、Fit Y by X を使用しました。Y はすべての X 変数、X はそれらを連結したときに作成されたソース テーブルです。