genip
(Series)
Generalized indicator based interpolation
Syntax
[highOutput, info] = genip(lowInput, highFreq, order, aggregation, ...)
Input arguments
lowInput
[ Series ]
Low-frequency input series that will be interpolated to the
highFreq
frequency using theIndicator...
and hard conditions specified inHard...
highFreq
[ Frequency ]
Target frequency to which the
lowInput
series will be interpolated;highFreq
must be higher than the date frequency of thelowInput
.
order
[ 0
| 1
| 2
]
Autoregressive order of the transition equation for the dynamics of the interpolated series, and for the relationship between the interpolated series and the indicator (if included).
aggregation
[ "mean"
| "sum"
| "first"
| "last"
| numeric ]
Type of aggregation of quarterly observations to yearly observations; the
aggregation
can be assigned a1-by-N
numeric vector with the weights given, respectively, for the individual high-frequency periods within the encompassing low-frequency period.
Output arguments
highOutput
[ Series ]
High-frequency output series constructed by interpolating the input
lowInput
using the dynamics of theindicator
.
info
[ struct ]
Output information struct with the the following fields:
.FromFreq
Original (low) frequency of the input series
.ToFreq
Target (high) frequency to which the input series has been interpolated
.LowRange
Low frequency date range from which the input series has been interpolated
.HighRange
High frequency date range to which the input series has been interpolated
.EffectiveLowRange
Low frequency range after excluding years with full conditioning level information
.StackedSystem
Stacked-time linear system (StackedSystem) object used to run the interpolation
Options
Range=Inf
[ Inf
| Dater ]
Low-frequency range on which the interpolation will be calculated;
Inf
means from the date of the first observation to the date of the last observation in thelowInput
time series.
ResolveConflicts=true
[ true
| false
]
Resolve potential conflicts (singularity) between the
lowInput
obervatations and the data supplied through theHighLevel=
option.
IndicatorLevel=[]
[ empty | Series ]
High-frequency indicator whose dynamics will be used to interpolate the
lowInput
.
IndicatorModel="Difference"
[ "Difference"
| "Ratio"
]
Type of model for the relationship between the interpolated series and the indicator in the transition equation:
"Difference"
means the indicator will be subtracted from the series,"Ratio"
means the series will be divided by the indicator.
Initials=@auto
[ @auto
| Series ]
Initial (presample) conditions for the Kalman filter;
@auto
means the initial condition will be extracted from theHardLevel
time series; if no observations are supplied either directly throughInitials
or throughHardLevel
, the initial condition will be estimated by maximum likelihood.
HardLevel=[ ]
[ empty | Series ]
Hard conditioning information; any values in this time series within the interpolation range or the presample initial condition (see also the option
Initials
) will be imposed on the resultinghighOutput
.
TransitionIntercept=0
[ numeric | @auto
]
Intercept in the transition equation; if
@auto
the intercept will be estimated by GLS.
Description
The interpolated lowInput
is obtained from the first element of the state
vector estimated using the following quarterly state-space model
estimated by a Kalman filter:
State transition equation
where \(\hat x_t\) is a transformation of the unobserved higher-frequency
interpolated series, \(x_t\), depending on the option Indicator.Model
,
and \(v_t\) is a transition error with constant variance. The
transformation \(\hat x_t\) is given by:
-
\(\hat x_t = x_t\) if no indicator is specified;
-
\(\hat x_t = x_t - q_t\) if an indicator \(q_t\) is entered through
Indicator.Level=
andIndicator.Model="Difference"
; -
\(\hat x_t = x_t / q_t\) if an indicator \(q_t\) is entered through
Indicator.Level=
andIndicator.Model="Ratio"
;
\(L\) is the lag operator, \(k\) is the order of differencing
specified by order
.
Measurement equation
where
-
\(y_t\) is a measurement variables containing the lower-frequency data placed in the last (fourth) quarter of every year; in other words, only every fourth observation is available, and the three in between are missing
-
\(x_t\) is a state vector consisting of \(N\) elements, where \(N\) is the number of high-frequency periods within one low-frequency period: the unobserved high-frequency lags \(t-N, \dots, t-1, t\).
-
\(Z\) is a time-invariant aggregation matrix depending on
aggregation
: -
\(Z=[1, 1, 1, 1]\) for
aggregation="sum"
, - \(Z=[1/4, 1/4, 1/4, 1/4]\) for
aggregation="average"
, - \(Z=[0, 0, 0, 1]\) for
aggregation="last"
, - \(Z=[1, 0, 0, 0]\) for
aggregation="first"
, -
or a user supplied 1-by-\(N\) vector
-
\(w_t\) is a vector of measurement errors associated with soft conditions.
Examples