These examples show how to prepare time series data at the MATLAB® command line for use in the Econometric Modeler app.
You can import only one variable into Econometric Modeler. The variable can exist in the MATLAB Workspace or a MAT-file.
A row in a MATLAB timetable contains simultaneously sampled observations. When you import a timetable, the app plots associated times on the x axis of time series plots and enables you to overlay recession bands on the plots. Therefore, these examples show how to create timetables for univariate and multivariate time series data. For other supported data types and variable orientation, see Prepare Data for Econometric Modeler App.
This example shows how to create a MATLAB timetable from synchronized data stored in a MATLAB table. The data set contains annual Canadian inflation and interest rates from 1954 through 1994.
At the command line, clear the Workspace, then load the Data_Canada.mat
data set. Display all variables in the workspace.
clear all load Data_Canada whos
Name Size Bytes Class Attributes Data 41x5 1640 double DataTable 41x5 8379 table Description 34x55 3740 char dates 41x1 328 double series 1x5 918 cell
Data
and DataTable
contain the time series, and dates
contains the sampling years as a numeric vector. The row names of DataTable
are the sampling years. For more details about the data set, enter Description
at the command line.
Clear the row names of DataTable
.
DataTable.Properties.RowNames = {};
Convert the sampling years to a datetime
vector. Specify the years, and assume that measurements were taken at the end of December. Specify that the time format is the sampling year.
dates = datetime(dates,12,31,'Format','yyyy');
Convert the table DataTable
to a timetable by associating the rows with the sampling times in dates
.
DataTable = table2timetable(DataTable,'RowTimes',dates);
DataTable
is a timetable containing the five time series and a variable named Time
representing the time base. DataTable
is prepared for importing into Econometric Modeler.
If your time series are not synchronized (that is, do not share a common time base), then you must synchronize them before you import them into the app. For more details, see synchronize
and Combine Timetables and Synchronize Their Data.
This example shows how to create a timetable from a univariate time series stored as a numeric column vector. The data set contains the quarterly US gross domestic product (GDP) prices from 1947 through 2005.
At the command line, clear the workspace, then load the Data_GDP.mat
data set. Display all variables in the workspace.
clear all load Data_GDP whos
Name Size Bytes Class Attributes Data 234x1 1872 double Description 22x59 2596 char dates 234x1 1872 double
Data
contains the time series, and dates
contains the sampling times as serial date numbers. For more details about the data set, enter Description
at the command line.
Convert the sampling times to a datetime
vector. By default, MATLAB stores the hours, minutes, and seconds when converting from serial date numbers. Remove these clock times from the data.
dates = datetime(dates,'ConvertFrom','datenum','Format','ddMMMyyyy',... 'Locale','en_US');
Create a timetable containing the data, and associate each row with the corresponding sampling time in dates
. Name the variable GDP
.
DataTable = timetable(Data,'RowTimes',dates,'VariableNames',{'GDP'});
DataTable
is a timetable, and is prepared for importing into Econometric Modeler.