主要内容

多变量时间序列数据格式

多元时间序列分析的第一步是获取,检查,数据预处理。本主题描述如下:

  • 如何经济数据加载到MATLAB®

  • 适当的数据类型和结构的多元时间序列分析的功能

  • 共同特征的时间序列数据,可以保证改变之前设置进行分析

  • 如何将数据分割成presample,估计和预测样本。

多变量时间序列数据

两个主要类型的多元时间序列数据:

  • 响应数据——观察从n- d多元时间序列的反应yt(见类型的静止的多元时间序列模型)。

  • 外生的数据——观察从- d多元时间序列的预测xt。每个变量外生数据出现在默认情况下所有响应方程。

之前指定任何数据集作为输入计量经济学工具箱™函数,适当格式的数据。使用标准的MATLAB命令,或预处理数据与电子表格程序,数据库程序,PERL或其他工具。

你可以从几个免费获得历史时间序列数据来源,例如圣路易斯联邦储备经济数据库(称为弗雷德®):https://research.stlouisfed.org/fred2/。如果你有一个数据处理工具箱™的许可证,您可以使用工具箱函数访问来自不同数据源的数据。

负载多元经济数据

该文件Data_USEconModel附带计量经济学工具。它包含了时间序列从弗雷德。

将数据装载到MATLAB工作区。

负载Data_USEconModel

在工作区中变量包括:

  • 数据,249 - 14包含14个宏观经济时间序列观测矩阵。

  • 数据表,249 - 14 MATLAB包含相同的时间序列观察表。

  • DataTimeTable,249 - 14 MATLAB时间表包含相同时间序列的观测,观测时间戳。

  • 描述,一个字符数组,其中包含一个描述数据系列,每个系列的标签的关键。

  • 系列,1-by-14单元阵列的时间序列标签。

数据,数据表,DataTimeTable包含相同的数据。然而,表允许您使用点符号来访问一个变量。例如,DataTimeTable.UNRATE指定失业率系列。所有的时间表包含变量时间,这是一个datetime向量的观察时间戳。更多细节,请参阅创建时间表在MATLAB代表日期和时间

显示第一个和最后一个采样时间和通过使用的变量的名称DataTimeTable

firstperiod = DataTimeTable.Time (1) lastperiod = DataTimeTable.Time seriesnames = DataTimeTable.Properties.VariableNames(结束)
firstperiod = datetime Q1-47 lastperiod = datetime Q1-09 seriesnames = 1×1到14单元阵列列8 {COE的}{‘CPIAUCSL} {‘FEDFUNDS}{“全球教育运动”}{“GDP”} {‘GDPDEF} {‘GPDI} {‘GS10} 9到14列{‘HOANBS} {‘M1SL} {‘M2SL} {‘PCEC} {‘TB3MS} {' UNRATE '}

此表描述了变量DataTimeTable

弗雷德变量 描述
COE 支付员工的赔偿数十亿美元
CPIAUCSL 消费者价格指数(CPI)
FEDFUNDS 有效联邦基金利率
全球教育运动 政府消费支出和投资数十亿美元
国内生产总值 国内生产总值(GDP)
GDPDEF 国内生产总值(gdp)数十亿美元
GPDI 私人国内总投资数十亿美元
GS10 十年期国债收益率
HOANBS 非农商业部门工作时间的指标
M1SL 狭义货币M1货币供应量()
M2SL 广义货币M2货币供应量()
PCEC 个人消费支出数十亿美元
TB3MS 三个月期国库券收益率
UNRATE 失业率

考虑GDP研究的动态、CPI和失业率,假设政府消费支出是一个外生变量。为响应创建数组,并预测数据。在每个数组显示最新的观测。

Y = DataTimeTable {:,“CPIAUCSL”“UNRATE”“国内生产总值”]};x = DataTimeTable.GCE;lastobsresponse = Y(最终,:)lastobspredictor = x(结束)
lastobsresponse = 1.0 e + 04 * 0.0213 0.0008 1.4090 lastobspredictor = 2.8833 e + 03

Yx代表一条路径的观测,并适当格式化传递多元模型对象的功能。时间戳信息不适用于数组,因为分析假设抽样时间间隔均匀。

