主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

ar

R2025b

辨识标量时间序列的 AR 模型或 ARI 模型时估计参数

描述

sys = ar(y,n) 使用最小二乘法估计 sys 阶的 AR idpoly 模型 n 的参数。模型属性包括协方差(参数不确定性)和估计拟合优度。y 可以是仅输出的 iddata 对象、数值向量或 timetable。

示例

sys = ar(y,n,approach,window) 使用 approach 指定的算法以及 window 中的预窗口和后窗口设定。要指定 window 同时接受 approach 的默认值,请在语法的第三个位置使用 []。

示例

sys = ar(y,n,___,Name,Value) 使用一个或多个名称-值对组参量指定附加选项。例如,使用名称-值对组参量 'IntegrateNoise',1 估计 ARI 模型,这对于具有非平稳扰动的系统很有用。在前面语法中的任何输入参量组合后指定 Name,Value。

示例

sys = ar(y,n,___,opt) 使用选项集 opt 指定估计选项。

示例

当 refl 是基于格的方法 'burg' 或 'gl' 时,[sys,refl] = ar(y,n,approach,___) 返回 AR 模型以及反射系数 approach。

示例

示例

全部折叠

估计 AR 模型并将其响应与测量的输出进行比较。

加载数据,其中包含带有噪声的时间序列 tt9。

load sdata9 tt9

估计一个四阶 AR 模型。

sys = ar(tt9,4)
sys =
Discrete-time AR model: A(z)y(t) = e(t)                            
  A(z) = 1 - 0.8369 z^-1 - 0.4744 z^-2 - 0.06621 z^-3 + 0.4857 z^-4
                                                                   
Sample time: 0.0039062 seconds
  
Parameterization:
   Polynomial orders:   na=4
   Number of free coefficients: 4
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                                 
Estimated using AR ('fb/now') on time domain data "tt9".
Fit to estimation data: 79.38%                          
FPE: 0.5189, MSE: 0.5108                                
 
Model Properties

输出显示包含估计参数以及其他估计细节的多项式。在 Status、Fit to estimation data 下显示估计模型的 1 步预测准确率在 75% 以上。

您可以通过浏览估计报告 sys.Report 来找到有关估计结果的详细信息。例如,您可以检索参数协方差。

covar = sys.Report.Parameters.FreeParCovariance
covar = 4×4

    0.0015   -0.0015   -0.0005    0.0007
   -0.0015    0.0027   -0.0008   -0.0004
   -0.0005   -0.0008    0.0028   -0.0015
    0.0007   -0.0004   -0.0015    0.0014

有关查看估计报告的详细信息,请参阅Estimation Report。

给定一个带有噪声的正弦信号,将伯格方法的频谱估计值与使用前向-后向方法找到的频谱估计值进行比较。

生成输出信号并将其转换为 iddata 对象。

