R Time Series Analysis 時系列解析(5) (定常確率過程1)
前回までは、平均移動法と指数平滑法を道具とした時系列データの古典的予測方法を見てきた。しかしながら、これらの方法は(重みの度合の差こそあれ)過去に重みを振り分けて和・積を取ることで予想することを前提としており、これとは異なるアプローチもある。
ここからは、時系列データが「確率過程」に従っているものと考える。この世界では、観測したデータは「確率過程」の一部として出現したサンプルととらえる。
中でも次を満たすものが定常確率過程。
1. 全ての時点で、平均(期待値)が一定である。
2. 全ての時点で、分散が一定である。
3. 2時点の間隔kが一定であれば、2時点間の自己共分散、自己相関係数は一定である。
定常性を満たすかどうかを確かめるための関数がRに用意されている。
使うデータはトヨタ自動車の株価(終値)データ。ここから取ってみた。acf( )を使う。
tyt <- read.csv("http://k-db.com/site/jikeiretsu.aspx?c=7203-T&hyouji=&download=csv", skip=1,header=TRUE) tytday <- matrix(tyt[,1],ncol=1) tytdaynum <- matrix(seq(1,nrow(tyt),by=1),ncol=1) tytindex <- cbind(tytday,tytdaynum) delete <- c(2,3,4,6,7) tyt <- tyt[,-delete] tyt <- ts(tyt,start=1,freq=1) tyt <- tyt[order(tyt[,1]),] tytsub <- matrix(rep(0,(nrow(tyt)-1)*2),ncol=2) for (i in 1:(nrow(tyt)-1)) { tytsub[i,2] <- tyt[i+1,2]-tyt[i,2] tytsub[i,1] <- i } tytsub <- ts(tytsub,start=1,freq=1) par(mfrow=c(2,2),ps=15) ts.plot(tyt[,2],type="l",col=1,lty=1, main="トヨタ自動車(7203)の株価(終値)120618-130621", ylab="株価(円)") kekka <- acf(tyt[,2],main="自己相関係数") ts.plot(tytsub[,2],type="l",col=1,lty=1, main="トヨタ自動車(7203)の株価(終値)120618-130621(階差1)", ylab="階差(円)") kekka <- acf(tytsub[,2],main="自己相関係数(階差1)")
これによると、株価自体は1階階差(前営業日との差)はランダムに決まり(自己相関係数が0に近く)、株価そのものは以前とのデータの相関が強いとのこと。階差1の場合、平均は一定、分散は後半でやや増加しているように見受けられる。