在命令行识别时间序列模型
这个例子展示了如何模拟一个时间序列,并使用参数和非参数方法来估计和比较时间序列模型。
生成模型和模拟模型输出
通过创建和模拟自回归(AR)多项式模型生成时间序列数据ts_orig
的形式
,在那里
为随机高斯噪声。该噪声表示模型的一个未测量的输入。由于模型是一个时间序列,因此没有测量的输入。
在计算之前 ,初始化随机数生成器种子,使噪声值是可重复的。
Ts_orig = idpoly([1 -1.75 0.9]);rng (“默认”e = idinput(300,“该公司”);
模拟观察到的输出y_obs
的模型和转换y_obs
到一个iddata
对象y
默认采样时间为1秒。将模型输出和输入噪声一起绘制出来。
y_obs = sim (ts_orig e);y = iddata (y_obs);情节(e)在情节(y_obs)标题(“输入噪声和原始模型输出”)传说(“该噪声”,模型输出的)举行从
估计模型和比较光谱
的函数etfe
和水疗中心
提供两种执行光谱分析的非参数技术。比较估计的功率谱etfe
和水疗中心
至原模。
ts_etfe = etfe (y);ts_spa = spa (y);谱(ts_etfe ts_spa ts_orig);传奇(“ts_ {etfe}’,“ts_ {spa}’,“ts_{源自}’)
现在估计一个参数化模型使用AR结构。估计一个二阶AR模型,并将其频谱与原始模型和水疗中心
估计。
ts_ar = ar (y, 2);谱(ts_spa ts_ar ts_orig);传奇(“ts_ {spa}’,“ts_ {ar}’,“ts_{源自}’)
AR模型谱比非参数模型更接近原始模型谱。
估计和比较协方差
通过将每个模型输出与自身卷积,计算原始模型和AR模型的协方差函数。
ir_orig = sim (ts_orig[1; 0(24日1)]);Ry_orig = conv (ir_orig ir_orig (25: 1:1));ir_ar = sim (ts_ar[1; 0(24日1)]);Ry_ar = conv (ir_ar ir_ar (25: 1:1));
同时估计协方差变化中
直接从观察到的输出y
使用xcorr
。
一= xcorr (y.y, 24岁,“有偏见的”);
绘制并比较原始协方差和估计协方差。
情节(24:24”* (1,3),[Ry_orig, Ry_ar, Ry]);传奇(“Ry_{源自}’,“Ry_ {ar}’,“办法”)
估计的AR模型的协方差,Ry_ar
,更接近原始的协方差Ry_orig
。
预测和比较模型输出
使用函数比较原始模型和AR模型的三步预测精度,或拟合百分比比较
。在这里,比较
的预测响应ts_orig
和ts_ar
使用原始模型输出数据建模y
,假设未测量的输入
是零。第四个参数,3.
,是要预测的步数。
比较(y, ts_orig ts_ar 3);
图例中的百分比为拟合百分比,代表拟合优度。由于未测量的模型输入,即使是原始模型,预测精度也远远达不到100% 在预测过程中未被考虑。估计的AR模型拟合值接近原始模型,说明该AR模型是一个很好的估计。