ardlDlm {dLagM} | R Documentation |
Implement finite autoregressive distributed lag model
Description
Applies autoregressive distributed lag models of order (p , q) with one predictor.
Usage
ardlDlm(formula = NULL , data = NULL , x = NULL , y = NULL , p = 1 , q = 1 ,
remove = NULL , type = NULL )
Arguments
formula |
A |
data |
A |
x |
A vector including the observations of predictor time series. This is not restricted to |
y |
A vector including the observations of dependent time series. This is not restricted to |
p |
An integer representing finite lag length. |
q |
An integer representing the order of autoregressive process. |
remove |
A list object having two elements showing the lags of independent series with |
type |
An integer taking 1 if only x and y vectors are entered, 2 if a formula and data matrix is entered. It can be left |
Details
The autoregressive DLM is a flexible and parsimonious infinite distributed lag model. The model ARDL is written as
When there is only one predictor series, both of model
and formula
objects can be used. But when they are supplied, both x
and y
arguments should be NULL
.
The variable names in formula
must match with the names of variables in data
argument and it must be in the form of a generic formula for R functions.
The argument data
contains dependent series and independent series.
The argument remove = list(p = list() , q = c())
is used to specify which lags of each independent series and the autoregressive lags of dependent series will be removed from the full model. Each element of the list p
shows particular lags that will be removed from each independent series. To remove the main series from the model or to fit a model ARDL(0,q), include 0
within the elements of p
. The element q
is just a vector showing the autoregressive lags of dependent series to be removed.
To remove the intercept from the model, if a formula
is entered, just include "-1" in the model formula. Otherwise, include "-1" in the element q
of the list remove
. See the examples below for implementation details.
The standard function summary()
prints model summary for the model of interest.
Value
model |
An object of class |
order |
A vector composed of |
removed.p |
A list or vector showing the lags of independent series to be removed from the full model. |
removed.q |
A vector showing the autoregressive lags to be removed from the full model. |
formula |
Model formula of the fitted model. This is returned if multiple independent series are entered. |
data |
A |
Author(s)
Haydar Demirhan
Maintainer: Haydar Demirhan <haydar.demirhan@rmit.edu.au>
References
B.H. Baltagi. Econometrics, Fifth Ed. Springer, 2011.
R.C. Hill, W.E. Griffiths, G.G. Judge. Undergraduate Econometrics. Wiley, 2000.
Examples
# Only one independent series
data(seaLevelTempSOI)
model.ardl = ardlDlm(x = seaLevelTempSOI$LandOcean,
y = seaLevelTempSOI$GMSL, p = 1 , q = 1 )
summary(model.ardl)
# residuals(model.ardl)
# coef(model.ardl)
# fitted(model.ardl)
# Remove some lags
rem.p = c(0,1) # 0 removes the main effect of X.t
rem.q = c(1,3)
remove = list(p = rem.p , q = rem.q)
model.ardl = ardlDlm(x = seaLevelTempSOI$LandOcean,
y = seaLevelTempSOI$GMSL, p = 2 , q = 3 , remove = remove)
summary(model.ardl)
# To remove intercept as well
rem.q = c(1,3,-1)
remove = list(p = rem.p , q = rem.q)
model.ardl = ardlDlm(x = seaLevelTempSOI$LandOcean,
y = seaLevelTempSOI$GMSL, p = 2 , q = 3 , remove = remove)
summary(model.ardl)
# Multiple independent series
data(M1Germany)
data = M1Germany[1:144,]
model.ardlDlm = ardlDlm(formula = logprice ~ interest + logm1,
data = data.frame(data) , p = 2 , q = 1 )
summary(model.ardlDlm)
# To remove intercept as well
model.ardlDlm = ardlDlm(formula = logprice ~ -1 + interest + logm1,
data = data.frame(data) , p = 2 , q = 1 )
summary(model.ardlDlm)
rem.p = list(interest = c(0,2) , logm1 = c(0))
# Remove the main series of interest and logm1 and the secont lag of
# interest from the model
rem.q = c(1)
remove = list(p = rem.p , q = rem.q)
remove
model.ardlDlm = ardlDlm(formula = logprice ~ interest + logm1,
data = data.frame(data) , p = 2 , q = 2 ,
remove = remove)
summary(model.ardlDlm)