View source: R/nlVar-methods.R
logLik.nlVar | R Documentation |
Log-Likelihood method for VAR and VECM models.
## S3 method for class 'nlVar'
logLik(object, ...)
## S3 method for class 'VECM'
logLik(object, r, ...)
object |
object of class |
... |
additional arguments to |
r |
The cointegrating rank. By default the rank specified in the call to
|
For a VAR, the Log-Likelihood is computed as in Luetkepohl (2006) equ. 3.4.5 (p. 89) and Juselius (2006) p. 56:
LL = -(TK/2) \log(2\pi) - (T/2) \log|\Sigma| - (1/2) \sum^{T} \left [
(y_t - A^{'}x_t)^{'} \Sigma^{-1} (y_t - A^{'}x_t) \right ]
Where
\Sigma
is the Variance matrix of residuals, and x_t
is the matrix
stacking the regressors (lags and deterministic).
However, we use a computationally simpler version:
LL = -(TK/2) \log(2\pi) - (T/2) \log|\Sigma| - (TK/2)
See Juselius (2006), p. 57.
(Note that Hamilton (1994) 11.1.10, p. 293 gives + (T/2)
\log|\Sigma^{-1}|
, which is the same as -(T/2) \log|\Sigma|)
.
For VECM, the Log-Likelihood is computed in two different ways, depending on whether the
VECM
was estimated with ML (Johansen) or 2OLS (Engle and Granger).
When the model is estimated with ML, the LL is computed as in Hamilton (1994) 20.2.10 (p. 637):
LL = -(TK/2) \log(2\pi) - (TK/2) -(T/2) \log|\hat\Sigma_{UU}| - (T/2)
\sum_{i=1}^{r} \log (1-\hat\lambda_{i})
Where \Sigma_{UU}
is the
variance matrix of residuals from the first auxiliary regression, i.e.
regressing \Delta y_t
on a constant and lags, \Delta y_{t-1},
\ldots, \Delta y_{t-p}
. \lambda_{i}
are the eigenvalues from the
\Sigma_{VV}^{-1}\Sigma_{VU}\Sigma_{UU}^{-1}\Sigma_{UV}
, see 20.2.9 in
Hamilton (1994).
When the model is estimated with 2OLS, the LL is computed as:
LL =
\log|\Sigma|
Where \Sigma
is the variance matrix of residuals from the the VECM
model. There is hence no correspondence between the LL from the VECM computed
with 2OLS or ML.
Log-Likelihood value.
Matthieu Stigler
Hamilton (1994) Time Series Analysis, Princeton University Press
Juselius (2006) The Cointegrated VAR model: methodology and Applications, Oxford Univesity Press
Luetkepohl (2006) New Introduction to Multiple Time Series Analysis, Springer
data(zeroyld)
#Fit a VAR
VAR <- lineVar(zeroyld, lag=1)
logLik(VAR)
#'#Fit a VECM
vecm <- VECM(zeroyld, lag=1, r=1, estim="ML")
logLik(vecm)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.