主要内容

recursiveAR

创建系统对象AR模型的在线参数估计

语法

obj = recursiveAR
obj = recursiveAR (na)
A0 obj = recursiveAR (na)
obj = recursiveAR (___、名称、值)

描述

使用recursiveAR命令参数估计的实时数据。如果所有必要数据估计是可用的,你估计一个定常模型,使用离线估计命令,基于“增大化现实”技术

obj= recursiveAR创建一个系统对象™在线参数估计的一个默认的单输出AR模型结构。默认的模型结构的多项式订单1和初始多项式系数值每股收益

在创建对象时,使用一步命令来更新模型参数估计使用递归估计算法和实时数据。

obj= recursiveAR (na)指定了多项式阶AR模型的估计。

obj= recursiveAR (na,A0)指定了多项式秩序和初始值的多项式系数。

obj= recursiveAR (___,名称,值)指定附加属性AR模型的结构和递归估计算法使用一个或多个名称,值对参数。

对象描述

recursiveAR创建一个系统对象的在线参数估计的单输出使用递归估计AR模型算法。

一个系统对象是一个专门的MATLAB®专门为对象实现和模拟动态系统随时间变化的输入。系统对象使用内部状态存储过去的行为,这是用于下一个计算步骤。

在您创建一个系统对象,您可以使用命令来处理数据或获取信息或对象。系统对象使用至少两个命令来处理数据,构造函数创建对象和一步使用实时数据命令更新对象参数。这种分离的宣言执行允许您创建多个,持久,可重用的对象,每个都有不同的设置。

您可以使用以下命令的在线估计系统在系统辨识工具箱™对象:

命令 描述
一步

更新模型参数估计使用递归估计算法和实时数据。

一步将对象放入一个锁定的状态。在一个锁定的状态,你不能改变任何nontunable属性或输入规范,如模型,数据类型,或估计算法。在执行期间,你只能改变可调特性。

释放

解锁系统对象。使用此命令来启用nontunable模型参数的设定。

重置

锁定系统对象的内部状态重置为初始值,并且把对象锁。

克隆

创建另一个系统对象相同的对象属性值。

不使用语法创建额外的对象methoda = obj。任何更改,这样新创建的对象的属性(methoda)也改变原始对象的属性(obj)。

isLocked

查询锁定状态输入属性和nontunable系统对象的属性。

使用recursiveAR命令来创建一个在线估计系统对象。然后估计AR模型参数,一个,输出使用一步命令输出数据y

[A, EstimatedOutput] =步骤(obj, y)

recursiveAR对象属性,看属性

例子

全部折叠

创建一个系统对象™使用递归估计AR模型的在线参数估计算法。

obj = recursiveAR;

多项式的AR模型有一个默认的结构顺序1和初始多项式系数值,每股收益

加载时间序列估计数据。在这个例子中,使用一个静态数据集的例子。

负载iddata9z9;输出= z9.y;

估计AR模型参数在线使用一步

i = 1:元素个数(输出)[A, EstimatedOutput] =步骤(obj、输出(i));结束

查看当前估计的值多项式一个系数。

obj.A
ans =1×21.0000 - -0.9592

查看当前协方差估计的参数。

obj.ParameterCovariance
ans = 1.6204 e-04

查看当前估计输出。

EstimatedOutput
EstimatedOutput = 0.7830

指定多项式阶AR模型。

na = 2;

创建一个系统对象™在线估计AR模型指定的多项式的秩序。

obj = recursiveAR (na);

指定阶AR模型。

na = 2;

创建一个在线估计AR系统对象模型与已知初始多项式系数。

A0 = 0.5 - 0.3 [1];obj = recursiveAR (na、A0);

指定初始参数协方差。

obj。InitialParameterCovariance = 0.1;

InitialParameterCovariance代表了你猜对初始参数的不确定性。通常情况下,默认的InitialParameterCovariance(10000)太大相对于参数值。这导致在估计初始猜测的重要性减少。如果你有信心在初始参数的猜测,指定一个较小的初始参数协方差。

