主要内容GyD.F4y2Ba

识别非线性ARX模型GyD.F4y2Ba

非线性ARX模型将线性ARX模型扩展到非线性情况。有关非线性ARX模型结构的信息,请参阅GyD.F4y2Ba什么是非线性ARX模型?GyD.F4y2Ba

您可以估计估计非线性ARX模型GyD.F4y2Ba系统识别GyD.F4y2Ba应用程序或在命令行中使用GyD.F4y2Banlarx.GyD.F4y2Ba命令。要估算非线性ARX模型,您首先准备估计数据。然后,您配置模型结构和估计算法,然后执行估计。估算后,您可以如上所述验证估计模型GyD.F4y2Ba验证非线性ARX模型GyD.F4y2Ba.GyD.F4y2Ba

准备数据以进行识别GyD.F4y2Ba

可以使用均匀采样的时域输入输出数据或时间序列数据(无输入)来估计非线性ARX模型。您的数据可以有零个或多个输入通道和一个或多个输出通道。不能使用频域数据进行估计。GyD.F4y2Ba

要准备模型估计数据,请将数据导入MATLABGyD.F4y2Ba®GyD.F4y2Ba工作区,GyD.F4y2Ba一GyD.F4y2Ba下面的:GyD.F4y2Ba

  • 在系统识别应用程序中GyD.F4y2Ba- 如图所示导入应用程序中的数据GyD.F4y2Ba表示数据GyD.F4y2Ba.GyD.F4y2Ba

  • 在命令行GyD.F4y2Ba- 表示您的数据GyD.F4y2BaiddataGyD.F4y2Ba目的。GyD.F4y2Ba

导入数据后,您可以通过内插缺失值来分析数据质量和预处理数据,过滤以强调特定频率范围,或使用不同的采样时间重新采样。有关更多信息,请参阅GyD.F4y2Ba准备系统识别数据的方法GyD.F4y2Ba.对于大多数应用程序,在进行非线性建模之前,不需要从数据中去除偏移量和线性趋势。然而,数据反趋势在某些情况下是有用的,例如在对操作点的输入和输出变化之间的关系建模之前。GyD.F4y2Ba

在准备好估计数据之后,您可以配置模型结构、损失函数和估计算法,然后使用估计数据估计模型。GyD.F4y2Ba

配置非线性ARX模型结构GyD.F4y2Ba

一个非线性ARX模型由一组回归器组成,这些回归器可以是线性、多项式和自定义回归器的任何组合,以及一个输出函数,该函数通常包含一个非线性和一个线性分量,以及一个静态偏移量。框图表示GyD.F4y2Ba非线性ARX模型的结构GyD.F4y2Ba在模拟场景中。GyD.F4y2Ba

