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       Y    YF_D    YF_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

Reply via email to