連結された独立したAR(1)プロセスの自己相関


8

ましょう IIDは各ドローすなわち長さ10のベクトルであるAR(1)プロセスから描画連結することによって形成された確率論的プロセスであり、はAR(1)プロセスの実現です。は同じプロセスから描画されますが、最初の10個の観測から独立しています。など。{ X 1X 2X 10 } { X 11X 12X 20 }{Xt}{バツ1バツ2バツ10}{バツ11バツ12バツ20}

ACF何をします -それを呼び出すのように見て- ?仮定により、10個の観測値の各ブロックは他のすべてのブロックから独立しているため、長さラグの場合、はゼロであると期待していました。ρ L ρ L L 10バツρlρll10

しかし、データをシミュレートすると、次のようになります。

simulate_ar1 <- function(n, burn_in=NA) {
    return(as.vector(arima.sim(list(ar=0.9), n, n.start=burn_in)))
}

simulate_sequence_of_independent_ar1 <- function(k, n, burn_in=NA) {
    return(c(replicate(k, simulate_ar1(n, burn_in), simplify=FALSE), recursive=TRUE))
}

set.seed(987)
x <- simulate_sequence_of_independent_ar1(1000, 10)
png("concatenated_ar1.png")
acf(x, lag.max=100)  # Significant autocorrelations beyond lag 10 -- why?
dev.off()

xのサンプル自己相関関数

ラグ10の後、ゼロから遠くに自己相関があるのはなぜですか?

私の最初の推測では、arima.simのバーンインは短すぎると思いましたが、たとえばburn_in = 500を明示的に設定すると、同様のパターンが得られます。

何が欠けていますか?


編集:AR(1)を連結することに焦点を当てることは注意散漫になるかもしれません-より簡単な例はこれです:

set.seed(9123)
n_obs <- 10000
x <- arima.sim(model=list(ar=0.9), n_obs, n.start=500)
png("ar1.png")
acf(x, lag.max=100)
dev.off()

プレーンバニラar1のacf

ρl=0.9l


ρ^ρ^60ρ^610.9600

## Look at joint sampling distribution of (acf(60), acf(61)) estimated from AR(1)
get_estimated_acf <- function(lags, n_obs=10000) {
    stopifnot(all(lags >= 1) && all(lags <= 100))
    x <- arima.sim(model=list(ar=0.9), n_obs, n.start=500)
    return(acf(x, lag.max=100, plot=FALSE)$acf[lags + 1])
}
lags <- c(60, 61)
acf_replications <- t(replicate(1000, get_estimated_acf(lags)))
colnames(acf_replications) <- sprintf("acf_%s", lags)
colMeans(acf_replications)  # Essentially zero
plot(acf_replications)
abline(h=0, v=0, lty=2)

推定されたacfの標本分布


1
1.5年以上経ってからも、私の答えがあなたのお役に立てれば幸いです。少なくともRのスキルを向上させるのに役立ちました。
Candamir 2017年

回答:


3

エグゼクティブサマリー:サンプルサイズが小さいため、ノイズを真の自己相関と間違えているようです。

これkは、コードのパラメーターを増やすことで簡単に確認できます。以下の例を参照してください(私はset.seed(987)複製機能を維持するためにずっと同じものを使用しました):

k = 1000(元のコード)

1000シミュレーション

k = 2000

2000シミュレーション

k = 5000

5000シミュレーション

k = 10000

10000シミュレーション

k = 50000

50000シミュレーション

この一連の画像から、次の2つのことがわかります。

  • ρ^ll>10
  • ρ^ll>10ρ^ll10ρ^l=ρl=0.9l

ρ^lρl


1
サンプルACF自体は自己相関であるため、ホワイトノイズではありません。それ以外は、私は同意します、それは単なるノイズ/サンプルサイズの問題です。
エイドリアン

@エイドリアンあなたは正しいです。私はそれに応じて私の答えを修正しました。
Candamir

It also becomes less and less likely to "stray" outside a confidence band-それは本当ですか?
エイドリアン

1
qnorm((1 + ci)/2)/sqrt(x$n.used)cdf1α/2/

1
1/ρ^ll>10
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.