midas_u: Estimate unrestricted MIDAS regression

View source: R/midasreg.R

midas_uR Documentation

Estimate unrestricted MIDAS regression

Description

Estimate unrestricted MIDAS regression using OLS. This function is a wrapper for lm.

Usage

midas_u(formula, data, ...)

Arguments

formula

MIDAS regression model formula

data

a named list containing data with mixed frequencies

...

further arguments, which could be passed to lm function.

Details

MIDAS regression has the following form:

y_t = ∑_{j=1}^pα_jy_{t-j} +∑_{i=0}^{k}∑_{j=0}^{l_i}β_{j}^{(i)}x_{tm_i-j}^{(i)} + u_t,

where x_τ^{(i)}, i=0,...k are regressors of higher (or similar) frequency than y_t. Given certain assumptions the coefficients can be estimated using usual OLS and they have the familiar properties associated with simple linear regression.

Value

lm object.

Author(s)

Virmantas Kvedaras, Vaidotas Zemlys

References

Kvedaras V., Zemlys, V. Testing the functional constraints on parameters in regressions with variables of different frequency Economics Letters 116 (2012) 250-254

Examples

##The parameter function
theta_h0 <- function(p, dk, ...) {
   i <- (1:dk-1)/100
   pol <- p[3]*i + p[4]*i^2
   (p[1] + p[2]*i)*exp(pol)
}

##Generate coefficients
theta0 <- theta_h0(c(-0.1,10,-10,-10),4*12)

##Plot the coefficients
##Do not run
#plot(theta0)

##' ##Generate the predictor variable
xx <- ts(arima.sim(model = list(ar = 0.6), 600 * 12), frequency = 12)

##Simulate the response variable
y <- midas_sim(500, xx, theta0)

x <- window(xx, start=start(y))

##Create low frequency data.frame
ldt <- data.frame(y=y,trend=1:length(y))

##Create high frequency data.frame

hdt <- data.frame(x=window(x, start=start(y)))

##Fit unrestricted model
mu <- midas_u(y~fmls(x,2,12)-1, list(ldt, hdt))

##Include intercept and trend in regression

mu_it <- midas_u(y~fmls(x,2,12)+trend, list(ldt, hdt))

##Pass data as partialy named list

mu_it <- midas_u(y~fmls(x,2,12)+trend, list(ldt, x=hdt$x))


mpiktas/midasr documentation built on Aug. 24, 2022, 2:32 p.m.