创建一个系统对象,使用归一化梯度算法的在线参数估计AR模型。

obj = recursiveAR (2“EstimationMethod”,“NormalizedGradient”);

输入参数

全部折叠

模型的多项式一个()的一个AR模型,指定为一个正整数。

初始值的多项式的系数一个(),指定为1 - (na + 1与1)行向量的值的第一个元素。指定系数提升力量的1

指定为[]使用的默认值每股收益多项式的系数。

请注意

如果初始参数值远小于InitialParameterCovariance,这些初始值给出了评估期间没有那么重要。指定一个较小的初始参数协方差,如果你有很高的信心在初始参数值。这句话只适用于无穷历史估计。Finite-history估计不使用InitialParameterCovariance

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

使用名称,值参数指定可写的属性recursiveAR系统对象在对象创建。例如,obj = recursiveAR (2“EstimationMethod”“梯度”)创建一个系统对象来估计AR模型使用“梯度”递归估计算法。

属性

recursiveAR系统对象属性由只读和可写属性。可写属性是可调,nontunable属性。nontunable属性无法改变时,对象是锁着的,也就是说,当你使用一步命令。

使用名称,值参数指定的可写属性recursiveAR在对象创建对象。对象创建后,使用点符号修改可调特性。

obj = recursiveAR;obj。为gettingFactor = 0.99;

一个

估计系数多项式一个(),返回一个行向量的值中指定的顺序升序的权力1

一个是一个只读属性,最初是空的之后创建对象。您使用后填充它一步命令的在线参数估计。

InitialA

初始值的多项式的系数一个()的顺序na,指定为行向量的长度na + 1以1为第一个元素。指定系数提升力量的1

如果最初的猜测比默认小得多InitialParameterCovariance,10000年,最初的猜测在估计没有那么重要。在这种情况下,指定一个较小的初始参数协方差。

InitialA是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:[1 eps]

InitialOutputs

初始值的输出缓冲区finite-history估计,指定为0或作为一个(W+na)1的向量,W窗口长度和吗na是你指定在对象构造多项式秩序。

InitialOutputs属性提供了一种控制算法的初始行为。

InitialOutputs被设置为0,对象用0填充缓冲区。

如果最初的缓冲区设置为0或不包含足够的信息,你看到一个警告消息在你估计的初始阶段。警告应明确几个周期。周期的数量需要足够的信息缓冲取决于多项式和输入延迟的顺序。如果警告一直持续,你应该评估你的信号内容。

指定InitialOutputs只有当历史有限的

InitialOutputs是一个可调的特性。你可以改变InitialOutputs当对象处于锁定状态。

默认值:0

ParameterCovariance

估计的协方差P的参数,作为一个返回N——- - - - - -N对称正定矩阵。N参数的数量是估计的。软件计算P假设残差(估计和测量输出)的区别是白噪声,而这些残差的方差是1。

ParameterCovariance只有当适用EstimationMethod“ForgettingFactor”“KalmanFilter”或者当历史有限的

的解释P取决于你的设置历史EstimationMethod属性。

  • 如果历史无限,那么你的EstimationMethod选择结果是下列之一:

    • “ForgettingFactor”- (R2/ 2)P约等于的协方差矩阵估计参数,在哪里R2是真正的残差的方差。

    • “KalmanFilter”- - - - - -R2P的协方差矩阵估计参数,然后呢R1/R2的协方差矩阵参数的变化。在这里,R1您所指定的协方差矩阵,在吗ProcessNoiseCovariance

  • 如果历史有限的(滑动窗口估计)R2P的协方差估计的参数。滑动窗口算法不使用的协方差参数估计过程。然而,该算法并计算输出的协方差,这样您就可以用它来统计评估。

ParameterCovariance是一个只读属性,最初是空的之后创建对象。您使用后填充它一步命令的在线参数估计。

InitialParameterCovariance

初始参数的协方差估计,指定为以下之一:

  • 真正积极的标量,α——协方差矩阵是一个N——- - - - - -N对角矩阵,α对角元素。N参数的数量是估计的。

  • 真正积极的标量,矢量(α1、……αN)——协方差矩阵是一个N——- - - - - -N对角矩阵,(α1、……αN对角元素)。

  • N——- - - - - -N对称正定矩阵。

