読者です 読者をやめる 読者になる 読者になる

R Time Series Analysis 時系列解析(5) (定常確率過程1)

Program R Mathematics Time Series Analysis 時系列解析

前回までは、平均移動法と指数平滑法を道具とした時系列データの古典的予測方法を見てきた。しかしながら、これらの方法は(重みの度合の差こそあれ)過去に重みを振り分けて和・積を取ることで予想することを前提としており、これとは異なるアプローチもある。

ここからは、時系列データが「確率過程」に従っているものと考える。この世界では、観測したデータは「確率過程」の一部として出現したサンプルととらえる。

中でも次を満たすものが定常確率過程。

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の場合、平均は一定、分散は後半でやや増加しているように見受けられる。

f:id:nakhirot:20130624063154p:plain