# [R] Different sings for correlations in OLS and TSA

From: Michael Tiemann <tiemannm_at_web.de>
Date: Mon 29 Aug 2005 - 19:14:44 EST

Dear list,

I am trying to re-analyse something. I do have two time series, one of which (ts.mar) might help explaining the other (ts.anr). In the original analysis, no-one seems to have cared about the data being time-series and they just did OLS. This yielded a strong positive correlation.
I want to know if this correlation is still as strong when the autocorrelations are taken into account. There are autocorrelations, so I model the data with arima() to get the parameters and fit it with gls(). So far, the code seems to work fine, but what puzzles me is that I get different sings: the gls-fit yields a strong negative correlation. This shouldn't be so, so I suspect I am doing something wrong.

Here is my code:

# this is my data

ts.mar<-ts(c(431.3,438,389.7,353.3,354.6,371.8,397.7,438.5,467.9,505.7,574.7,644.7,667.8,616.4,509.6,447,413.1,384.1),start=1980,freq=1) ts.anr<-ts(c(104.1,102.4,97.9,96.2,95.1,95.1,97.9,101.6,105.9,111.1,117.9,121.3,121.8,114.2,107.6,105.1,101.9,98.6),start=1980,freq=1)
# to find autocorrelations via (p)acf's and mle I do:
fun.tsa.mle<-function(x){
par(mfrow=c(3,1))
acf(x)
pacf(x)
# AR model is estimated

m1<- ar.mle(x)
# An estimation of the unexplained portion of variance
m1.1<-m1\$var.pred
# plot the function

plot(x)
# Give a printout

```print(m1)
print("unexplained portion of variance:")
print(m1.1)
print("Mean:")
print(m1\$x.mean)
```

par(mfrow=c(1,1))
}
#now, the autocorrelations should be consistent with following processes:
```fun.tsa.mle(ts.mar)      #following DAAG a p=2 AR
fun.tsa.mle(ts.anr)      #following DAAG a p=2 AR
```

#I need to know, wether ts.anr can be explained with ts.mar, so
#according to ar.mle:

mod3<-arima(ts.anr,order=c(2,0,0),xreg=ts.mar,transform.pars=TRUE) fit3 <- gls(ts.anr ~ ts.mar,correlation =
```corARMA(value=c(mod3\$coef[1],mod3\$coef[2]),p=2))
summary(fit3)
ts.plot(ts.anr,fit3\$fitted,col=1:2)
```

#the puzzling bit is the negative correlation. It ought to be positive,
I think.
#a simple OLS (this is what the people before me have done) yields
test3<-ols(ts.anr~ts.mar)
test3 #with a positive correlation. Why?

Where is the mistake? Up to now, I just thought time-series analyses would correct parameters and estimations, but simply changing signs?