ランダムウォーク解析のつづきです.今回は,この解析法について解析的に考えてみます.

白色ノイズを分析すると
白色ノイズは,無相関な時系列です.平均0,分散の白色ノイズの時系列
をランダムウォーク解析することを考えてみます.この場合,積分時系列
の増分
の2乗平均の期待値 (ゆらぎ関数: fluctuation function)
は,どんな感じでしょうか.
計算してみます.今回は,確率変数について大文字,小文字の区別はしません.全部,小文字です.弱定常であること,つまり,時間シフトしても,平均と自己共分散が変らないことを使えば,
となります.白色ノイズの場合,,
(
)なので,
になります.ですので,に対して
をプロットして,傾きを推定すると
になるはずです.
今回の計算には,弱定常の性質と,和の期待値の性質を使いました.
次回の考察では,ラグオペレータに活躍してもらいますので,復習しておいてください.
おまけ
図の作成に使ったRスクリプトです.
# 時系列の長さ N <- 1000 # サンプル数 N.samp <- 100 ###################### # 解析するスケールs s <- unique(round(exp(seq(log(1),log(N/10),length.out=20)))) n.s <- length(s) ### # ゆらぎ関数の準備 F.s <- c() logFs.table <- data.frame() par(mfrow=c(1,3)) for(j in 1:N.samp){ ##################### # サンプルの時系列 (白色ノイズ) # S(f) ~ f^0 (beta=0)の例 x <- rnorm(N) x <- x - mean(x) # 平均0に ##################### # ランダムウォーク解析 ### # 積分 y <- cumsum(x) ### for(i in 1:n.s){ D.y <- y[1:(N-s[i])]-y[(1+s[i]):N] F.s[i] <- sqrt(mean(D.y^2)) } if(j == 1){ par(pty="m") plot(1:N,x,"l",xaxs="i",xlim=c(0,N),main="サンプル時系列 (解析対象)",col=4,xlab="i") plot(1:N,y,"l",xaxs="i",xlim=c(0,N),main="積分時系列",col=4,xlab="i") logFs.table <- data.frame(log10(F.s)) }else{ logFs.table <- cbind(logFs.table,data.frame(log10(F.s))) } } logFs <- rowMeans(logFs.table) # log-logをとって直線をあてはめ logs <- log10(s) fit <- lm(logFs~logs) ### # log-logプロット par(pty="s") plot(logs,logFs,col=4,xlab="log10 s",ylab="log10 F(s)",las=1, main=paste("解析結果: 推定スロープ =",format(fit$coefficients[[2]],digits=2))) # 直線フィット abline(fit,col=2,lty=2)