下記の論文"Generalized theory for detrending moving-average cross-correlation analysis: A practical guide"の解説シリーズです.
doi.org
まずは,detrending moving-average cross-correlation analysis (DMCA)で,何をやっているの?ということを少し感じるために,数値的にサンプルの時系列を生成する方法を説明します.
DMCAのC言語ファイルはここからダウンロードできます:
https://www.dropbox.com/s/ymugqqan5g6trhl/DMCA.zip?dl=0
ここでは,arfimaパッケージを使います.パッケージをインストールしていない場合は
install.packages("arfima")
を実行してください.
データを保存するフォルダは,事前に各自作成して下さい.
例えば,
D:\Document\時系列解析
の場合は,バックスラッシュ("\",日本語環境では¥マーク)を,"/"に書き直す必要がありますので,下記のRスクリプト1行目にある
DIR <- "...... ここに各自,データを保存したいフォルダへのパスを指定 ......"
の部分を
DIR <- "D:/Document/時系列解析"
に変更してください.
以上の点(パッケージのインストールとDIRの指定)に注意して,このスクリプトを実行してみてください.
FN.OUTで指定した,"samp_series.csv"という名前のファイルが作られます.時系列はその中です.
DIR <- "...... ここに各自,データを保存したいフォルダへのパスを指定 ......" setwd(DIR) ####################### FN.OUT <- "samp_series.csv" ###### # install.packages("arfima") require(arfima) # 時系列の長さ n <- 10000 # ラグの指定 lag <- 20 ##################### # パラメタの指定 d1, d2 # ARFIMA(0,d1,0) d1 <- 0.4 # ARFIMA(0,d2,0) d2 <- 0.1 ######################### # 時系列の生成 seed <- sample(2^20,1) set.seed(seed) sim1 <- arfima.sim(n+lag, model = list(phi = 0, dfrac = d1, dint = 0)) set.seed(seed) sim2 <- arfima.sim(n, model = list(phi = 0, dfrac = d2, dint = 0)) x1 <- sim1[(1+lag):(n+lag)] x2 <- sim2[1:n] write.table(data.frame(x1,x2),FN.OUT, sep = ",", append=FALSE, quote=FALSE, col.names=FALSE,row.names=FALSE)