Learn R Programming

midasr (version 0.5)

imidas_r: Restricted MIDAS regression with I(1) regressors

Description

Estimate restricted MIDAS regression using non-linear least squares, when the regressor is I(1)

Usage

imidas_r(formula, data, start, Ofunction = "optim", weight_gradients = NULL,
  ...)

Arguments

formula
formula for restricted MIDAS regression. Formula must include fmls function
data
a named list containing data with mixed frequencies
start
the starting values for optimisation. Must be a list with named elements.
Ofunction
the list with information which R function to use for optimisation. The list must have element named Ofunction which contains character string of chosen R function. Other elements of the list are the arguments passed to this function. The def
weight_gradients
a named list containing gradient functions of weights. The weight gradient function must return the matrix with dimensions $d_k \times q$, where $d_k$ and $q$ are the number of coefficients in unrestricted and restricted regressions correspondingly. The n
...
additional arguments supplied to optimisation function

Value

  • a midas_r object which is the list with the following elements:
  • coefficientsthe estimates of parameters of restrictions
  • midas_coefficientsthe estimates of MIDAS coefficients of MIDAS regression
  • modelmodel data
  • unrestrictedunrestricted regression estimated using midas_u
  • term_infothe named list. Each element is a list with the information about the term, such as its frequency, function for weights, gradient function of weights, etc.
  • fn0optimisation function for non-linear least squares problem solved in restricted MIDAS regression
  • rhsthe function which evaluates the right-hand side of the MIDAS regression
  • gen_midas_coefthe function which generates the MIDAS coefficients of MIDAS regression
  • optthe output of optimisation procedure
  • argmap_optthe list containing the name of optimisation function together with arguments for optimisation function
  • start_optthe starting values used in optimisation
  • start_listthe starting values as a list
  • callthe call to the function
  • termsterms object
  • gradientgradient of NLS objective function
  • hessianhessian of NLS objective function
  • gradDgradient function of MIDAS weight functions
  • Zenvthe environment in which data is placed
  • use_gradientTRUE if user supplied gradient is used, FALSE otherwise
  • nobsthe number of effective observations
  • convergencethe convergence message
  • fitted.valuesthe fitted values of MIDAS regression
  • residualsthe residuals of MIDAS regression

Details

Given MIDAS regression:

$$y_t=\sum_{j=0}^k\sum_{i=0}^{m-1}\theta_{jm+i} x_{(t-j)m-i}+\mathbf{z_t}\beta+u_t$$

estimate the parameters of the restriction

$$\theta_h=g(h,\lambda),$$ where $h=0,...,(k+1)m$, together with coefficients $\beta$ corresponding to additional low frequency regressors.

It is assumed that $x$ is a I(1) process, hence the special transformation is made. After the transformation midas_r is used for estimation.

MIDAS regression involves times series with different frequencies.

The restriction function must return the restricted coefficients of the MIDAS regression.

See Also

midas_r.midas_r

Examples

Run this code
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)
}

theta0 <- theta.h0(c(-0.1,10,-10,-10),4*12)

xx <- ts(cumsum(rnorm(600*12)), frequency = 12)

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

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

imr <- imidas_r(y~fmls(x,4*12-1,12,theta.h0)-1,start=list(x=c(-0.1,10,-10,-10)))

Run the code above in your browser using DataLab