良い自己相関値とは何ですか?
400の時系列のデータセットがあります。連続するデータポイント間に何らかの関係があるかどうかを評価したいと思います。したがって、さまざまなラグを持つ時系列の自己相関(AC)を計算しました。最良のラグ値を得るには、平均で約0.59の自己相関が得られます。
今私の問題は、これが良いAC値であるかどうかをどうやって知ることができるかということです。0.59のような自己相関値が適切かどうかを評価する方法はありますか?
これが適切な値であるかどうかを評価するために、次のアプローチを試しました。
ランダムシーケンスのACを計算して、時系列のACと比較しました。ランダムシーケンスのACは常に0に近いことがわかりました。これは、0.59が0から遠く離れているため興味深いものですが、0.59が適切な値であるかどうかは明確にわかりません。
したがって、別の実験を行って、自分の時系列のACを、昇順の時系列(線形に増加する関数)およびランダムな時系列の自動相関と比較することにしました。その実験では、0から100%まで変化する改ざん率に従って、各シーケンスをランダムに改ざんします。結果は次のようになります。

私の時系列のACは昇順の時系列のACに近く、改ざん率が増加すると急速に減少することがわかります。これは、私の時系列に良好なACがあることを示しているようです。しかし、それは実際にはACにとって何が良い値であるかを教えてくれません。
したがって、適切なAC値を決定する他の方法はありますか?または、適切なAC値を決定する方法について他に何か提案はありますか?
回答
コメント: 1970年代後半にイエローストーン国立公園のオールドフェイスフル間欠泉の噴火について収集されたデータによると、噴火の長さは短いものと短いものの間で異なりました$0$ (2分未満)そして長い $1$ (2分以上)ほぼ2つの状態のマルコフ連鎖によると、2つの連続した短い噴火は決してなく、短い噴火は確率で長い噴火に続きます $0.44.$ その結果、長期的には噴火の約70%が長いことを示すことができます。
ただし、短い噴火と長い噴火は、ヘッド確率が0.7のコインのように、独立したベルヌーイ試行ではありませんが、2状態のマルコフ連鎖に従って自己相関系列を形成します。
このようなチェーンの2000の連続するステップは、以下に示すようにRでシミュレートできます。
set.seed(2020)
n = 2000; x = numeric(n); x[1]=0
for (i in 2:n) {
if (x[i-1]==0) x[i] = 1
else x[i] = rbinom(1, 1, .56) }
mean(x)
[1] 0.7005
Rでは、いくつかのラグの自己相関プロットを作成できます。もちろん、ラグの自己相関$0$ です $1.000.$ 水平の青い点線の外側にある自己相関は、 $0.$ したがって、オールドフェイスフルプロセスからの2000回の観測では、自己相関の絶対値は約よりも大きいようです。 $0.035$ または $0.04$ とは大幅に異なると見なされます $0.$
acf(x)

特定のラグはacf
、パラメータを使用して取得できますplot=F
。
acf(x, plot=F)
Autocorrelations of series ‘x’, by lag
0 1 2 3 4 5 6 7
1.000 -0.426 0.203 -0.085 0.018 -0.009 0.016 -0.025
8 9 10 11 12 13 14 15
0.002 -0.030 -0.004 0.004 -0.025 0.033 -0.043 0.032
16 17 18 19 20 21 22 23
-0.006 0.006 0.009 -0.001 0.005 0.014 -0.028 0.002
24 25 26 27 28 29 30 31
-0.002 0.008 -0.018 -0.020 0.039 -0.009 0.013 0.010
32 33
0.005 -0.037
エルゴード(収束)マルコフ連鎖では、マルコフ依存性は数回の遅れの後に「衰退」するため、シーケンスに沿って遠く離れた観測はほぼ独立しています。
アプリケーションでは、自己相関が「良好」であるかどうかを判断するために、関連するラグを指定し、「有意な」自己相関の特定のテスト基準を設定する必要があります。あなたの質問から、私はあなたのプロセスやアプリケーションについて具体的な答えを与えるのに十分なことを知りません。