配置非线性ARX模型的结构:GyD.F4y2Ba

  1. 配置模型回归。GyD.F4y2Ba

    根据您尝试模型的物理系统的知识,选择线性,多项式和客户回归器。GyD.F4y2Ba

    1. 指定GyD.F4y2Ba线性回归器GyD.F4y2Ba在GyD.F4y2Ba一GyD.F4y2Ba以下方式:GyD.F4y2Ba

    2. 指定GyD.F4y2Ba多项式解释变量GyD.F4y2Ba和GyD.F4y2Ba自定义的解释变量GyD.F4y2Ba.多项式回归器是由延迟输入和输出变量组成的多项式。自定义回归器是过去输入和输出的任意功能,例如产品,权力和其他输入和输出变量的MATLAB表达式。s manbetx 845除了为模拟数据的灵活性之外,还指定多项式和自定义回归器,或者代替线性回归。有关更多信息,请参阅GyD.F4y2BaPolynomialReogressorGyD.F4y2Ba和GyD.F4y2BaCustomRogressorGyD.F4y2Ba.GyD.F4y2Ba

    3. 将回归器作为输入分配给输出函数块的线性和非线性分量。任何回归量都可以分配给这些组件中的一个或两个。限制输入到非线性组件的回归器的数量可以帮助降低模型的复杂性,并保持估计良好的条件。GyD.F4y2Ba

      为每个组件使用的回归器的选择可能需要多次试验。你可以检查一个GyD.F4y2Ba非线性ARX图GyD.F4y2Ba为了帮助您深入了解哪些回归对模型输出产生最强的影响。了解输出上的回归器的相对重要性可以帮助您决定如何分配回归。GyD.F4y2Ba

  2. 配置输出功能块。GyD.F4y2Ba

    指定和配置输出功能GyD.F4y2BaFGyD.F4y2Ba(GyD.F4y2BaXGyD.F4y2Ba).GyD.F4y2Ba

    FGyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba L.GyD.F4y2Ba T.GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba -GyD.F4y2Ba R.GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba 问:GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba -GyD.F4y2Ba R.GyD.F4y2Ba )GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba D.GyD.F4y2Ba

    这里,GyD.F4y2BaXGyD.F4y2Ba是回归向量吗GyD.F4y2BaR.GyD.F4y2Ba是回归器的含义GyD.F4y2BaXGyD.F4y2Ba.GyD.F4y2Ba FGyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba L.GyD.F4y2Ba T.GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba -GyD.F4y2Ba R.GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba yGyD.F4y2Ba 0.GyD.F4y2Ba 是线性功能块的输出。GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba 问:GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba -GyD.F4y2Ba R.GyD.F4y2Ba )GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba yGyD.F4y2Ba 0.GyD.F4y2Ba 表示非线性功能块的输出。GyD.F4y2Ba问:GyD.F4y2Ba是一个投影矩阵,使计算很好。GyD.F4y2BaD.GyD.F4y2Ba是添加到线性和非线性块的组合输出中的标量偏移量。确切的形式GyD.F4y2BaFGyD.F4y2Ba(GyD.F4y2BaXGyD.F4y2Ba)取决于您选择的输出功能。你可以选择GyD.F4y2Ba可用非线性估计GyD.F4y2Ba,如树划分网络、小波网络和多层神经网络。您还可以从输出函数中排除线性或非线性函数块。GyD.F4y2Ba

    您还可以执行以下任务之一:GyD.F4y2Ba

    1. 从输出函数中排除非线性函数,使其GyD.F4y2BaFGyD.F4y2Ba(GyD.F4y2BaXGyD.F4y2Ba)=GyD.F4y2Ba FGyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba )GyD.F4y2Ba =GyD.F4y2Ba L.GyD.F4y2Ba T.GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba -GyD.F4y2Ba R.GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba yGyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba

    2. 从输出函数中排除线性函数,使其GyD.F4y2BaFGyD.F4y2Ba(GyD.F4y2BaXGyD.F4y2Ba)=GyD.F4y2Ba GGyD.F4y2Ba (GyD.F4y2Ba 问:GyD.F4y2Ba (GyD.F4y2Ba XGyD.F4y2Ba -GyD.F4y2Ba R.GyD.F4y2Ba )GyD.F4y2Ba )GyD.F4y2Ba +GyD.F4y2Ba yGyD.F4y2Ba 0.GyD.F4y2Ba .GyD.F4y2Ba

      笔记GyD.F4y2Ba

      不能从树划分和神经网络中排除线性函数。GyD.F4y2Ba

有关如何在命令行和应用程序中配置模型结构的信息,请参阅GyD.F4y2Ba在命令行估计非线性ARX模型GyD.F4y2Ba和GyD.F4y2Ba估算应用中的非线性ARX模型GyD.F4y2Ba.GyD.F4y2Ba

指定非线性ARX模型的估算选项GyD.F4y2Ba

要配置模型估计,请指定要最小化的损耗功能,并选择估计算法和其他估计选项以执行最小化。GyD.F4y2Ba

配置损失函数GyD.F4y2Ba

损失函数或成本函数是模型输出和测量输出之间的误差函数。有关损失函数的更多信息,请参见GyD.F4y2Ba损失函数和模型质量度量GyD.F4y2Ba.GyD.F4y2Ba

在命令行中,使用GyD.F4y2Banlarx.GyD.F4y2Ba选项集,GyD.F4y2BanlarxOptionsGyD.F4y2Ba配置丢失功能。您可以指定以下选项:GyD.F4y2Ba

  • 重点GyD.F4y2Ba—参数估计过程中模拟或预测误差是否最小。默认情况下,该软件将单步预测误差最小化,对应于aGyD.F4y2Ba重点GyD.F4y2Ba的价值GyD.F4y2Ba“预测”GyD.F4y2Ba.如果您想要一个优化用于再现仿真行为的模型,请指定GyD.F4y2Ba重点GyD.F4y2Ba作为GyD.F4y2Ba“模拟”GyD.F4y2Ba.仿真误差的最小化需要非线性函数的可微性,比一步预测误差最小化需要更多的时间。因此,您不能使用GyD.F4y2BatreepartitionGyD.F4y2Ba和GyD.F4y2Baneuralnet.GyD.F4y2Ba在最小化模拟错误时的非线性,因为这些非线性估计器不可分辨率。GyD.F4y2Ba

  • OutputWeightGyD.F4y2Ba- 指定多输出估计中错误的加权。GyD.F4y2Ba

  • 正则化GyD.F4y2Ba- 修改损失功能,以增加估计参数方差的罚款。有关更多信息,请参阅GyD.F4y2Ba模型参数的正则化估计GyD.F4y2Ba.GyD.F4y2Ba

指定估计算法GyD.F4y2Ba