InitialParameterCovariance代表了初始参数估计的不确定性。对于大的值InitialParameterCovariance,更少的重要性放在初始参数值和测量数据在评估使用的开始一步

只使用当EstimationMethod“ForgettingFactor”“KalmanFilter”

InitialParameterCovariance是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:10000年

EstimationMethod

递推估计算法用于在线估计模型参数,指定为以下值之一:

  • “ForgettingFactor”——用于参数估计算法

  • “KalmanFilter”——用于参数估计算法

  • “NormalizedGradient”——用于参数估计算法

  • “梯度”——非规范梯度算法用于参数估计

遗忘因子和卡尔曼滤波算法计算量比梯度和非规范梯度方法。然而,他们有更好的收敛特性。这些算法的信息,请参阅在线参数估计的递归算法

这些方法都使用一个无限数据历史,只有当可用历史“无限”

EstimationMethod是一个nontunable财产。你不能改变它在执行期间,在对象被锁使用一步命令。

默认值:遗忘因子

ForgettingFactor

遗忘因子,λ相关的参数估计,指定为一个标量范围(0,1)。

假设体系仍近似恒定T0样本。你可以选择λ这样:

T 0 = 1 1 λ

  • 设置λ= 1对应于“不忘”,估计常系数。

  • 设置λ< 1意味着过去的测量数据对参数估计不太重要,可以“遗忘”。集λ< 1估计时变系数。

典型的选择λ在范围内(0.98 - 0.995)

只使用当EstimationMethod“ForgettingFactor”

ForgettingFactor是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:1

EnableAdapation

启用或禁用参数估计,指定为以下之一:

  • 真正的1- - -一步命令估计参数值在该时间步骤并更新参数值。

  • 0- - -一步命令不更新时间步的参数,而输出最后估计价值。您可以使用这个选项,当您的系统进入模式的参数值不随时间变化。

    请注意

    如果你设置EnableAdapation,你仍然必须执行一步命令。不要跳过一步参数值保持不变,因为参数估计取决于当前和过去的I / O的测量。一步确保过去的I / O数据存储,即使它不更新参数。

EnableAdapation是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:真正的

数据类型

浮点精度参数,指定为以下值之一:

  • “双”——双精度浮点

  • “单一”——单精度浮点

设置数据类型“单一”节省了内存,但是会导致精度的损失。指定数据类型根据精度要求的目标处理器,您将生成部署代码。

数据类型是一个nontunable财产。它只能在对象构造使用名称,值参数,之后不能更改。

默认值:“双”

ProcessNoiseCovariance

协方差矩阵的参数变化,指定为以下之一:

  • 真正的负的标量,α——协方差矩阵是一个N——- - - - - -N对角矩阵,α对角元素。

  • 真正的负的标量,矢量(α1、……αN)——协方差矩阵是一个N——- - - - - -N对角矩阵,(α1、……αN对角元素)。

  • N——- - - - - -N对称半正定矩阵。

N参数的数量是估计的。

ProcessNoiseCovariance适用时,EstimationMethod“KalmanFilter”

卡尔曼滤波算法对参数作为一个动态系统的状态和使用卡尔曼滤波器估计这些参数。ProcessNoiseCovariance是过程噪声协方差的作用在这些参数。零值的噪声协方差矩阵对应于估计常系数。大于0的值对应于时变参数。使用大型快速变化的参数的值。然而,更大的值导致参数估计吵着。

ProcessNoiseCovariance是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:0.1

AdaptationGain

适应增益,γ递归估计,用于梯度算法,指定为一个积极的标量。

AdaptationGain适用时,EstimationMethod“梯度”“NormalizedGradient”

指定一个较大的值AdaptationGain当你的测量数据具有较高的信噪比。

AdaptationGain是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:1

NormalizationBias

偏见在适应增益扩展中使用“NormalizedGradient”方法,指定为负的标量。

