[R] R vs EViews - serial correlation

2004-09-23 Thread Remigijus Lapinskas

Dear all,

I met with some problems when dealing with a time series with serial correlation.

FIRST, I generate a series with correlated errors

set.seed(1)
x=1:50
y=x+arima.sim(n = 50, list(ar = c(0.47)))

SECOND, I estimate three constants (a, b and rho) in the model Y=a+b*X+u, where 
u=rho*u(-1)+eps
 
library(nlme)
gls(y~x,correlation = corAR1(0.5)) # Is it the right procedure?

Coefficients:
(Intercept)   x 
  0.1410465   1.0023341 

Correlation Structure: AR(1)
 Formula: ~1 
 Parameter estimate(s):
 Phi 
0.440594 
Degrees of freedom: 50 total; 48 residual
Residual standard error: 0.9835158

THIRD, I do the same procedure with EViews as LS Y C X AR(1) and get
Y = 0.1375 + 1.0024*X + [AR(1)=0.3915]

My problem is actually connected with the fitting procedure. As far as I understand 

gls(y~x,correlation = corAR1(0.5))$fit

is obtained through the linear equation 0.1410+1.0023*X while in EViews through the 
nonlinear equation 

Y=rho*Y(-1) + (1-rho)*a+(X-rho*X(-1))*b

where either dynamic or static fitting procedures are applied. 

X   YYF_DYF_S gls.fit
1   1  1.1592  NA  NA  1.1434
2   2  3.5866  2.1499  2.1499  2.1457
3   3  4.1355  3.1478  3.7103  3.1480
4   4  3.9125  4.1484  4.5352  4.1504
5   5  2.7442  5.1502  5.0578  5.1527
6   6  6.0647  6.1523  5.2103  6.1551
7   7  6.9855  7.1547  7.1203  7.1574
.
47 47 49.4299 47.2521 47.5288 47.2507
48 48 48.7748 48.2545 49.1072 48.2531
49 49 48.3200 49.2570 49.4607 49.2554
50 50 50.2501 50.2594 49.8926 50.2578

All gls.fit values are on a line, YF_D (D for dynamic) soon begin
to follow a line and YF_S (S for static) try to mimic Y.

My question is: do R and EViews estimate the same model? If yes, why
the estimates are different and which of the two (three?) procedures
is correct?

Thanking you in advance,
Rem

__
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Re: [R] R vs EViews - serial correlation

2004-09-23 Thread Patrick Brandt
The issue here is that you have confused an AR(1) process for the 
variable of interest with an AR(1) process for its residuals.  The 
former is a true AR(1) process, while the latter is really an MA(1) 
process, in terms of Box-Jenkins style ARIMA models.

Interpreting your original post:
I met with some problems when dealing with a time series with serial correlation.
FIRST, I generate a series with correlated errors
set.seed(1)
x=1:50
y=x+arima.sim(n = 50, list(ar = c(0.47)))

This generates an ARIMA(1,0,0) dataset of 50 observations.  So the d.v. 
has an AR(1) process.

SECOND, I estimate three constants (a, b and rho) in the model Y=a+b*X+u, where u=rho*u(-1)+eps
 
library(nlme)
gls(y~x,correlation = corAR1(0.5)) # Is it the right procedure?

Coefficients:
(Intercept)   x 
  0.1410465   1.0023341 

Correlation Structure: AR(1)
 Formula: ~1 
 Parameter estimate(s):
 Phi 
0.440594 
Degrees of freedom: 50 total; 48 residual
Residual standard error: 0.9835158


This estimates an AR(1) error process model -- or an ARIMA(0,0,1).  By 
the Wold decomposition, the AR(1) dgp we should expect the MA(q) process 
to have a longer order than 1.

THIRD, I do the same procedure with EViews as LS Y C X AR(1) and get
Y = 0.1375 + 1.0024*X + [AR(1)=0.3915]
This fits an AR(1) error process (ARIMA(0,0,1)) if I recall my Eviews 
syntax.

My problem is actually connected with the fitting procedure. As far as I understand 

gls(y~x,correlation = corAR1(0.5))$fit
is obtained through the linear equation 0.1410+1.0023*X while in EViews through the nonlinear equation 

Y=rho*Y(-1) + (1-rho)*a+(X-rho*X(-1))*b
where either dynamic or static fitting procedures are applied. 

X   YYF_DYF_S gls.fit
1   1  1.1592  NA  NA  1.1434
2   2  3.5866  2.1499  2.1499  2.1457
3   3  4.1355  3.1478  3.7103  3.1480
4   4  3.9125  4.1484  4.5352  4.1504
5   5  2.7442  5.1502  5.0578  5.1527
6   6  6.0647  6.1523  5.2103  6.1551
7   7  6.9855  7.1547  7.1203  7.1574
.
47 47 49.4299 47.2521 47.5288 47.2507
48 48 48.7748 48.2545 49.1072 48.2531
49 49 48.3200 49.2570 49.4607 49.2554
50 50 50.2501 50.2594 49.8926 50.2578
Again, both of the models you fit are NOT the DGP you simulated.
All gls.fit values are on a line, YF_D (D for dynamic) soon begin
to follow a line and YF_S try to mimic Y.
Correct since you are fitting a model of correlated INNOVATIONS, rather 
than a model of correlated Y's

My question is: do R and EViews estimate the same model? If yes, why
the estimates are different and which of the two (three?) procedures
is correct?
If you want to fit the DGP you proposed above, you should use
arima(y, order=c(1,0,0), xreg=x)
Hope that helps.
--
Patrick T. Brandt
Assistant Professor
Department of Political Science
University of North Texas
[EMAIL PROTECTED]
http://www.psci.unt.edu/~brandt
__
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html