为了估计非线性ARX模型,该软件使用迭代搜索算法来最小化模拟或预测模型输出与测量输出之间的误差。在命令行,使用GyD.F4y2BanlarxOptionsGyD.F4y2Ba指定搜索算法和其他估计选项。您可以指定的部分选项是:GyD.F4y2Ba

  • SearchMethodGyD.F4y2Ba- 搜索方法,以最小化预测或仿真误差,如高斯 - 牛顿和Levenberg-Marquardt线路搜索,以及信任区域反光牛顿方法。GyD.F4y2Ba

  • searchOptions.GyD.F4y2Ba-搜索算法的选项设置,字段依赖于的值GyD.F4y2BaSearchMethodGyD.F4y2Ba,如:GyD.F4y2Ba

    • 最大GyD.F4y2Ba—最大迭代次数。GyD.F4y2Ba

    • 宽容GyD.F4y2Ba- 当参数值的预期改进小于指定值时,用于终止迭代搜索的条件。GyD.F4y2Ba

要查看可用估算选项的完整列表,请参阅GyD.F4y2BanlarxOptionsGyD.F4y2Ba.有关如何在应用程序中指定这些估计选项的详细信息,请参见GyD.F4y2Ba估算应用中的非线性ARX模型GyD.F4y2Ba.GyD.F4y2Ba

在预处理估计数据和配置模型结构和估计选项后,您可以估计模型GyD.F4y2Ba系统识别GyD.F4y2Ba应用程序,或使用GyD.F4y2Banlarx.GyD.F4y2Ba在命令行。得到的模型是一个GyD.F4y2BaidnlarxGyD.F4y2Ba存储所有模型数据的对象,包括非线性估计器的模型回归和参数。有关这些模型对象的更多信息,请参阅GyD.F4y2Ba非线性模型结构GyD.F4y2Ba.您可以如上所述验证估计的模型GyD.F4y2Ba验证非线性ARX模型GyD.F4y2Ba.GyD.F4y2Ba

使用线性模型初始化非线性ARX估计GyD.F4y2Ba

在命令行中,可以使用ARX结构多项式模型(GyD.F4y2BaidpolyGyD.F4y2Ba只有GyD.F4y2Ba一种GyD.F4y2Ba和GyD.F4y2BaB.GyD.F4y2Ba作为非线性ARX估计的活性多项式。要了解有关何时使用线性模型的更多信息,请参阅GyD.F4y2Ba什么时候适合非线性模型GyD.F4y2Ba.GyD.F4y2Ba

通常,您可以使用GyD.F4y2BaARX.GyD.F4y2Ba命令。在构造或估计非线性ARX模型时,可以提供线性模型。例如,使用以下语法使用估计数据和线性ARX模型来估计非线性ARX模型GyD.F4y2BaLinARXModelGyD.F4y2Ba.GyD.F4y2Ba

m = nlarx(数据,linarxmodel)GyD.F4y2Ba

这里GyD.F4y2BamGyD.F4y2Ba是一个GyD.F4y2BaidnlarxGyD.F4y2Ba对象,GyD.F4y2Ba数据GyD.F4y2Ba是一个时尚GyD.F4y2BaiddataGyD.F4y2Ba目的。该软件使用线性模型来初始化非线性ARX估计:GyD.F4y2Ba

  • 分配线性ARX模型订单并延迟为非线性ARX模型订单的初始值(GyD.F4y2BaNA.GyD.F4y2Ba和GyD.F4y2BaNB.GyD.F4y2Ba属性GyD.F4y2BaidnlarxGyD.F4y2Ba对象)和延迟(GyD.F4y2BaNK.GyD.F4y2Ba财产)。该软件使用这些订单和延迟来计算线性回归器GyD.F4y2Ba非线性ARX模型结构GyD.F4y2Ba.GyD.F4y2Ba

  • 使用GyD.F4y2Ba一种GyD.F4y2Ba和GyD.F4y2BaB.GyD.F4y2Ba线性模型的多项式,以计算非线性估计器的线性函数(GyD.F4y2BaLinearCoefGyD.F4y2Ba非线性估计器对象的参数),除非非线性估计器是神经网络。GyD.F4y2Ba

在估计过程中,估计算法使用这些值来调整非线性模型到数据。GyD.F4y2Ba

笔记GyD.F4y2Ba

当使用相同的数据进行估计时,使用线性ARX模型初始化的非线性ARX模型产生比线性ARX模型本身更好地拟合测量输出。GyD.F4y2Ba

默认情况下,非线性估计器是小波网络(GyD.F4y2BawavenetGyD.F4y2Ba目的)。您还可以指定不同的输入和输出非线性估计值。例如,您可以指定SIGMOID网络非线性估计器。GyD.F4y2Ba

m = nlarx(数据,linarxmodel,GyD.F4y2Ba'sigmoid'GyD.F4y2Ba)GyD.F4y2Ba

例如,请参见GyD.F4y2Ba用线性ARX模型初始化非线性ARX模型GyD.F4y2Ba.GyD.F4y2Ba

也可以看看GyD.F4y2Ba

功能GyD.F4y2Ba

应用GyD.F4y2Ba

相关话题GyD.F4y2Ba