多元数据格式

可以加载响应和可选的数据集,如预测数据,为MATLAB工作区数值数组,MATLAB表或MATLAB时间表。然而,您必须指定为每个函数调用相同的数据类型。

对于数值型数组,您指定每个数据集函数用于特定目的作为一个单独的输入。具体来说,presample响应数据是一个单独的输入样本估计数据,和响应和预测数据集是分开输入数组。

表和时间表,你指定的所有数据(同时测量)函数用于特定目的在同一个表或时间表。具体来说,presample时间表和估计样本数据不同的表中,但是所有分类中反应和预测变量相同的输入表或时间表。您指定包含响应变量和预测数据使用适当的变量选择名称参数,例如,ResponseVariables

变量的类型和问题上下文确定数据的格式提供。对于任何包含多元时间序列数据的数组:

  • t输入包含的所有变量的观测时间t

  • 一个数组输入列j数组包含所有观测的变量j。MATLAB将数组中每个变量视为截然不同。

数值数组的数据输入,一个矩阵的数据表明一个样本路径。创建一个变量代表一条路径的长度T响应数据,把数据输入T——- - - - - -n矩阵Y:

( y 1 , 1 y 2 , 1 y n , 1 y 1 , 2 y 2 , 2 y n , 2 y 1 , T y 2 , T y n , T ]

Y (t,j)=yj, t,这是观察t响应变量的j。为预测变量,创建一个路径的数据或其他变量,也有类似的形式。

数据输入表或时间表,你为变量指定一个路径的数据j通过使用一个数值向量。因此,台{t,j}是观察t的变量j在表中。变量名称参数确定变量的类型,选择响应,预测,或以其他方式。

您可以指定一个路径的观察所有多元模型对象的函数作为输入接受数据。你提供一个路径的情况下的例子包括:

  • 合适的反应和预测数据VARX模型。您提供的响应数据和预测数据的路径,明白了估计

  • VEC模型初始化一个presample数据路径的预测或模拟路径(见预测模拟)。

  • 从过滤获得单个响应路径创新的道路通过VAR模型(见过滤器)。

  • 从一个VAR模型生成条件预测给定的道路未来响应数据(见预测)。

数值数组的数据输入,一个三维数组表示多个独立样本数据的路径。您可以创建T——- - - - - -n——- - - - - -p数组Y,代表p样本路径响应数据,通过叠加单路径沿着第三个维度(矩阵)的反应。

Y (t,j,k)=yj,t,k,这是观察t响应变量的j从路径k,k= 1,…,p。所有路径必须具有相同的样本和变量之间的路径必须对应。更多细节,请参阅多维数组

数据输入表或时间表,矩阵值变量显示多个独立样本数据的路径。列k每个变量的矩阵表示的路径k,所有路径k对应的变量。

您可以指定多个路径的反应或创新作为输入几个多元模型对象的函数接受数据。您提供多条路径的情况下的例子包括:

  • VEC模型presample多条路径的数据初始化一个预测或模拟多个路径。每个指定的路径可以代表不同的初始条件,生成预测或模拟的功能。

  • 从过滤获得多个反应路径创新通过VAR模型的多条路径。这个过程是另一种方式来模拟多个反应路径。

  • 从VAR模型生成多个条件预测路径给未来响应数据的多条路径。

估计不支持多条路径的规金宝app范响应数据。

外生的数据格式

所有多变量模型对象的函数外生变量数据作为输入接受一个矩阵或输入表或时间表X代表一条路径的观测样本。MATLAB回归组件包括所有外生变量的每个响应方程。VAR (p)模型,响应方程是:

( y 1 , t y 2 , t y n , t ] = c + δ t + ( x 1 , t β ( 1 , 1 ) + + x , t β ( 1 , ) x 1 , t β ( 2 , 1 ) + + x , t β ( 2 , ) x 1 , t β ( n , 1 ) + + x , t β ( n , ) ] + j = 1 p Φ j y t j + ε t

配置的回归组件响应方程,与回归系数矩阵(存储在β属性模型的对象),而不是数据。更多细节,请参阅创建VAR模型为响应方程选择外生变量

