主要内容

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

ar

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

说明

sys = ar(y,n) 使用最小二乘法估计 n 阶的 AR idpoly 模型 sys 的参数。模型属性包括协方差(参数不确定性)和估计拟合优度。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 指定估计选项。

示例

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

示例

示例

全部折叠

估计 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

输出显示包含估计参数以及其他估计细节的多项式。在 StatusFit 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 模型,其中包括噪声源中的积分器。

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

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+nN 是观测次数)。

  • '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 模型

输出参量

全部折叠

ARARI 模型适合给定的估计数据,作为离散时间 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 模型参数。下表总结了具有特定 approachwindow 参量值组合的方法的通用名称。

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

参考

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

版本历史记录

在 R2006a 中推出

全部展开