f.std.data<-function(x) { dx<-dim(x) meanx<-apply(x,2,mean) varx<-apply(x,2,var) for (i in 1:dx[2]) x[,i]<-(x[,i]-meanx[i])/sqrt(varx[i]) return(x) } preprocess.mts<-function(x) { # standardize data x<-f.std.data(x) # assumes that the multiple series are one col to each series dx<-dim(x) # Concatenate series vmts<-as.vector(x) # Generate indicator variable Indic<-NULL for (i in 1:dx[2]) Indic<-c(Indic,rep(i,dx[1])) # Generate lag indicators LagIndic<-matrix(1,dx[1]*dx[2],dx[2]) for (i in 1:dx[2]) LagIndic[((i-1)*dx[1]+1):((i-1)*dx[1]+dx[1]),i]<--1 return(cbind(vmts,Indic,LagIndic)) }