Fit vector error-correction (VEC) model to data
uses additional
options specified by one or more name-value pair arguments. For example, EstMdl
= estimate(Mdl
,Y
,Name,Value
)'Model',"H1*",'X',X
specifies the H1* Johansen form of the deterministic terms and X
as exogenous predictor data for the regression component.
Consider a VEC model for the following seven macroeconomic series, and then fit the model to the data.
Gross domestic product (GDP)
GDP implicit price deflator
Paid compensation of employees
Nonfarm business sector hours of all persons
Effective federal funds rate
Personal consumption expenditures
Gross private domestic investment
Suppose that a cointegrating rank of 4 and one short-run term are appropriate, that is, consider a VEC(1) model.
Load the Data_USEconVECModel
data set.
load Data_USEconVECModel
For more information on the data set and variables, enter Description
at the command line.
Determine whether the data needs to be preprocessed by plotting the series on separate plots.
figure; subplot(2,2,1) plot(FRED.Time,FRED.GDP); title('Gross Domestic Product'); ylabel('Index'); xlabel('Date'); subplot(2,2,2) plot(FRED.Time,FRED.GDPDEF); title('GDP Deflator'); ylabel('Index'); xlabel('Date'); subplot(2,2,3) plot(FRED.Time,FRED.COE); title('Paid Compensation of Employees'); ylabel('Billions of $'); xlabel('Date'); subplot(2,2,4) plot(FRED.Time,FRED.HOANBS); title('Nonfarm Business Sector Hours'); ylabel('Index'); xlabel('Date');
figure; subplot(2,2,1) plot(FRED.Time,FRED.FEDFUNDS); title('Federal Funds Rate'); ylabel('Percent'); xlabel('Date'); subplot(2,2,2) plot(FRED.Time,FRED.PCEC); title('Consumption Expenditures'); ylabel('Billions of $'); xlabel('Date'); subplot(2,2,3) plot(FRED.Time,FRED.GPDI); title('Gross Private Domestic Investment'); ylabel('Billions of $'); xlabel('Date');
Stabilize all series, except the federal funds rate, by applying the log transform. Scale the resulting series by 100 so that all series are on the same scale.
FRED.GDP = 100*log(FRED.GDP); FRED.GDPDEF = 100*log(FRED.GDPDEF); FRED.COE = 100*log(FRED.COE); FRED.HOANBS = 100*log(FRED.HOANBS); FRED.PCEC = 100*log(FRED.PCEC); FRED.GPDI = 100*log(FRED.GPDI);
Create a VEC(1) model using the shorthand syntax. Specify the variable names.
Mdl = vecm(7,4,1); Mdl.SeriesNames = FRED.Properties.VariableNames
Mdl = vecm with properties: Description: "7-Dimensional Rank = 4 VEC(1) Model with Linear Time Trend" SeriesNames: "GDP" "GDPDEF" "COE" ... and 4 more NumSeries: 7 Rank: 4 P: 2 Constant: [7×1 vector of NaNs] Adjustment: [7×4 matrix of NaNs] Cointegration: [7×4 matrix of NaNs] Impact: [7×7 matrix of NaNs] CointegrationConstant: [4×1 vector of NaNs] CointegrationTrend: [4×1 vector of NaNs] ShortRun: {7×7 matrix of NaNs} at lag [1] Trend: [7×1 vector of NaNs] Beta: [7×0 matrix] Covariance: [7×7 matrix of NaNs]
Mdl
is a vecm
model object. All properties containing NaN
values correspond to parameters to be estimated given data.
Estimate the model using the entire data set and the default options.
EstMdl = estimate(Mdl,FRED.Variables)
EstMdl = vecm with properties: Description: "7-Dimensional Rank = 4 VEC(1) Model" SeriesNames: "GDP" "GDPDEF" "COE" ... and 4 more NumSeries: 7 Rank: 4 P: 2 Constant: [14.1329 8.77841 -7.20359 ... and 4 more]' Adjustment: [7×4 matrix] Cointegration: [7×4 matrix] Impact: [7×7 matrix] CointegrationConstant: [-28.6082 109.555 -77.0912 ... and 1 more]' CointegrationTrend: [4×1 vector of zeros] ShortRun: {7×7 matrix} at lag [1] Trend: [7×1 vector of zeros] Beta: [7×0 matrix] Covariance: [7×7 matrix]
EstMdl
is an estimated vecm
model object. It is fully specified because all parameters have known values. By default, estimate
imposes the constraints of the H1 Johansen VEC model form by removing the cointegrating trend and linear trend terms from the model. Parameter exclusion from estimation is equivalent to imposing equality constraints to zero.
Display a short summary from the estimation.
results = summarize(EstMdl)
results = struct with fields:
Description: "7-Dimensional Rank = 4 VEC(1) Model"
Model: "H1"
SampleSize: 238
NumEstimatedParameters: 112
LogLikelihood: -1.4939e+03
AIC: 3.2118e+03
BIC: 3.6007e+03
Table: [133x4 table]
Covariance: [7x7 double]
Correlation: [7x7 double]
The Table
field of results
is a table of parameter estimates and corresponding statistics.
Consider the model and data in Estimate VEC Model, and suppose that the estimation sample starts at Q1 of 1980.
Load the Data_USEconVECModel
data set and preprocess the data.
load Data_USEconVECModel
FRED.GDP = 100*log(FRED.GDP);
FRED.GDPDEF = 100*log(FRED.GDPDEF);
FRED.COE = 100*log(FRED.COE);
FRED.HOANBS = 100*log(FRED.HOANBS);
FRED.PCEC = 100*log(FRED.PCEC);
FRED.GPDI = 100*log(FRED.GPDI);
Identify the index corresponding to the start of the estimation sample.
estIdx = FRED.Time(2:end) > '1979-12-31';
Create a default VEC(1) model using the shorthand syntax. Assume that the appropriate cointegration rank is 4. Specify the variable names.
Mdl = vecm(7,4,1); Mdl.SeriesNames = FRED.Properties.VariableNames;
Estimate the model using the estimation sample. Specify all observations before the estimation sample as presample data. Also, specify estimation of the H Johansen form of the VEC model, which includes all deterministic parameters.
Y0 = FRED{~estIdx,:}; EstMdl = estimate(Mdl,FRED{estIdx,:},'Y0',Y0,'Model',"H")
EstMdl = vecm with properties: Description: "7-Dimensional Rank = 4 VEC(1) Model with Linear Time Trend" SeriesNames: "GDP" "GDPDEF" "COE" ... and 4 more NumSeries: 7 Rank: 4 P: 2 Constant: [17.5698 3.74759 -20.1998 ... and 4 more]' Adjustment: [7×4 matrix] Cointegration: [7×4 matrix] Impact: [7×7 matrix] CointegrationConstant: [85.4825 -57.3569 -81.7344 ... and 1 more]' CointegrationTrend: [-0.0264185 -0.00275396 -0.0249583 ... and 1 more]' ShortRun: {7×7 matrix} at lag [1] Trend: [0.000514564 -0.000291183 0.00179965 ... and 4 more]' Beta: [7×0 matrix] Covariance: [7×7 matrix]
Because the VEC model order p is 2, estimate
uses only the last two observations (rows) in Y0
as a presample.
Consider the model and data in Estimate VEC Model.
Load the Data_USEconVECModel
data set and preprocess the data.
load Data_USEconVECModel
FRED.GDP = 100*log(FRED.GDP);
FRED.GDPDEF = 100*log(FRED.GDPDEF);
FRED.COE = 100*log(FRED.COE);
FRED.HOANBS = 100*log(FRED.HOANBS);
FRED.PCEC = 100*log(FRED.PCEC);
FRED.GPDI = 100*log(FRED.GPDI);
The Data_Recessions
data set contains the beginning and ending serial dates of recessions. Load this data set. Convert the matrix of date serial numbers to a datetime array.
load Data_Recessions dtrec = datetime(Recessions,'ConvertFrom','datenum');
Create a dummy variable that identifies periods in which the U.S. was in a recession or worse. Specifically, the variable should be 1
if FRED.Time
occurs during a recession, and 0
otherwise.
isin = @(x)(any(dtrec(:,1) <= x & x <= dtrec(:,2))); isrecession = double(arrayfun(isin,FRED.Time));
Create a VEC(1) model using the shorthand syntax. Assume that the appropriate cointegration rank is 4. You do not have to specify the presence of a regression component when creating the model. Specify the variable names.
Mdl = vecm(7,4,1); Mdl.SeriesNames = FRED.Properties.VariableNames;
Estimate the model using the entire sample. Specify the predictor identifying whether the observation was measured during a recession. Return the standard errors.
[EstMdl,EstSE] = estimate(Mdl,FRED.Variables,'X',isrecession);
Display the regression coefficient for each equation and the corresponding standard errors.
EstMdl.Beta
ans = 7×1
-1.1975
-0.0187
-0.7530
-0.7094
-0.5932
-0.6835
-4.4839
EstSE.Beta
ans = 7×1
0.1547
0.0581
0.1507
0.1278
0.2471
0.1311
0.7150
EstMdl.Beta
and EstSE.Beta
are 7-by-1 vectors. Rows correspond to response variables in EstMdl.SeriesNames
and columns correspond to predictors.
To check whether the effects of recessions are significant, obtain summary statistics from summarize
, and then display the results for Beta
.
results = summarize(EstMdl);
isbeta = contains(results.Table.Properties.RowNames,'Beta');
betaresults = results.Table(isbeta,:)
betaresults=7×4 table
Value StandardError TStatistic PValue
_________ _____________ __________ __________
Beta(1,1) -1.1975 0.15469 -7.7411 9.8569e-15
Beta(2,1) -0.018738 0.05806 -0.32273 0.7469
Beta(3,1) -0.75305 0.15071 -4.9966 5.8341e-07
Beta(4,1) -0.70936 0.12776 -5.5521 2.8221e-08
Beta(5,1) -0.5932 0.24712 -2.4004 0.016377
Beta(6,1) -0.68353 0.13107 -5.2151 1.837e-07
Beta(7,1) -4.4839 0.715 -6.2712 3.5822e-10
whichsig = EstMdl.SeriesNames(betaresults.PValue < 0.05)
whichsig = 1x6 string array
"GDP" "COE" "HOANBS" "FEDFUNDS" "PCEC" "GPDI"
All series except GDPDEF
appear to have a significant recessions effect.
Mdl
— VEC modelvecm
model objectVEC model containing unknown parameter values, specified as a vecm
model object returned by vecm
.
NaN
-valued elements in properties indicate unknown, estimable parameters. Specified elements indicate equality constraints on parameters in model estimation. The innovations covariance matrix Mdl.Covariance
cannot contain a mix of NaN
values and real numbers; you must fully specify the covariance or it must be completely unknown (NaN(Mdl.NumSeries)
).
Y
— Observed multivariate response seriesObserved multivariate response series to which estimate
fits the model,
specified as a numobs
-by-numseries
numeric
matrix.
numobs
is the sample size. numseries
is the
number of response variables (Mdl.NumSeries
).
Rows correspond to observations, and the last row contains the latest observation.
Columns correspond to individual response variables.
Y
represents the continuation of the presample response series in
Y0
.
Data Types: double
Specify optional
comma-separated pairs of Name,Value
arguments. Name
is
the argument name and Value
is the corresponding value.
Name
must appear inside quotes. You can specify several name and value
pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
'Model',"H1*",'Y0',Y0,'X',X
includes only the deterministic terms in the H1 form of the VEC model, uses the matrix Y0
as presample responses required for estimation, and includes a linear regression component composed of the predictor data in X
.'Y0'
— Presample responsesPresample responses to initiate the model estimation, specified as the comma-separated pair
consisting of 'Y0'
and a
numpreobs
-by-numseries
numeric matrix.
numpreobs
is the number of presample observations.
Rows correspond to presample observations, and the last row contains the latest observation.
Y0
must have at least Mdl.P
rows. If you
supply more rows than necessary, estimate
uses the latest
Mdl.P
observations only.
Columns must correspond to the response series in Y
.
By default, estimate
uses Y(1:Mdl.P,:)
as presample
observations, and then fits the model to Y((Mdl.P + 1):end,:)
. This
action reduces the effective sample size.
Data Types: double
'X'
— Predictor dataPredictor data for the regression component in the model, specified as the comma-separated
pair consisting of 'X'
and a numeric matrix containing
numpreds
columns.
numpreds
is the number of predictor variables.
Rows correspond to observations, and the last row contains the latest observation.
estimate
does not use the regression component in the
presample period. X
must have at least as many observations as are
used after the presample period.
In either case, if you supply more rows than necessary,
estimate
uses the latest observations only.
Columns correspond to individual predictor variables. All predictor variables are present in the regression component of each response equation.
By default, estimate
excludes the regression component, regardless of its presence in Mdl
.
Data Types: double
'Model'
— Johansen form of VEC(p – 1) model deterministic terms"H1"
(default) | "H2"
| "H1*"
| "H*"
| "H"
Johansen form of the VEC(p – 1) model deterministic terms [2], specified as the comma-separated pair consisting of 'Model'
and a value in this table (for variable definitions, see Vector Error-Correction Model).
Value | Error-Correction Term | Description |
---|---|---|
"H2" | AB´y_{t − 1} | No intercepts or trends are present in the cointegrating relations, and no deterministic trends are present in the levels of the data. Specify this model only when all response series have a mean of zero. |
"H1*" | A(B´y_{t−1}+c_{0}) | Intercepts are present in the cointegrating relations, and no deterministic trends are present in the levels of the data. |
"H1" | A(B´y_{t−1}+c_{0})+c_{1} | Intercepts are present in the cointegrating relations, and deterministic linear trends are present in the levels of the data. |
"H*" | A(B´y_{t−1}+c_{0}+d_{0}t)+c_{1} | Intercepts and linear trends are present in the cointegrating relations, and deterministic linear trends are present in the levels of the data. |
"H" | A(B´y_{t−1}+c_{0}+d_{0}t)+c_{1}+d_{1}t | Intercepts and linear trends are present in the cointegrating relations, and deterministic quadratic trends are present in the levels of the data. If quadratic trends are not present in the data, this model can produce good in-sample fits but poor out-of-sample forecasts. |
During estimation, if the overall model constant, overall linear trend, cointegrating constant, or cointegrating linear trend parameters are not in the model, then estimate
constrains them to zero. If you specify a different equality constraint, that is, if the properties corresponding to those deterministic terms being constrained to zero have a value other than a vector of NaN
values or zeros, then estimate
issues an error. To enforce supported equality constraints, choose the Johansen model containing the deterministic term that you want to constrain.
Example: 'Model',"H1*"
Data Types: string
| char
'Display'
— Estimation information display type"off"
(default) | "table"
| "full"
Estimation information display type, specified as the comma-separated pair consisting of 'Display'
and a value in this table.
Value | Description |
---|---|
"off" | estimate does not display estimation information at the command line. |
"table" | estimate displays a table of estimation information. Rows correspond to parameters, and columns correspond to estimates, standard errors, t statistics, and p values. |
"full" | In addition to a table of summary statistics, estimate displays the estimated innovations covariance and correlation matrices, loglikelihood value, Akaike Information Criterion (AIC), Bayesian Information Criterion (BIC), and other estimation information. |
Example: 'Display',"full"
Data Types: string
| char
'MaxIterations'
— Maximum number of solver iterations allowed1000
(default) | positive numeric scalarMaximum number of solver iterations allowed, specified as the comma-separated pair consisting of 'MaxIterations'
and a positive numeric scalar.
estimate
dispatches MaxIterations
to mvregress
.
Data Types: double
NaN
values in Y
, Y0
, and X
indicate missing values. estimate
removes missing values from the data by list-wise deletion.
For the presample, estimate
removes any row containing at least one NaN
.
For the estimation sample, estimate
removes any row of the concatenated data matrix [Y X]
containing at least one NaN
.
This type of data reduction reduces the effective sample size.
EstMdl
— Estimated VEC(p – 1) modelvecm
model objectEstimated VEC(p – 1) model, returned as a vecm
model object. EstMdl
is a fully specified vecm
model.
EstSE
— Estimated, asymptotic standard errors of estimated parametersEstimated, asymptotic standard errors of the estimated parameters, returned as a structure array containing the fields in this table.
Field | Description |
---|---|
Constant | Standard errors of the overall model constants (c) corresponding to the estimates in EstMdl.Constant , an Mdl.NumSeries -by-1 numeric vector |
Adjustment | Standard errors of the adjustment speeds (A) corresponding to the estimates in EstMdl.Adjustment , an Mdl.NumSeries -by-Mdl.Rank numeric vector |
Impact | Standard errors of the impact coefficient (Π) corresponding to the estimates in EstMdl.Impact , an Mdl.NumSeries -by-Mdl.NumSeries numeric vector |
ShortRun | Standard errors of the short-run coefficients (Φ) corresponding to estimates in EstMdl.ShortRun , a cell vector with elements corresponding to EstMdl.ShortRun |
Beta | Standard errors of regression coefficients (β) corresponding to the estimates in EstMdl.Beta , an Mdl.NumSeries -by-numpreds numeric matrix |
Trend | Standard errors of the overall linear time trends (d) corresponding to the estimates in EstMdl.Trend , an Mdl.NumSeries -by-1 numeric vector |
If estimate
applies equality constraints during estimation by fixing any parameters to a value, then corresponding standard errors of those parameters are 0
.
logL
— Optimized loglikelihood objective function valueOptimized loglikelihood objective function value, returned as a numeric scalar.
A vector error-correction (VEC) model is a
multivariate, stochastic time series model consisting of a system of m =
numseries
equations of m distinct, differenced
response variables. Equations in the system can include an error-correction
term, which is a linear function of the responses in levels used to
stabilize the system. The cointegrating rank
r is the number of cointegrating relations that
exist in the system.
Each response equation can include an autoregressive polynomial composed of first differences of the response series (short-run polynomial of degree p – 1), a constant, a time trend, exogenous predictor variables, and a constant and time trend in the error-correction term.
A VEC(p – 1) model in difference-equation notation and in reduced form can be expressed in two ways:
This equation is the component form of a VEC model, where the cointegration adjustment speeds and cointegration matrix are explicit, whereas the impact matrix is implied.
$$\begin{array}{c}\Delta {y}_{t}=A\left(B\prime {y}_{t-1}+{c}_{0}+{d}_{0}t\right)+{c}_{1}+{d}_{1}t+{\Phi}_{1}\Delta {y}_{t-1}+\mathrm{...}+{\Phi}_{p-1}\Delta {y}_{t-(p-1)}+\beta {x}_{t}+{\epsilon}_{t}\\ =c+dt+AB\prime {y}_{t-1}+{\Phi}_{1}\Delta {y}_{t-1}+\mathrm{...}+{\Phi}_{p-1}\Delta {y}_{t-(p-1)}+\beta {x}_{t}+{\epsilon}_{t}.\end{array}$$
The cointegrating relations are B'y_{t – 1} + c_{0} + d_{0}t and the error-correction term is A(B'y_{t – 1} + c_{0} + d_{0}t).
This equation is the impact form of a VEC model, where the impact matrix is explicit, whereas the cointegration adjustment speeds and cointegration matrix are implied.
$$\begin{array}{c}\Delta {y}_{t}=\Pi {y}_{t-1}+A\left({c}_{0}+{d}_{0}t\right)+{c}_{1}+{d}_{1}t+{\Phi}_{1}\Delta {y}_{t-1}+\mathrm{...}+{\Phi}_{p-1}\Delta {y}_{t-(p-1)}+\beta {x}_{t}+{\epsilon}_{t}\\ =c+dt+\Pi {y}_{t-1}+{\Phi}_{1}\Delta {y}_{t-1}+\mathrm{...}+{\Phi}_{p-1}\Delta {y}_{t-(p-1)}+\beta {x}_{t}+{\epsilon}_{t}.\end{array}$$
In the equations:
y_{t} is an m-by-1 vector of values corresponding to m response variables at time t, where t = 1,...,T.
Δy_{t} = y_{t} – y_{t – 1}. The structural coefficient is the identity matrix.
r is the number of cointegrating relations and, in general, 0 < r < m.
A is an m-by-r matrix of adjustment speeds.
B is an m-by-r cointegration matrix.
Π is an m-by-m impact matrix with a rank of r.
c_{0} is an r-by-1 vector of constants (intercepts) in the cointegrating relations.
d_{0} is an r-by-1 vector of linear time trends in the cointegrating relations.
c_{1} is an m-by-1 vector of constants (deterministic linear trends in y_{t}).
d_{1} is an m-by-1 vector of linear time-trend values (deterministic quadratic trends in y_{t}).
c = Ac_{0} + c_{1} and is the overall constant.
d = Ad_{0} + d_{1} and is the overall time-trend coefficient.
Φ_{j} is an m-by-m matrix of short-run coefficients, where j = 1,...,p – 1 and Φ_{p – 1} is not a matrix containing only zeros.
x_{t} is a k-by-1 vector of values corresponding to k exogenous predictor variables.
β is an m-by-k matrix of regression coefficients.
ε_{t} is an m-by-1 vector of random Gaussian innovations, each with a mean of 0 and collectively an m-by-m covariance matrix Σ. For t ≠ s, ε_{t} and ε_{s} are independent.
Condensed and in lag operator notation, the system is
$$\begin{array}{c}\Phi (L)(1-L){y}_{t}=A\left(B\prime {y}_{t-1}+{c}_{0}+{d}_{0}t\right)+{c}_{1}+{d}_{1}t+\beta {x}_{t}+{\epsilon}_{t}\\ =c+dt+AB\prime {y}_{t-1}+\beta {x}_{t}+{\epsilon}_{t}\end{array}$$
where $$\Phi (L)=I-{\Phi}_{1}-{\Phi}_{2}-\mathrm{...}-{\Phi}_{p-1}$$, I is the m-by-m identity matrix, and Ly_{t} = y_{t – 1}.
If m = r, then the VEC model is a stable VAR(p) model in the levels of the responses. If r = 0, then the error-correction term is a matrix of zeros, and the VEC(p – 1) model is a stable VAR(p – 1) model in the first differences of the responses.
The Johansen forms of a VEC Model differ with respect to the presence of deterministic terms. As detailed in [2], the estimation procedure differs among the forms. Consequently, allowable equality constraints on the deterministic terms during estimation differ among forms. For more details, see The Role of Deterministic Terms.
This table describes the five Johansen forms and supported equality constraints.
Form | Error-Correction Term | Deterministic Coefficients | Equality Constraints |
---|---|---|---|
H2 |
AB´y_{t − 1} |
c = 0 (Constant). d = 0 (Trend). c_{0} = 0 (CointegrationConstant). d_{0} = 0 (CointegrationTrend). |
You can fully specify B. All deterministic coefficients are zero. |
H1* |
A(B´y_{t−1}+c_{0}) |
c = Ac_{0}. d = 0. d_{0} = 0. |
If you fully specify either B or c_{0}, then you must fully specify the other. MATLAB^{®} derives the value of c from c_{0} and A. All deterministic trends are zero. |
H1 |
A(B´y_{t−1} + c_{0}) + c_{1} |
c = Ac_{0} + c_{1}. d = 0. d_{0} = 0. |
You can fully specify B. You can specify a mixture of MATLAB derives the value of c_{0} from c and A. All deterministic trends are zero. |
H* |
A(B´y_{t−1} + c_{0} + d_{0}t) + c_{1} |
c = Ac_{0} + c_{1}. d = Ad_{0}. |
If you fully specify either B or d_{0}, then you must fully specify the other. You can specify a mixture of MATLAB derives the value of c_{0} from c and A. MATLAB derives the value of d from A and d_{0}. |
H |
A(B´y_{t−1}+c_{0}+d_{0}t)+c_{1}+d_{1}t |
c = Ac_{0} + c_{1}. d = A.d_{0} + d_{1}. |
You can fully specify B. You can specify a mixture of MATLAB derives the values of c_{0} and d_{0} from c, d, and A. |
If 1 ≤ Mdl.Rank
≤ Mdl.NumSeries
– 1
, as with most VEC models, then estimate
performs parameter estimation in two steps.
estimate
estimates the parameters of the cointegrating relations, including any restricted intercepts and time trends, by the Johansen method [2].
The form of the cointegrating relations corresponds to one of the five parametric forms considered by Johansen in [2] (see 'Model'
). For more details, see jcitest
and jcontest
.
The adjustment speed parameter (A) and the cointegration matrix (B) in the VEC(p – 1) model cannot be uniquely identified. However, the product Π = A*Bʹ is identifiable. In this estimation step, B = V_{1:r}, where V_{1:r} is the matrix composed of all rows and the first r columns of the eigenvector matrix V. V is normalized so that Vʹ*S_{11}*V = I. For more details, see [2].
estimate
constructs the error-correction terms from the estimated cointegrating relations. Then, estimate
estimates the remaining terms in the VEC model by constructing a vector autoregression (VAR) model in first differences and including the error-correction terms as predictors. For models without cointegrating relations (Mdl.Rank
= 0) or with a cointegrating matrix of full rank (Mdl.Rank
= Mdl.Numseries
), estimate
performs this VAR estimation step only.
You can remove stationary series, which are associated with standard unit vectors in the space of cointegrating relations, from cointegration analysis. To pretest individual series for stationarity, use adftest
, pptest
, kpsstest
, and lmctest
. As an alternative, you can test for standard unit vectors in the context of the full model by using jcontest
.
If 1
≤ Mdl.Rank
≤ Mdl.NumSeries
– 1
, the asymptotic error covariances of the parameters in the cointegrating relations (which include B, c_{0}, and d_{0} corresponding to the Cointegration
, CointegrationConstant
, and CointegrationTrend
properties, respectively) are generally non-Gaussian. Therefore, estimate
does not estimate or return corresponding standard errors.
In contrast, the error covariances of the composite impact matrix, which is defined as the product A*Bʹ, are asymptotically Gaussian. Therefore, estimate
estimates and returns its standard errors. Similar caveats hold for the standard errors of the overall constant and linear trend (A*c_{0} and A*d_{0}corresponding to the Constant
and Trend
properties, respectively) of the H1* and H* Johansen forms.
[1] Hamilton, J. D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.
[2] Johansen, S. Likelihood-Based Inference in Cointegrated Vector Autoregressive Models. Oxford: Oxford University Press, 1995.
[3] Juselius, K. The Cointegrated VAR Model. Oxford: Oxford University Press, 2006.
[4] Lütkepohl, H. New Introduction to Multiple Time Series Analysis. Berlin: Springer, 2005.
A modified version of this example exists on your system. Do you want to open this version instead?
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.