奇妙な質問:タイムラグをどのように処理するのが最善ですか?JMPProを評価しているガラスメーカーのクライアントがいます。彼は(私にとって)珍しいデータセットを持っています。いくつかの問題のいずれかを処理する方法についての提案に興味があります。
このプロセスでは、ガラス材料をいくつかの炉にゆっくりと送り、そこでさまざまな温度と気流を監視します。温度は、炉の上から下まで、および炉の長さに沿って測定されます。臨時雇用者は毎分かそこらで記録されます。
出力はガラスの目視検査であり、気泡を探しているため、1平方インチあたりのカウントタイプの応答があります。これは明らかに手作業による検査なので、彼らは4時間ごとにサンプルを引っ張るだけです。彼らの推定では、サンプルは測定温度から最大40分(サンプルが温度センサーを通過してから炉を出て検査されるまで)オフセットされる可能性がありますが、これは温度測定ステーションごとに異なります。炉。
データセットは非常に広くなります(おそらく1000列の温度と気流速度)。数千行もありますが、断続的な4時間のサンプリングのため、応答データは数百行にすぎません。また、時々信号のドロップアウトが発生し、多くの欠落をクリーンアップする必要があるため、かなりノイズが多くなります。
彼らはプロトライアルを行っているので、すぐにモデルスクリーニングプラットフォームにジャンプしました。トレーニングセットはかなり高いRsqd(おそらく0.8程度)を与えることができますが、検証は非常に低いです(おそらく0.2)。NeuralBoostedおよびBoostedTreeはリストの一番上に表示される傾向がありますが、有用な予測モデルを構築するには十分ではありません。
入力と出力の間のタイムラグに対処する必要があると思います。測定された応答(列ごとに異なる場合があります)に対して適切なラグを付けて、入力ごとに新しい列を作成する必要があります。手動でそれを行う方法はわかりますが、スクリプトを作成しないと、設定するのに多くの作業が必要になります。誰かがそれを行うためのより速い方法を知っていますか?または、さらに良いことに、各信号の最適なラグを実際に決定する方法はありますか(これもスクリプトが不足しています)。
過去にどこかでこれに対処した人はいますか?
ありがとう!
Re:興味深い質問:タイムラグをどのように処理するのが最善ですか?こんにちは@JerryFish 、
わたしは作ったこのデモ私が同様の状況を想像していたとき-未知のラグを持つプロセスからのセンサーデータの連続ストリーム。 このデモの解決策は、最も予測可能なラグタイムを見つけるために、迅速で汚い機械学習アプローチを採用することです。
基本的には、センサーごとに一連のラグ変数を作成して、ラグタイムの範囲をカバーするという考え方です。 (これは、[新しい数式列]> [行]の[ラグマルチプル...]機能を使用すると、非常に簡単になります)。 次に、ブートストラップフォレストを使用して、応答の最良の予測子であるラグタイムについてこれらをスクリーニングします。 この予測子のサブセットを使用して「最終的な」モデルを構築します。おそらく、この時点でモデルスクリーニングを使用します。 デモを作成したとき、モデルのスクリーニングはありませんでした。
これには、従来の方法に比べて2つの利点があります。 1.1。 すばやく簡単です。 2.2。 予測子と応答の間の非線形効果と交互作用効果を見つけることができます。
これはJMPProの良いユースケースだと思います。 しかし、もちろん、それは彼らが確実に有用なモデルを構築できるという意味ではありません-それらのセンサーのすべてが重要な要素を測定していない可能性があります。
この例を通して話すことが役立つかどうか私に知らせてください。 誰かがこのデモの録音を持っているかどうかはわかりません。 私は知らないことを知っています。 しかし、多分それを作成することは役に立つでしょう。
乾杯、
フィル
Re:興味深い質問:タイムラグをどのように処理するのが最善ですか?優れた提案@Phil_Kay !私はこれをクライアントに渡し、それが彼のために働くかどうかを確認します。
そして(個人的に)このテクニックの録音は他の人にとって非常に役立つと思います。
提案に本当に感謝します!
ジェリー