y = sin([1:300]') + 0.5*randn(300,1);
y = iddata(y);

使用伯格方法和默认的前向-后向方法估计四阶 AR 模型。将模型频谱绘制在一起。

sys_b = ar(y,4,'burg');
sys_fb = ar(y,4);
spectrum(sys_b,sys_fb)
legend('Burg','Forward-Backward')

Figure contains an axes object. The axes object with title From: e@y1 To: y1, ylabel Power (dB) contains 2 objects of type line. These objects represent Burg, Forward-Backward.

在大部分频率范围内,这两个响应非常匹配。

估计一个 ARI 模型,其中包括噪声源中的积分器。

加载数据,其中包含带有噪声的时间序列 ymat9。Ts 包含采样时间。

load sdata9 ymat9 Ts

对输出信号进行积分。

y = cumsum(ymat9);

估计将 'IntegrateNoise' 设置为 true 的 AR 模型。使用最小二乘法 'ls'。

sys = ar(y,4,'ls','Ts',Ts,'IntegrateNoise',true);

使用 5 步预测来预测模型输出,并将结果与积分输出信号 y 进行比较。

compare(y,sys,5)

Figure contains an axes object. The axes object with ylabel y1 contains 2 objects of type line. These objects represent Validation data (y1), sys: 78.76%.

修改 AR 函数的默认选项。

加载数据,其中包含带有噪声的时间序列 z9。

load iddata9 z9

修改默认选项,以便函数使用 'ls' 方法并且不估计协方差。

opt = arOptions('Approach','ls','EstimateCovariance',false)
opt = 
Option set for the ar command:

              Approach: 'ls'
                Window: 'now'
            DataOffset: 0
    EstimateCovariance: 0
               MaxSize: 250000

Description of options

使用更新的选项估计四阶 AR 模型。

sys = ar(z9,4,opt);

检索使用伯格方法时的反射系数和损失函数。

基于格的方法,例如伯格方法 'burg' 和几何格 'gl',计算反射系数和相应的损失函数值作为估计过程的一部分。使用第二个输出参量来检索这些值。

生成输出信号并将其转换为 iddata 对象。

y = sin([1:300]') + 0.5*randn(300,1);
y = iddata(y);

使用伯格方法估计四阶 AR 模型,并包括反射系数的输出参量。

[sys,refl] = ar(y,4,'burg');
refl
refl = 2×5

         0   -0.3562    0.4430    0.5528    0.2385
    0.8494    0.7416    0.5960    0.4139    0.3904

输入参数

全部折叠

时间序列数据,指定为以下之一:

  • 包含单个输出通道和空输入通道的 iddata 对象。

  • 包含输出通道数据的数值列向量。当您将 y 指定为向量时,您还必须指定采样时间 Ts。

  • 单变量 timetable。

有关使用估计数据类型的详细信息,请参阅Data Domains and Data Types in System Identification Toolbox。

模型阶数,指定为正整数。n 的值决定了 AR 模型中 A 参数的数量。

示例: ar(idy,2) 从单通道 iddata 对象 idy 计算二阶 AR 模型

计算 AR 模型的算法,指定为下列值之一:

  • 'burg':伯格的基于格型的方法。使用前向和后向平方预测误差的调和平均值求解格子滤波器方程。

  • 'fb':(默认)前向-后向方法。最小化正向模型的最小二乘准则和时间反转模型的类似准则之和。

  • 'gl':几何格型方法。与伯格的方法类似,但在最小化过程中使用几何平均值而不是调和平均值。

  • 'ls':最小二乘法。最小化前向预测误差的标准平方和。

  • 'yw':尤尔-沃克方法。解决由采样协方差形成的尤尔-沃克方程。

所有这些算法都是最小二乘法的变体。有关详细信息,请参阅算法。

示例: ar(idy,2,'ls') 使用最小二乘法计算 AR 模型

测量时间间隔之外的预窗口和后窗口(过去和未来值),指定为以下值之一:

  • 'now':没有加窗。除非您将 approach 设置为 'yw',否则此值是默认值。仅使用测量数据来形成回归向量。标准中的总结从采样索引等于 n+1 开始。

  • 'pow':后加窗。缺失的最终值将被零替换,并且总和将延长至时间 N+n(N 是观测次数)。

  • 'ppw':预加窗和后加窗。无论您的 window 设定如何,只要您选择尤尔-沃克方法 'yw',软件就会使用此值。

  • 'prw':预加窗。缺失的过去值将被零替换,以便标准中的求和可以从等于零的时间开始。

示例: ar(idy,2,'yw','ppw') 使用带有预窗口和后窗口的尤尔-沃克方法计算 AR 模型。

AR 模型辨识的估计选项,指定为 arOptions 选项集。opt 指定以下选项:

  • 估计方法

  • 数据加窗方法

  • 数据偏移量

  • 一段数据中的最大元素数

有关详细信息,请参阅 arOptions。有关示例,请参阅修改默认选项。

名称-值参数

全部折叠

以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

如果使用的是 R2021a 之前的版本,请使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: 'IntegrateNoise',true 在噪声源中添加一个积分器

时间表数据的输出通道名称,指定为字符串或字符向量。默认情况下,软件将 tt 中的最后一个变量解释为唯一的输出通道。当您想为输出通道选择不同的时间表变量时,使用 'OutputName' 来辨识它。例如,sys = ar(tt,__,'OutputName',"y3") 选择变量 y3 作为估计的输出通道。

采样时间,指定为由 'Ts' 和采样时间(以秒为单位)组成的逗号分隔的对。如果 y 是一个数值向量,则您必须指定 'Ts'。

示例: ar(y_signal,2,'Ts',0.08) 计算二阶 AR 模型,采样时间为 0.08 秒

用于估计 ARI 模型的噪声通道积分选项,指定为由 'IntegrateNoise' 和逻辑组成的逗号分隔的对。当干扰非平稳时,噪声积分很有用。

当使用 'IntegrateNoise' 时,您还必须集成输出通道数据。有关示例,请参阅ARI 模型。

输出参量

全部折叠

AR 或 ARI 模型适合给定的估计数据,作为离散时间 idpoly 模型对象返回。该模型是使用指定的模型阶数、延迟和估计选项创建的。

有关估计结果和所用选项的信息存储在模型的 Report 属性中。Report 具有以下字段。

报告字段描述
Status

模型状态摘要,指示模型是通过构造创建的还是通过估计获得的

Method

使用估计命令

Fit

估计的定量评估,以结构体形式返回。有关这些质量度量的详细信息,请参阅Loss Function and Model Quality Metrics。该结构体具有以下字段。

  • FitPercent - 归一化均方根误差 (NRMSE),用于衡量模型响应对估计数据的拟合度,以百分比 fitpercent = 100(1-NRMSE) 表示

  • LossFcn - 估计完成时的损失函数值

  • MSE - 均方误差 (MSE),衡量模型响应对估计数据的拟合度

  • FPE - 模型的最终预测误差

  • AIC - 模型质量的原始赤池信息准则 (AIC) 测量

  • AICc - 小采样大小的校正 AIC

  • nAIC - 归一化 AIC

  • BIC - 贝叶斯信息标准 (BIC)

Parameters

模型参数的估计值

OptionsUsed

用于估计的选项集。如果没有配置自定义选项,则这是一组默认选项。有关详细信息,请参阅 arOptions。

RandState

估计开始时随机数流的状态。如果在估计期间未使用随机化,则为空 []。有关详细信息,请参阅 rng。

DataUsed

用于估计的数据的属性,以具有以下字段的结构返回。

  • Name - 数据集名称

  • Type - 数据类型

  • Length - 数据采样数

  • Ts - 采样时间

  • InterSample - 输入采样间行为,以下列值之一返回:

    • 'zoh' - 零阶保持器在采样之间维持分段常数输入信号。

    • 'foh' - 一阶保持器在采样之间维持分段线性输入信号。

    • 'bl' - 带限行为指定连续时间输入信号在奈奎斯特频率以上的功率为零。

  • InputOffset - 估计期间从时域输入数目据中移除的偏移量。对于非线性模型,它是 []。

  • OutputOffset - 估计期间从时域输出数目据中移除的偏移量。对于非线性模型,它是 []。

有关使用 Report 的详细信息,请参阅Estimation Report。

反射系数和损失函数,以 2×2 数组的形式返回。对于两种基于格的方法 'burg' 和 'gl',refl 将反射系数存储在第一行,将相应的损失函数值在第二行。refl 的第一列是零阶模型,refl 的 (2,1) 元素是时间序列本身的范数。有关示例,请参阅检索伯格方法的反射系数。

详细信息

全部折叠

算法

使用最小二乘法的变体来估计 AR 和 ARI 模型参数。下表总结了具有特定 approach 和 window 参量值组合的方法的通用名称。

方法方法与加窗
修正协方差法(默认)无加窗的前向-后向方法
相关性方法采用预窗口和后窗口的尤尔-沃克方法
协方差方法无加窗的最小二乘法。arx 使用这个例程

参考

[1] Marple, S. L., Jr. Chapter 8. Digital Spectral Analysis with Applications. Englewood Cliffs, NJ: Prentice Hall, 1987.

版本历史记录

在 R2006a 中推出

全部展开