時系列の2つの変数間のローリング相関を計算しますこんにちは
データの日平均を含む時系列の形式のデータセットがあります(最初の列は日付です)。 私は現在、データセット内の1つの特定の変数(列Xと呼びます)と何が相関するかを調べています。 相関が時間に依存しているかどうかを確認したいと思います。たとえば、相関がOKの期間と、相関がない/低い期間(異なる期間でオンとオフが「切り替え」)があるかどうかを確認します。
私の最初の考えは、列Xと他の列の間の移動/ローリング相関を計算することでした(たとえば、過去7日間、先月など)。 私の質問は2つあります。
1)これはこれを確認するための良い方法でしょうか、それとも私が知らないJMPに組み込みの分析がありますか?
2)時系列の「ローリング相関」を計算する場合、これを列式でどのようにプログラムしますか?
事前に:初心者の助けに感謝します!
イェンス
分析データ表スクリプティングRe:時系列の2つの変数間のローリング相関を計算しますJMPで利用可能な時系列分析を調べることをお勧めします。ドキュメントはJMPドキュメントライブラリにあります
ヘルプ=> JMPドキュメントライブラリ
提案されたローリング相関を進めたい場合は、これを計算するために使用できる式を次に示します。この例では、JMPサンプルデータライブラリのビッグクラスデータテーブルを使用しています。
ヘルプ=>サンプルデータライブラリ
If( Row() >= 7,
y = :height[Index( Row() - 6, Row() )];
x = :weight[Index( Row() - 6, Row() )];
lin = Linear Regression( y`, x` );
Sqrt( lin[3]["RSquare"] );
)

添付されているのは、適用された式を含むサンプルデータテーブルです。
Re:時系列の2つの変数間のローリング相関を計算しますこんにちは@JensD 、
私は完全に同意します@txnelson 、時系列プラットフォームを調べる必要があります。これは、2つの信号間の時間データの相互相関を調べるのに最適です。 私はこれを頻繁に使用して、生産データ信号をQCデータと比較し、タイムラグを見つけました。
そのプラットフォームを実行するとき、列の1つをY、時系列、もう1つを入力リストとして配置します(そして、自己相関ラグをデータテーブルの行数の約1/2に選択します)。 次に、伝達関数分析の横にあるホットボタンの下で相互相関ユーティリティを実行する必要があります。
また、何を構築する@txnelson彼のコード用に作成した場合、テーブル変数(rowlagなど)を作成して値を指定し、列の数式を次のように変更することもできます。
If( Row() >= :rowlag,
y = :height[Index(Row()-:rowlag+1, Row())];
y = :weight[Index(Row()-:rowlag+1, Row())];
lin = Linear Regression(y`, x`);
Sqrt(lin[3]["RSquare"]);
)
これにより、データテーブルの行ラグ値を変更するたびに、その列が相関値で更新されるため、列の数式を毎回変更することなく、さまざまなラグを簡単にテストできます。
がんばろう!、
DS
Re:時系列の2つの変数間のローリング相関を計算しますあなたがた両方に感謝します、 @txnelsonそして@DiedrichSchmidt 。
違いがわかるように、両方の方法を試してみます。
イェンス