Skip to content
Prev 67503 / 398506 Next

Time series misalignment

This maybe a basic question, but I have spent several hours
researching and I could not get an answer, so please bear with me. The
problem is with time series in the package tseries. As the example
below shows, the time series can get misaligned, so that bad results
are obtained when doing regressions. I found a way to do this
correctly, but I find it rather cumbersome. My question is: is there a
better way to do it?

Thanks for any help.

Suppose I define:
Then I get:
Time Series:
Start = 2 
End = 5 
Frequency = 1 
[1] 1 1 2 2
Time Series:
Start = 1 
End = 4 
Frequency = 1 
[1] 1 1 2 2

Notice that the Start values for x1 and z1 are different.

However, if I regress z1 on z1 I get:
Call:
lm(formula = z1 ~ x1, na.action = NULL)

Coefficients:
(Intercept)           x1  
          0            1  
          
But this is the wrong answer. The time series z1 and x1 are
misaligned. lm is ignoring the fact that Start = 2 for x1 and Start =
1 for z1.

To fix this problem I did the following:
Time Series:
Start = 2 
End = 4 
Frequency = 1 
  y1 x1 z1
2  2  1  1
3  3  1  2
4  5  2  2

These versions of z1 and x1 are correctly aligned.

Now I can do:
Call:
lm(formula = tsf[, 3] ~ tsf[, 2])

Coefficients:
(Intercept)     tsf[, 2]  
        1.0          0.5 
        
This is the correct answer. However, it is rather cumbersome to refer
to the aligned variables as columns of the time series object tsf.

As an observation, I also called ts.intersect with the option dframe =
t and got exactly the same results.

So my question is: is there a less cumbersome way to keep these time
series aligned?

Thanks again for any help.