varma

语法

varma(ds,endogColNames,order,[exog],[trend='c'],[errorCovType='unstructured'],[measurementError=false],[enforceStationarity=true],[enforceInvertibility=true],[trendOffset=1], [maxIter=50])

详情

使用向量自回归移动平均模型(Vector Autoregressive Moving-Average Model,简称 VARMA 模型)来分析多变量时间序列。返回一个字典,表示 VARMA 模型的分析结果,详细说明请参见“返回值”小节。

参数

ds 一张内存表或者一个 DataSource 类型构成的向量,包含需要分析的多变量时间序列。注意:不可为空。

endogColNames 字符串向量,表示 ds 中需要分析的多变量时间序列所对应的列名。

order 非负整数型向量,长度必须为 2,第一维表示自回归部分(AR)的阶数,第二维表示移动平均部分(MA)的阶数。

exog 可选参数,数值矩阵,表示时间序列数据之外的外生变量。矩阵每一列表示一个外生变量的时间序列数据,矩阵行数为时间序列样本数,与 ds 的行数相等。

trend 可选参数,字符串标量,表示在回归中使用的常数和趋势阶数。可取值:

  • ‘c'表示只使用常量,默认值。

  • ‘ct'表示使用常量和趋势。

  • ’ctt'表示使用常数,线性趋势和二次趋势。

  • ’n‘表示不使用常量和趋势。

errorCovType 可选参数,字符串标量,表示误差项的协方差矩阵的结构。可取值:

  • ’unstructured‘表示会保存协方差矩阵的下三角部分,默认值。

  • ’diagonal‘表示只保存对角线部分。

measurementError 可选参数,布尔标量,表示输入的多变量时间序列是否存在误差。默认值是 false,表示不存在。

enforceStationarity 可选参数,布尔标量,表示是否转换 AR 参数以在模型的自回归分量中增强平稳性。默认值为 true,表示转换。

enforceInvertibility 可选参数,布尔标量,表示是否变换 MA 参数以增强模型的移动平均分量的可逆性。默认值为 true,表示转换。

trendOffset 可选参数,正整数标量,表示开始时间序列值的偏移量。默认值为 1。

maxIter 可选参数,正整数标量,表示拟合时最大的迭代次数,默认值为 50。

返回值

返回一个字典,表示向量自回归移动平均模型的分析结果,字典有以下成员:

  • params:浮点数矩阵,表示向量自回归移动平均模型拟合得到的参数。

  • kAr:整数标量,表示向量自回归过程的阶数。

  • kMa:整数标量,表示向量移动平均部分的阶数。

  • kTrend:整数标量,表示向量自回归移动平均模型中的趋势数。

  • nobs:整数标量,表示输入的多变量时间序列的信息观测数量。

  • aic:浮点数标量,表示 Akaike 信息准则。

  • bic:浮点数标量,表示 Bayesian 信息准则。

  • hqic:浮点数标量,表示 Hannan-Quinn 信息准则。

  • llf:浮点数标量,表示向量自回归移动平均模型的对数似然值。

例子

传入指定的 macrodata.csv 文件,自定义相关参数,计算其使用 VARMA 进行分析的结果。
data = loadText("macrodata.csv")
my_exog = matrix(DOUBLE, size(data), 1,,1)
result = varma(data, [`realgdp, `realcons, `realinv],[1,1],trend="c", exog=my_exog)
print(result)

/* Output:
params->[0.001792375138657,0.003160556421415,-0.007883363910928,-0.339419264165185,0.755250482937653,0.058642159539323,-0.133526968617148,0.32767138782651,0.042514529460363,-2.212343999390979,4.610354288385349,0.302449619489419,0.056726965953926,-0.069554043921028,-0.024169855056237,0.03072738358672,-0.056571376624308,-0.015977637956917,0.249792348549773,-0.171657812582861,-0.075503097693781,0.001792375138657,0.003160556421415,-0.007883363910928,0.007685902441147,0.003916408996852,0.005142039118261,0.030338334390003,-0.016066874864259,0.020322423082551]
llf->1974.199528289279214
kAr->1
kMa->1
kTrend->1
nobs->202
aic->-3888.399056578558429
bic->-3789.151025656522506
hqic->-3848.243123697545343
*/