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)
timer result = vectorARMA(data, [`realgdp, `realcons, `realinv],[1,1],trend="c", exog=my_exog)
print(result.params)

/* Output:
params->[0.001790301048949,0.00316068649919,-0.007884084373724,-0.338899906387031,0.755151620289276,0.058664894089324,-0.133085850042808,0.327149514373616,0.042496018394458,-2.208341476722053,4.608021740892838,0.302452516000534,0.05672697191516,-0.069554114113286,-0.024169851951263,0.030727418751981,-0.05657124857038,-0.015977698360683,0.249792312785792,-0.171657789522291,-0.075503308800943,0.001790301048949,0.00316068649919,-0.007884084373724,0.007688385840775,0.003912860123486,0.005144416435363,0.030336928784212,-0.016066382781189,0.020321167196668]
llf->1974.199777819503424
kAr->1
kMa->1
kTrend->1
nobs->202
aic->-3888.399555639006848
bic->-3789.151524716970925
hqic->-3848.243622757993762
*/