科学者とエンジニアは、オンラインセンサーと測定デバイスを使用して、ほぼ無限のプロセス属性を監視します。歴史家やデータロガーが収集した時系列データを分析すると、「移動平均を計算するにはどうすればよいですか?」という2つの質問が定期的に出てきます。および関連する質問:「時系列データにギャップが発生した後、行にフラグを設定するにはどうすればよいですか?」
JMP はどちらも簡単に実行できますが、答えはあまり使用されない列式関数の知識が少し必要です。
多くの場合、時間サンプリングされたデータの移動平均を計算すると便利です。これにより、データストリームのノイズが抑えられ、特定の時点での平均測定値が得られます。たとえば、図4のデータテーブルには、1秒に1回測定を記録するオンラインpHメーターがありますが、濁度計は10秒ごとにしか測定を記録できません。10秒間の濁度測定値を対応するpH測定値と一致させることができますが、濁度測定値は実際には機器が見た直前の10秒間を表しており、pHの同様の10秒間の時間分解能と比較したいと思います。これを行うには、過去10秒間のpH測定の移動平均を計算する必要があります。1秒の解像度と10秒の移動平均は、図5の表の下のグラフビルダープロットで比較されます。
2番目の質問は、移動平均を使用しているときに発生します。移動平均に関する1つの仮定は、各測定が等間隔であるということです。これにより、移動平均がすべての間隔で均一に重み付けされます。ただし、定期的に(実際には)、データストリームに短いギャップがあり、想定が崩れたことを警告するために、有意な時間より長いギャップを特定する必要があります。これらのギャップは、短絡、断続的なドロップアウト、ネットワーク接続デバイスからのデータの欠落など、さまざまな問題が原因で発生します。
移動平均は、列式エディターの合計関数を使用して、1つのステップで計算できます。
テキストとして、図1の数式はSummation(i = 0、9、Lag(:pH、i))/ 10です。
合計関数(図1)は、反復ループのように機能します。この場合、「i」は0から9の間ですが、右側の引数から取得した値の合計を計算します。右側の引数は、Lag(:pH、0)、Lag(:pH、1)、Lag(:pH、2)、Lag(:pH、3)…Lag(:pH、9)として評価されます。この場合、Lag(:pH、0)は現在の行のpH列の値であり、Lag(:pH、9)は現在の行の9行上の値です(合計10行)。
2番目の問題は少しトリッキーで、2つのステップに分解する方が簡単です。手順1では、大きな時間のギャップにフラグを立てる数式列を作成し、次に手順2では、時間のギャップの後の行の範囲にフラグを設定する2番目の数式を追加します。
最初のステップは、「Time Gap」という名前の新しい列を作成し、次のようにギャップが5秒を超える場合にフラグを立てる式を追加することです。
:タイムスタンプ-ラグ(:タイムスタンプ、1)> 5
または、少しステップアップしたい場合は、次のようにDate Difference関数を使用できます。
日付の差(Lag(:タイムスタンプ、1)、:タイムスタンプ、「秒」)> 5
この特定のケースでは、5秒以上のタイムギャップがいつ発生したかを知りたいと思いました。他のプロジェクトでは、長いギャップがいつ発生したかを知るだけで十分でした。
日付差関数は、2つの日付値の差を計算し、指定可能な単位(たとえば、時、分、日、週、年)で結果を返します。どちらの場合も、差が30より大きい場合、式は真の場合は「1」、偽の場合は「0」として評価されます。
2番目のステップでは、別の新しい列名「ギャップフラグ」を作成し、時間ギャップ列で検出されたギャップに続く10行をマークする数式を追加します。
テキストとして、図2の数式はSummation(i = 0、9、Lag(:Time Gap、i))> 0です。
ここでも、Summation関数(図2)は反復ループのように機能します。今回は、条件付き引数と組み合わされます。「i」は0〜9の間ですが、「タイムギャップ」列の値の合計が0より大きい場合、式は「真」の場合は「1」、偽の場合は「0」として評価されます。前の30行のギャップ時間列に少なくとも1つの「1」がある場合、このフラグ列の値も1です。
ほんの少しの調整で、この式で行メーカーの色を設定することもできます。この数式を使用するには、新しい列を作成し、データ型を「行の状態」に設定します。
If(Summation(i = 0、9、Lag(:Time Gap、i))> 0、
Row State()= Color State( "red")、
Row State()= Color State( "blue")
);
合計関数は、JMPツールボックスの重要なツールであり、時間と労力を大幅に節約できます。集計関数の構文と使用法の詳細については、「JMPの使用」、「スクリプトガイド」、および「スクリプトインデックス」を参照してください。これらはすべてJMPの[ヘルプ]メニューにあります。