Documentation |
impulse(Mdl)
impulse(Mdl,numObs)
Y = impulse(___)
impulse(Mdl) plots a discrete stem plot of the impulse response function for the univariate ARIMA model, Mdl, in the current figure window.
impulse(Mdl,numObs) plots the impulse response function for numObs periods.
Y = impulse(___) returns the impulse response in a column vector for any of the previous input arguments.
To improve performance of the filtering algorithm, specify the number of observations to include in the impulse response, numObs. When you do not specify numObs, impulse computes the impulse response by converting the input model to a truncated, infinite-degree, moving average representation using the relatively slow lag operator polynomial division algorithm. This results in an impulse response of generally unknown length.
Mdl | |
numObs |
Positive integer indicating the number of observations to include in the impulse response (the number of periods for which impulse computes the impulse response). When you specify numObs, impulse computes the impulse response by filtering a unit impulse followed by a vector of zeros of appropriate length. The filtering algorithm is very fast and results in an impulse response of known length. If you do not specify numObs, impulse determines the number of observation using the polynomial division algorithm of the underlying lag operator polynomials, mldivide. |
Y |
Column vector of impulse responses. If you specify numObs, then Y is numObs-by-1. If you do not specify numObs, the underlying lag operator polynomial division algorithm returns an impulse response of generally unknown length. |
The impulse response function for a univariate ARIMA process is the dynamic response of the system to a single impulse, or innovation shock, of unit size. The specific impulse response calculated by impulse is the dynamic multiplier, defined as the partial derivative of the output response with respect to an innovation shock at time zero.
For a univariate ARIMA process, y_{t}, and innovation series ε_{t}, the impulse response at time j, Ψ_{j}, is given by
$${\psi}_{j}=\frac{\partial {y}_{j}}{\partial {\epsilon}_{0}}.$$
Expressed as a function of time, the sequence of dynamic multipliers, Ψ_{1}, Ψ_{2},..., measures the sensitivity of the process to a purely transitory change in the innovation process. impulse computes the impulse response function by shocking the system with a unit impulse ε_{0} = 1, with all past observations of y_{t} and all future shocks of ε_{t} set to zero. Because the impulse response function is the partial derivative of the ARIMA process with respect to an innovation shock at time 0, the presence of a constant in the model has no effect on the output.
This impulse response is sometimes called the forecast error impulse response, because the innovations, ε_{t}, can be interpreted as the one-step-ahead forecast errors.
[1] Box, G. E. P., G. M. Jenkins, and G. C. Reinsel. Time Series Analysis: Forecasting and Control 3rd ed. Englewood Cliffs, NJ: Prentice Hall, 1994.
[2] Enders, W. Applied Econometric Time Series. Hoboken, NJ: John Wiley & Sons, 1995.
[3] Hamilton, J. D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.
[4] Lütkepohl, H. New Introduction to Multiple Time Series Analayis. New York, NY: Springer-Verlag, 2007.