Learn R Programming

aTSA (version 3.1.2.1)

ecm: Error Correction Model

Description

Fits an error correction model for univriate response.

Usage

ecm(y, X, output = TRUE)

Value

An object with class "lm", which is the same results of lm for fitting linear regression.

Arguments

y

a response of a numeric vector or univariate time series.

X

an exogenous input of a numeric vector or a matrix for multivariate time series.

output

a logical value indicating to print the results in R console. The default is TRUE.

Author

Debin Qiu

Details

An error correction model captures the short term relationship between the response y and the exogenous input variable X. The model is defined as $$dy[t] = bold{\beta}[0]*dX[t] + \beta[1]*ECM[t-1] + e[t],$$ where \(d\) is an operator of the first order difference, i.e., \(dy[t] = y[t] - y[t-1]\), and \(bold{\beta}[0]\) is a coefficient vector with the number of elements being the number of columns of X (i.e., the number of exogenous input variables), and\( ECM[t-1] = y[t-1] - hat{y}[t-1]\) which is the main term in the sense that its coefficient \(\beta[1]\) explains the short term dynamic relationship between y and X in this model, in which \(hat{y}[t]\) is estimated from the linear regression model \(y[t] = bold{\alpha}*X[t] + u[t]\). Here, \(e[t]\) and \(u[t]\) are both error terms but from different linear models.

References

Engle, Robert F.; Granger, Clive W. J. (1987). Co-integration and error correction: Representation, estimation and testing. Econometrica, 55 (2): 251-276.

Examples

Run this code
X <- matrix(rnorm(200),100,2)
y <- 0.1*X[,1] + 2*X[,2] + rnorm(100)
ecm(y,X)

Run the code above in your browser using DataLab