Rで時系列解析

CCF →相互相関

x<-rnorm(1000)
y<-rnorm(1000)
ccf(x,y)


x<-rnorm(1000)
y<-x[2:length(x)]
x<-x[1:(length(x)-1)]
ccf(x,y)

plot(x)
points(y,col=2)


plot(x[2:(length(y))],y[1:(length(y)-1)])

TSデータ構造

Lagplot →時系列の自己相関を目でみて確認。

x<-rnorm(10000)
lag.plot(x)
  • tsplotでデータフレーム(jikeiretu)を時系列を一気に同じグラフにプロット
a<-apply(jikeiretu,2,ts)
ts.plot(a,col=1:length(a[1,]))
  • tsplotでデータフレーム(jikeiretu)の差分の時系列を一気に同じグラフにプロット
a<-apply(jikeiretu,2,ts)
a<-apply(a,2,diff)
ts.plot(a,col=1:length(a[1,]))
  • すべてのペアの時間ズレを考慮した自己相関係数
a<-apply(jikeiretu,2,ts)
acf(a)
  • 異なる時系列のLagplot
laglag_plot_past<-function(x,y,lag=25,cex=1,col=1){
	par(mfcol=c(floor( sqrt(lag-0.00001) )+1 ,floor(sqrt(lag-0.00001))+1))
	for(i in 1:lag){
		xb<-x[i:(length(x))]
		yb<-y[1:(length(x)-i+1)]
		corcor=cor(xb,yb)
		plot(xb,yb,cex=cex,col=col)
		title(paste(sep="","lag:",i-1,sprintf(" %.2f",corcor)))

	}
	par(mfcol=c(1,1))

}

laglag_plot_future<-function(x,y,lag=25,cex=1,col=1){
	par(mfcol=c(floor( sqrt(lag-0.00001) )+1 ,floor(sqrt(lag-0.00001))+1))
	for(i in 1:lag){
		xb<-x[1:(length(x)-i+1)]
		yb<-y[i:(length(x))]
		corcor=cor(xb,yb)
		plot(xb,yb,cex=cex,col=col)
		title(paste(sep="","lag:",i-1,sprintf(" %.2f",corcor)))

	}
	par(mfcol=c(1,1))

}


laglag_plot_past(a[,6],a[,2],cex=0.1)

laglag_plot_future(a[,6],a[,2],cex=0.1)