Matlab的Arburg(Autoregression Burg's method)用于预测时间序列
Matlab's Arburg (Autoregression Burg's method) for forecasting time series
Matlab 的 arburg
函数 returns 形式为 [1 c(i) c(2) ... c(p)]
的系数向量,其中 p
是模型的阶数。但这些不是用于预测的系数,而是与随机输入向量一起使用来模拟随机 AR 过程。在不对测试数据进行任何预测的情况下,我如何计算模型的误差来计算 AIC 标准?这样的 AR 模型与用于预测的 AR 模型之间是否存在绝对差异?
所以我发现确实可以使用这些系数(第一个系数除外,它始终为 1)来预测下一个时间点。要使用系数,首先我们需要删除第一个系数,然后翻转并取反数组。平均绝对误差可以这样计算:
coeffs = -flip(coeffs(2:end))
error = mean(abs(time_series(t) - coeffs*time_series(t-length(coeffs):t-1)))
其中 *
是矩阵乘法,假设 coeffs
是行向量,time_series
是列向量。
Matlab 的 arburg
函数 returns 形式为 [1 c(i) c(2) ... c(p)]
的系数向量,其中 p
是模型的阶数。但这些不是用于预测的系数,而是与随机输入向量一起使用来模拟随机 AR 过程。在不对测试数据进行任何预测的情况下,我如何计算模型的误差来计算 AIC 标准?这样的 AR 模型与用于预测的 AR 模型之间是否存在绝对差异?
所以我发现确实可以使用这些系数(第一个系数除外,它始终为 1)来预测下一个时间点。要使用系数,首先我们需要删除第一个系数,然后翻转并取反数组。平均绝对误差可以这样计算:
coeffs = -flip(coeffs(2:end))
error = mean(abs(time_series(t) - coeffs*time_series(t-length(coeffs):t-1)))
其中 *
是矩阵乘法,假设 coeffs
是行向量,time_series
是列向量。