多变量模型对象功能不支持多条路径的预测数据。金宝app然而,如果你指定一个路径的预测数据和多个路径的反应或创新数据,函数将所有路径相同的预测数据。例如,如果您从VARX模型模拟路径的反应和指定多个路径presample值,模拟相同的外生数据适用于每个生成的反应路径。

数据进行预处理

你的数据可能会违反特征模型的假设。例如,您可以有数据和指数增长,或来自多个数据源的数据在不同周期的研究。在这种情况下,进行预处理或转换数据到一个可接受的形式进行分析。

  • 检查数据缺失值,表示年代。

    • 数字数组输入对象函数使用list-wise删除删除包含至少一个缺失值的观察。如果至少有一个响应或预测变量有缺失值的时间点(行),MATLAB删除所有观测时间(响应的整个行和预测数据矩阵)。这样删除可以产生影响的时间基础和有效的样本大小。因此,你应该调查和解决任何缺失的值开始前一个分析。

    • 表或时间表输入对象函数问题时一个错误指定数据集包含任何缺失的值。

  • 对于来自多个数据源的数据,您必须决定如何同步数据。数据同步可以包括数据聚合或崩溃,后者可以创建模式的缺失值。可以解决这些类型的诱导缺失值,将先前的值(也就是说,缺失值是不变的前一个值),或者通过插值从邻近值。

    如果时间序列变量在一个时间表,然后你可以通过使用同步您的数据同步

  • 对于时间序列呈现指数增长,可以进行预处理的数据通过对数级数增长。在某些情况下,您必须申请结果(见的第一个不同之处price2ret)。稳定时间序列的更多细节,请参阅单位根非平稳。例如,看到的VAR模型的案例研究

请注意

如果你应用一系列的第一个不同之处,由此产生的系列是一个观察比原来的短系列。如果你申请的第一个区别只有一些时间序列数据集,截断的其他系列都有相同的长度,或垫与初始值的差系列。

时间基本分区评估

当你适应时间序列数据模型,模型中滞后项需要初始化,通常与观测样本的开始。同时,测量质量的预测模型中,您必须坚持从估计的样本的数据。因此,在分析数据之前,基地的时间分割成三个连续,不相交的时间间隔:

三次基本分区多变量向量自回归(VAR)和向量presample纠错(VEC)模型,估算和预测时间。

  • Presample时期——包含数据在模型中用来初始化滞后值。VAR (pVEC()和p1)模型包含至少需要presample时期p多元观察。例如,如果您计划来适应一个VAR(4)模型,有条件的期望值yt,考虑到它的历史,包含了yt- 1,yt- 2,yt- 3,yt- 4。条件的期望值y5是一个函数的y1,y2,y3,y4。因此,可能的贡献y5需要y1- - - - - -y4,这意味着数据不存在可能的贡献y1- - - - - -y4。在这种情况下,模型估计需要presample至少有四个时间点的时期。

  • 估计时间——包含明确合适的观测模型。的数量估计样本观察有效的样本大小。参数的可识别性,有效样本大小应该至少被估计参数的数量。

  • 预测期-可选期间生成预测,被称为预测的时间跨度。这个分区包含维持数据模型可预测性验证。

假设yt是一个二维反应级数和xt是一个一维外生系列。考虑拟合VARX (p)模型的yt的响应数据T2矩阵Y和外生的数据T1的向量x。同时,你要预测地平线长度K(也就是说,你要坚持K观察的样品比较拟合模型的预测)。这个图显示了模型估计的时基分区。

y1t时间序列图显示数据,y2t xt presample期间,估计时间,预测期。

这个数字显示部分对应的数组的数值数组的输入参数估计函数。

