含有异常值的Hammerstein输出误差模型的辩识方法.doc

含有异常值的Hammerstein输出误差模型的辩识方法.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
含有异常值的Hammerstein输出误差模型的辩识方法 大纲 Hammerstein系统是由线性部分和非线性部分组成的一种动态系统,通常被表示为以下数学表达式: y(t) = G[f(u(t))] + e(t) 其中,y(t)表示系统的输出,u(t)表示系统的输入,G是线性部分的传输函数,f是非线性部分的输入输出映射函数,e(t)是系统的误差或噪声。根据实际情况,线性部分和非线性部分可以采用不同的数学形式。 在具体应用中,为了对Hammerstein系统进行辨识,需要确定线性部分和非线性部分的形式,并且估计各部分的参数。一般来说,可以通过试验数据对Hammerstein系统进行建模,并使用系统辨识方法对模型进行参数估计。Hammerstein系统在自动控制、信号处理和机器学习等领域中都有广泛应用。 1.确定数据的异常值 可以使用统计学方法,如箱线图、均值加减3倍标准差等,对数据进行异常值检测。 对于Hammerstein系统中的非线性环节,异常值可能会导致非线性函数的形状发生变化,因此需要特别注意。 2.针对含有异常值的Hammerstein系统进行非线性环节的辨识 非参数方法:使用核密度估计、直方图估计等方法对非线性环节进行建模。 对于每个输入值,将所有输出值组成一个样本,使用非参数方法进行分布估计。 参数方法:使用多项式、分段线性等方法对非线性环节进行建模。 假设非线性函数的形式,并使用最小二乘等方法拟合参数。 特别地,针对包含异常值的数据,需要考虑去除异常值后再进行模型辨识。 3.针对含有异常值的Hammerstein系统进行线性环节的辨识 传统方法:使用最小二乘法、极大似然法等方法对线性环节进行建模。 假设线性系统的动态方程形式,并使用观测数据进行参数拟合。 特别地,针对包含异常值的数据,可以考虑使用鲁棒性辨识方法,如Huber回归等方法,对线性系统进行建模。 4.对非线性环节和线性环节进行组合 将非线性环节和线性环节组合在一起,得到完整的Hammerstein系统。 对完整的Hammerstein系统进行辨识,得到最终的模型参数。 5.模型验证和应用 使用验证数据集验证所得到的Hammerstein系统模型的准确性和鲁棒性。 将Hammerstein系统模型应用于实际问题中,进行控制、预测等任务。 6.递推算法 针对含有异常值的Hammerstein系统进行递推算法的步骤如下: 初始化:假设Hammerstein系统的阶数为n,设当前已知的最优参数为θ,初始化计数器k=0。 辨识非线性环节:使用非参数方法或参数方法辨识非线性环节,得到非线性环节的参数θ1。 辨识线性环节:使用传统方法或鲁棒性辨识方法辨识线性环节,得到线性环节的参数θ2。 组合:将非线性环节和线性环节组合在一起,得到完整的Hammerstein系统模型,并计算模型的输出误差。 比较:将当前的模型输出误差与历史输出误差进行比较,如果当前输出误差小于历史输出误差,则更新最优参数θ=θ1+θ2,计数器k重置为0。 终止条件:如果计数器k大于等于阈值,或者已达到最大迭代次数,则停止迭代。否则,将计数器k加1,返回步骤2。 返回最优参数:返回最优参数θ作为Hammerstein系统的估计值。 以上是递推算法的基本步骤。在实际应用中,可能需要对算法进行修改或优化,以适应不同的数据特征和问题需求。 附录1 以下是一个使用Python实现递推算法的示例代码: import numpy as np from scipy import optimize # 非线性环节的辨识方法 def nonlinear_identification(x, y): # 使用核密度估计法进行建模 kde = optimize.gaussian_kde(y) return kde # 线性环节的辨识方法 def linear_identification(x, y): # 使用最小二乘法进行建模 A = np.vstack([x, np.ones(len(x))]).T theta, residuals, rank, s = np.linalg.lstsq(A, y, rcond=None) return theta # 递推算法 def recursive_hammerstein_identification(x, y, n, k_max, tol): # 初始化 theta = np.zeros(n+1) k = 0 best_error = np.inf while k < k_max: # 辨识非线性环节 kde = nonlinear_identification(x, y - np.dot(x, theta[1:])) theta1 = kde.resample()[0] #

文档评论(0)

幕墙设计 + 关注
实名认证
服务提供商

熟悉参数化相关的Rhino-Grasshopper在幕墙辅助设计和幕墙BIM中的应用。 熟悉异形项目相关流程的幕墙模型深化、幕墙施工图提资、钢结构线模型提资、主体结构包络完成面控制、曲面优化等。 熟悉幕墙门窗系统技术方案分析计算、施工图设计流程完善与落地、与其他专业的交互、施工图设计制图相关软件等。 熟悉幕墙门窗施工图相关的技术规范、材料工艺等。 超低能耗项目、系统门窗项目的方案和施工图设计。 了解BIPV光伏一体化设计。

认证主体陈**

1亿VIP精品文档

相关文档

相关课程推荐