主要内容

预测

预测识别模型输出

描述

例子

yf=预测(sysPastDataK预测一个确定的时间序列模型的输出sysK利用过去的测量数据走向未来,PastData

预测在测量数据的最后一刻之后的时间范围内,对未来进行预测。相比之下,预测命令预测在测量数据的时间跨度内识别的模型的响应。使用预测确定预测结果是否与估计模型的观测响应相匹配。如果sys是一个好的预测模型,考虑使用它吗预测

例子

yf=预测(sysPastDataKFutureInputs使用输入的未来值,FutureInputs,以预测具有输入通道的已识别模型的响应。

例子

yf=预测(___选择使用选项集,选择,以指明额外的预测选项。使用选择使用前面的任何输入参数组合。

例子

yfx0sysf) =预测(___也返回初始状态的估计值,x0,以及预测模型,sysf,并且可以包括以前的任何输入参数组合。

例子

yfx0sysfyf_sdxx_sd) =预测(___还返回输出的估计标准差,yf_sd,状态轨迹,x,轨迹的标准差,x_sd.与前面的任何输入参数组合一起使用。

例子

预测(sysPastDataK___绘制预测的输出。与前面的任何输入参数组合一起使用。

要更改显示选项,请右键单击图以访问上下文菜单。例如,要查看预测输出的估计标准差,请选择置信区域从上下文菜单。有关菜单的详细信息,请参见提示

例子

预测(sysLinespecPastDataK___使用Linespec指定线条类型、标记符号和颜色。

预测(sysN sys1……,PastDataK___绘制多个识别模型的预测输出。预测自动选择颜色和线条样式。

预测(sys1 Linespec1,…,sysN LinespecN,PastDataK___使用为每个系统指定的行类型、标记符号和颜色。

例子

全部折叠

使用AR模型预测正弦信号的值。

生成并绘制数据。

data = iddata(罪(0.1 *[1:10])”,[]);情节(数据)

图中包含一个axes对象。标题为y1的axes对象包含一个类型为line的对象。该对象表示数据。

将AR模型与正弦波相匹配。

sys = ar(数据,2);

预测给定时间范围内未来的数值。

K = 100;p =预测(sys、数据、K);

K将预测时间范围指定为100个样本。p是预测的模型响应。

绘制预测数据图。

情节(数据、“b”、磷、“r”),传说(“测量”“预测”

图中包含一个axes对象。标题为y1的axes对象包含两个类型为line的对象。这些对象代表测量,预测。

或者,使用语法绘制预测的输出预测(sys、数据、K)

获取过去的数据,并确定时间序列模型。

负载iddata9z9past_data = z9.OutputData (1:50);= ar模型(z9 4);

z9是一个iddata对象,该对象只包含测量的输出。

模型是一个idpoly时间序列模型。

指定预测的初始条件。

选择= forecastOptions (“InitialCondition”“e”);

绘制给定时间范围内的预测系统响应图。

K = 100;预测(模型、past_data K,选择);传奇(“测量”“预测”

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示测量(y1)、预测。

获取过去的数据,并确定时间序列模型。

负载iddata9z9past_data = z9.OutputData (1:50);= ar模型(z9 4);

z9是一个iddata对象,该对象只包含测量的输出。

将给定时间范围内的预测系统响应绘制为红色虚线。

K = 100;(预测模型,“r——”、past_data K);

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示过去数据(y1)、模型。

该图还默认显示过去的数据。要更改显示选项,请右键单击图以访问上下文菜单。例如,要查看预测输出的估计标准差,请选择ConfidenceRegion从上下文菜单。要指定绘图的标准偏差数,请双击绘图并打开“属性编辑器”对话框。在对话框中,在选项选项卡中指定标准差的个数已识别模型的置信域.默认值为1标准差。

获取过去的数据、未来的输入和确定的线性模型。

负载iddata1z1z1 = iddata (cumsum (z1.y) cumsum (z1.u) z1.Ts,“InterSample”“呸”);past_data = z1 (1:10 0);future_inputs = z1.u(101:结束);Sys = polyest(z1,[2 2 2 0 0 1],“IntegrateNoise”,真正的);

z1是一个iddata对象,该对象包含集成数据。sys是一个idpoly模型。past_data的前100个数据点z1

future_inputs的最后200个数据点z1

在给定的时间范围内预测未来的系统响应和未来的输入。

K = 200;(yf, x0, sysf yf_sd x, x_sd] =预测(sys、past_data K, future_inputs);

yf预测的模型响应,和yf_sd是输出的标准差。x0初始状态的估计值,和sysf是预测状态空间模型。还返回了状态轨迹,x,轨迹的标准差,x_sd

绘制预测反应图。

UpperBound = iddata (yf.OutputData + 3 * yf_sd, [], yf.Ts,“Tstart”, yf.Tstart);下界= iddata (yf.Ts yf.OutputData-3 * yf_sd, [],“Tstart”, yf.Tstart);情节(past_data (:,: []), yf (:,: []), UpperBound,“k——”下界,“k——”)({传奇“测量”“预测”“3 sd的不确定性”},“位置”“最佳”

图中包含一个axes对象。标题为y1的axes对象包含4个类型为line的对象。这些对象表示测量,预测,3sd不确定度,下界。

绘制状态轨迹。

t = z1.SamplingInstants(101:结束);次要情节(1,1)情节(t) x (: 1), t, x (: 1) + 3 * x_sd (: 1),“k——”t x (: 1) 3 * x_sd (: 1),“k——”)标题(“X_1”次要情节(3、1、2)情节(t) x (:, 2), t, x (:, 2) + 3 * x_sd (:, 2),“k——”t x (:, 2) 3 * x_sd (:, 2),“k——”)标题(“X_2”次要情节(3,1,3)情节(t) x (:, 3), t, x (:, 3) + 3 * x_sd (:, 3),“k——”t x (:, 3) 3 * x_sd (:, 3),“k——”)标题(“X_3”

图中包含3个轴对象。带有标题X indexOf 1 baseline的axis对象1包含3个类型为line的对象。带有标题X indexOf 2 baseline的Axes对象2包含3个类型为line的对象。带有标题X indexOf 3 baseline的Axes对象3包含3个类型为line的对象。

由于未来输入的规定性,响应的不确定性不会随着预测时间的推移而增加。

加载数据。

负载(fullfile (matlabroot“工具箱”“识别”“iddemos”“数据”“predprey2data”));z = iddata (y, [], 0.1);集(z,“Tstart”0,“OutputUnit”, {“人口(千)”...“人口(千)”},“TimeUnit”“年”);

z是一个1捕食者1被捕食者种群的两个输出时间序列数据集(无输入)。由于拥挤,捕食者的数量下降。该数据集包含201个数据样本,涵盖20年的进化。

捕食者的变化(日元)和猎物(y2)可表示为:

y 1 t p 1 y 1 t - 1 + p 2 y 1 t - 1 y 2 t - 1

y 2 t p 3. y 2 t - 1 - p 4 y 1 t - 1 y 2 t - 1 - p 5 y 2 t - 1 2

捕食者和被捕食者种群的非线性可以使用带有自定义回归器的非线性ARX模型进行拟合。

使用部分数据作为过去的数据。

past_data = z (1:10 0);

指定标准回归量。

Na = [10 0;0 1];nb = [];nk = [];

指定自定义回归器。

C = {{“y1 (t - 1) * y2 (t - 1)”}, {“y1 (t - 1) * y2 (t - 1)”“y2 (t - 1) ^ 2”}};

估计一个非线性ARX模型past_data估计数据。

Sys = nlarx(past_data,[na nb nk],“idWaveletNetwork”“CustomRegressors”C);

比较的模拟输出sys与实测数据保证是很好的吻合。

比较(past_data sys);

图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象表示验证数据(y1), sys: 88.92%。坐标轴对象2包含两个line类型的对象。这些对象表示验证数据(y2), sys: 86.35%。

的预测产量sys

预测(sys, past_data, 101);传奇(“测量”“预测”);

图中包含2个轴对象。坐标轴对象1包含2个line类型的对象。这些对象表示Measured (y1)、sys。坐标轴对象2包含两个line类型的对象。这些对象表示测量(y2),预测。

获得过去的数据,未来的输入,以及确定的线性模型。

负载iddata3z3past_data = z3 (1:10 0);future_inputs = z3.u(101:结束);Sys = polyest(z3,[2 2 2 0 0 1]);

在给定的时间范围内预测未来的系统响应和未来的输入。

K =大小(future_inputs, 1);[yf, x0, sysf] =预测(sys、past_data K, future_inputs);

yf为预测模型响应,x0初始状态的估计值,和sysf是预测状态空间模型。

用输入模拟预测状态空间模型,future_inputs,初始条件,x0

选择= simOptions;opt.InitialCondition = x0;y = sim (sysf future_inputs (1: K),选择);

绘制预测和模拟输出图。

t = yf.SamplingInstants;情节(t、yf。OutputData,“b”、t、y“r”);传奇(“预测输出”模拟输出的

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象表示预测输出,模拟输出。

预测模型仿真,sysf输入,future_inputs,初始条件,x0,为预测产量,yf

输入参数

全部折叠

被识别的模型,其输出要被预测,指定为以下之一:

如果模型不可用,则进行估计sysPastData使用以下命令基于“增大化现实”技术arxarmaxnlarx,党卫军

过去输入输出时域数据,指定为以下之一:

  • iddataobject -使用观察到的输入和输出信号来创建iddata对象。对于时间序列数据(无输入),指定为iddata没有输入的对象iddata(输出,[])

  • 双精度矩阵-仅适用于离散时间模型。指定作为一个N——- - - - - -纽约矩阵的时间序列数据。在这里,N观察的次数和纽约是输出的数量。

    为模型ν输入,指定PastData作为一个N————(纽约+ν)矩阵。

预测的时间范围,指定为正整数。输出,yf计算,K步入未来,这样的预测时间范围是Ts * K

未来输入值,指定为以下之一:

  • []-未来输入值假设为零,或等于输入偏移量水平(如果它们在选择).对于时间序列模型,指定为[]

  • iddataobject—指定为iddata对象,没有输出。

  • K——- - - - - -ν〇双数矩阵K是预测的地平线,和ν是输入的数量。

    如果您有来自多个实验的数据,您可以指定一个矩阵单元数组,每个矩阵对应一个PastData

预测选项,指定为forecastOptions选项设置。

线条样式、标记和颜色,指定为字符向量。例如,“b”“b +:”

有关配置的详细信息Linespec,参见Linespec的论点情节

输出参数

全部折叠

预测的响应,返回为iddata对象。yf预测的响应时间是否在上一次采样时间之后PastDatayf包含时间间隔的数据T0 + (N + 1: N + K) * T1,在那里T0 = PastData。Tstart而且T1 = PastData。TsN样品数量在吗PastData

预测开始时估计的初始状态,作为大小等于状态数的列向量返回。使用x0用预测模型sysf用纯模拟再现预测结果。

如果PastDatamulti-experiment,x0单元格数组的大小,在那里是实验的次数。

sys不是状态空间模型(中的难点idgrey,或idnlgrey),状态的定义取决于ifsys是线性或非线性的:

  • 线性模型(idpolyidprocidtf)- - -sys转换为离散时间状态空间模型,并且x0中最后一个数据之后的时间点作为转换模型的状态返回PastData

    如果转换sys中的难点是不可能的,x0返回空的。例如,如果sys是一个具有不可约内部延迟的MIMO连续时间模型。

  • 非线性模型(idnlhwidnlarx的状态的定义idnlarx而且idnlhw模型,看到idnlarx状态的定义,idnlhw状态的定义

预测模型,作为以下之一返回:

  • 离散时间中的难点——如果sys是一个离散时间中的难点模型中,sysfsys.如果sys是一个线性模型,而不是状态空间模型(idpolyidprocidtf),或为连续时间状态空间模型(中的难点idgrey),sys转换成离散时间函数中的难点模型。返回转换后的模型sysf

  • idnlarxidnlhw,或idnlgrey——如果sys是一个非线性模型,sysfsys

  • 模型的单元格数组-如果PastDatamultiexperiment,sysf的数组。模型,是实验的次数。

模拟sysf使用sim卡输入,FutureInputs,初始条件,x0,收益率yf作为输出。对于时间序列模型,FutureInputs是空的。

预测响应的估计标准差,返回为K——- - - - - -纽约矩阵,K是预测的地平线,和纽约是输出的数量。该软件通过考虑模型参数协方差、初始状态协方差和加性噪声协方差计算标准差。加性噪声协方差存储在NoiseVariance模型的属性。

如果PastDatamultiexperiment,yf_sd单元格数组的大小,在那里是实验的次数。

yf_sd是空的,如果sys是一个非线性ARX (idnlarx)或Hammerstein-Wiener模型(idnlhw).yf_sd也为空,如果sys不包含参数协方差信息,即ifgetcov(系统)是空的。有关更多信息,请参见getcov

预测状态轨迹,返回为K——- - - - - -Nx矩阵,K,预测视界和Nx是状态数。x是预测模型的状态。

如果PastDatamultiexperiment,x单元格数组的大小,在那里是实验的次数。

如果sys线性模型不是状态空间模型吗中的难点idgrey),然后将其转换为离散时间状态空间模型,并对转换后的模型进行状态计算。如果转换sys中的难点是不可能的,x返回空的。例如,如果sys是一个具有不可约内部延迟的MIMO连续时间模型。

x是空的,如果sys是一个非线性ARX (idnlarx)或Hammerstein-Wiener模型(idnlhw).

预测状态的估计标准差x,作为K——- - - - - -Ns矩阵,K,预测视界和Ns是状态数。该软件通过考虑模型参数协方差、初始状态协方差和加性噪声协方差计算标准差。加性噪声协方差存储在NoiseVariance模型的属性。

如果PastDatamultiexperiment,x_sd单元格数组的大小,在那里是实验的次数。

如果sys线性模型不是状态空间模型吗中的难点idgrey),然后将其转换为离散时间状态空间模型,并计算转换后模型的状态和标准差。如果转换sys中的难点是不可能的,x_sd返回空的。例如,如果sys是一个具有不可约内部延迟的MIMO连续时间模型。

x_sd是空的,如果sys是一个非线性ARX (idnlarx)或Hammerstein-Wiener模型(idnlhw).

提示

  • 右键单击该绘图将打开上下文菜单,在这里您可以访问以下选项:

    • 系统—选择系统查看预测输出。默认情况下,将绘制所有系统的预测输出。

    • 数据实验-仅针对多个实验数据。在不同实验的数据之间切换。

    • 特征—查看以下数据特征:

      • 峰值—查看数据峰值。

      • 平均值—查看数据的平均值。

      • 置信区域—查看预测输出的估计标准差。要指定绘图的标准偏差数,请双击绘图并打开“属性编辑器”对话框。中的标准偏差数选项选项卡,在已识别模型的置信域.默认值为1标准差。

        对于非线性ARX和Hammerstein-Wiener模型以及不包含参数协方差信息的模型,不生成置信域。

    • 显示过去的数据-绘制用于预测的过去输出数据。默认情况下,绘制过去的输出数据。

    • I / O分组—对于包含多个输入或输出通道的数据集。在图上选择输入和输出通道的分组。

      • 没有一个-在各自的坐标轴上绘制输入输出通道。

      • 所有—将所有输入通道和输出通道组合在一起。

    • I / O选择器—对于包含多个输入或输出通道的数据集。选择要绘制的输入和输出通道的子集。默认情况下,绘制所有输出通道。

    • 网格-在图中添加网格。

    • 正常化-将图中所有数据的y尺度归一化。

    • 全视图-返回到完整视图。默认情况下,情节被缩放到全视图。

    • 属性—打开“属性编辑器”对话框,自定义地块属性。

版本历史

介绍了R2012a

Baidu
map