数组Presample Y0, X和Y在估计样本,样本和预测

  • Y所需的输入指定的响应数据模型是合适的。此外,您可以指定估计样本反应和预测数据表或常规的时间表资源描述

  • Y0是一个可选名称参数用于指定presample响应数据在一个数字矩阵。Y0必须至少有p行。初始化模型,估计只使用最新的p观察Y0(——结束p+ 1):最终,:)。类似地,您可以提供可选的presample数据表或使用的时间表Presample名称-值参数。如果Presample是一个时间表,它的时间戳直接必须先于那些的资源描述,时间戳之间的采样频率必须匹配。

  • X是一个可选名称参数用于指定外生数据线性回归组件。默认情况下,估计不包括一个回归的组件模型,无论回归系数的值β华宇电脑模型估计的模板。或者,您可以选择从输入表或预测变量估计样本数据的时间表资源描述通过使用PredictorVariables名称-值参数。

如果你不指定presample数据(Y0Presample),估计消除了观测1到p从估计样本初始化模型,然后符合模型的数据,例如,Y ((p+ 1):最终,:)。也就是说,估计推断presample和估计时间从输入估计样本数据。虽然估计提取的presample估计样本在默认情况下,你可以从数据中提取presample并指定使用名称-值参数适合的数据类型,这确保估计初始化和符合规范的模型。

如果您指定预测数据(XPredictorVariables名称-值参数):

  • 数字数组输入数据,估计同步XY关于最后一个观察数组(T- - - - - -K在前面的图),只适用于所需数量的观察到回归组件。这个动作意味着X可以有更多的行吗Y

    对表或时间表的输入数据,所有的变量都是同步的,因为估计一个输入样本数据。

  • 对于数值型数组输入数据,如果你也指定presample数据,估计只使用最新的外生数据观测需要适应模型(观察J+ 1到T- - - - - -K在前面的图)。估计忽略了presample外生数据。这个事实并不适用于输入数据表或时间表。

如果你计划来验证拟合模型的预测能力,你必须提取预测样本数据集评估之前。

为评估分区多变量时间序列数据

考虑VAR(4)模型拟合数据和变量负载多元经济数据,坚持过去2年的数据验证了模型的预测能力。

加载数据。创建一个包含预测和响应变量的时间表

负载Data_USEconModelresponsenames = [“CPIAUCSL”“UNRATE”“国内生产总值”];predictorname =“全球教育运动”;TT = DataTimeTable (:, (responsenames predictorname]);

确定的时间表中的所有行包含至少一个失踪的观察()。

whichmissing = ismissing (TT);idxvar =和(whichmissing) > 0;hasmissing = TT.Properties.VariableNames (idxvar)
hasmissing =1 x1单元阵列{' UNRATE '}
wheremissing =找到(whichmissing (:, idxvar) > 0)
wheremissing =4×11 2 3 4

失业率是失踪的第一年的数据样本。

删除主要缺失值的观测(行)的数据。

TT = rmmissing (TT);

rmmissing使用listwise删除删除所有行从输入时间表包含至少一个失踪的观察。

VAR(4)模型需要4 presample反应和预测样本需要2年(8季度)的数据。响应数据分割成presample、估计和预测样本变量。预测数据分割成估计和预测样本变量(presample预测数据不被认为是估计)。

p = 4;% Num. presample观察跳频= 8;%预测地平线T =大小(TT, 1);%的总样本量等= T - p -跳频;%有效样本量idxpre = 1: p;idx = (p + 1): (T - fh);idxfor = (T - fh + 1): T;Y0 = TT {idxpre, responsenames};% Presample反应YF = TT {idxfor, responsenames};%的预测样本的反应Y = TT {idx responsenames};%估计样本的反应xf = TT {idxfor, predictorname};x = TT {idx predictorname};

当估算模型使用估计,指定一个varm代表一个VAR模型模板(4)模型和估计样本响应数据Y作为输入。指定presample响应数据Y0通过使用初始化模型“Y0”名称-值对的论点,并指定估计样本预测数据x通过使用“X”名称-值对的论点。Yx同步的数据集,而Y0估计样本之前发生在前面的四个时期的开始。

评估之后,您可以使用预测模型预测通过指定估计VARX(4)返回的模型对象估计预测的时间跨度,跳频,估计样本响应数据Y初始化模型预测。指定预测样本的预测数据xf模型回归组件使用“X”名称-值对的论点。确定评估模型的预测能力进行比较预测样本的预测响应数据YF

另请参阅

对象

功能

相关的话题