Learn R Programming

midasr (version 0.2)

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(x, ...)

## S3 method for class 'default': imidas_r(x, data, start, Ofunction = "optim", user.gradient = FALSE, ...)

Arguments

x
either formula for restricted MIDAS regression or midas_r object. 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.
user.gradient
the default value is FALSE, which means that the numeric approximation of weight function gradient is calculated. If TRUE it is assumed that the R function for weight function gradient has the name of the weight function
...
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.coefficientasthe estimates of restricted coefficients of MIDAS regression
  • modelmodel data
  • weightsthe restriction function(s) used in estimation.
  • unrestrictedunrestricted regression estimated using midas_u
  • param.mapparameter map for optimisation function
  • 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
  • allcoefthe function which evaluates the restricted 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

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 <- simplearma.sim(list(ar=1),1500*12,1,12)
y <- midas.sim(500,theta0,xx,1)
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