NormalizationBias适用时,EstimationMethod“NormalizedGradient”

归一化梯度算法把适应获得每一步的广场two-norm梯度向量。如果梯度接近于零,这可能会导致跳跃的估计参数。NormalizationBias这个术语介绍了分母,以防止这些跳跃。增加NormalizationBias如果你观察跳跃在估计参数。

NormalizationBias是一个可调的特性。你可以改变它的对象是处于锁定状态。

默认值:每股收益

历史

历史数据类型定义您使用哪种类型的递归算法,指定为:

  • “无限”-使用一个算法,旨在观察和预测输出之间的误差最小化的步骤从一开始的模拟。

  • “有限”-使用一个算法,旨在观察和预测输出之间的误差最小化有限数量的过去一段时间的步骤。

算法与无限的历史目标参数估计解释开始以来的所有数据仿真。这些算法仍在使用一个固定数量的内存,不随着时间的推移而增长。对象提供的多个算法“无限”历史类型。指定这个选项激活EstimationMethod属性指定一个算法。

算法与有限的历史目标参数估计,解释过去只有有限数量的数据样本。这种方法也被称为滑动窗口估计。的对象提供了一个算法“有限”类型。指定这个选项激活WindowLength大小的属性窗口。

关于递归估计方法的更多信息,请参阅在线参数估计的递归算法

历史是一个nontunable财产。它只可以设置对象构造期间使用名称,值参数,之后不能更改。

默认值:“无限”

WindowLength

窗口大小确定样本数量的时间使用滑动窗口的估算方法,指定为一个正整数。指定WindowLength只有当历史有限的

选择平衡的窗口大小估计性能计算和内存负担。分级因素包括数量和时间在您的模型中参数的方差。总是指定窗口长度在样品,即使您使用的是框架的输入处理。

WindowLength必须大于或等于参数估计的数量。

合适的窗口长度是否使用纸浆包或独立的框架(见输入处理InputProcessing)。然而,当使用框架处理,你的窗口长度必须大于或等于样本的数量(时间步骤)中包含的框架。

WindowLength是一个nontunable财产。它只可以设置对象构造期间使用名称,值参数,之后不能更改。

默认值:200年

InputProcessing

选择或输入不定位处理纸浆包,指定为一个字符或字符串向量。

  • 纸浆包处理操作信号流一次一个样本。

  • 框架处理操作信号包含多个样本的时间步骤。许多机器传感器接口包多个样本和传输这些样本在帧。框架处理允许您直接输入数据,而不必首先解压缩它。

你的InputProcessing规范影响的维度在使用输入和输出信号一步命令:

[θ,EstimatedOutput] =步骤(obj, y)

  • 纸浆包

    • yEstimatedOutput是标量。

    • 框架样品每帧

      • yEstimatedOutput1的向量。

InputProcessing是一个nontunable财产。它只可以设置对象构造期间使用名称,值参数,之后不能更改。

默认值:“纸浆包”

输出参数

全部折叠

系统对象的在线参数估计AR模型,作为一个返回recursiveAR系统对象。创建这个对象使用指定的命令和属性模型。使用一步命令来估计AR模型多项式的系数。然后您可以使用点符号访问协方差估计的系数和参数。例如,类型obj.A查看估计一个多项式系数。

更多关于

全部折叠

AR模型结构

AR模型结构是:

一个 ( ) y ( t ) = e ( t )

在那里,

一个 ( ) = 1 + 一个 1 1 + + 一个 n 一个 n 一个

在这里,

  • y (t)——输出时间t。数据是一个时间序列,没有输入通道和输出通道之一。

  • na——的数量一个多项式系数。

  • e (t)——白噪音干扰值t

  • 1- - - - - -让使用者操作符。

提示

  • 从R2016b开始,而不是使用一步命令来更新模型参数估计,你可以叫输入参数的系统对象,就好像它是一个函数。例如,[A, EstimatedOutput] =步骤(obj, y)[A, EstimatedOutput] = obj (y)执行相同操作。

扩展功能

介绍了R2015b