嵌入式中可能使用的算法

在嵌入式的测量中可能存在某些无法被直接测量的变量,但可能可以通过几个不同的数据指标运算处理得到,这里介绍最小而成发,最小二乘法适用于描述Y = AX + B的数据,即寻找到最合适的一条通过X描述Y的直线,X向量维度过多将会受到单片机的性能的制约,这里介绍最简单的单维度X生成Y。

最小二乘法的原理是,我们可以构造y = ax + b,对于预测的误差通过 Q = Σ(axi + b - yi) ^ 2描述

寻找最优描述方法则通过 detail Q / detail a = 0 与 detail Q / detail b = 0 得到

解得 a = (nΣxy - ΣxΣy) / (nΣx^2 - (Σx)^2); 再通过 b = Y - aX; 解得b,其中X, Y为x, y均值

对于多维度同理求解Q = Σ(axi1 + bxi2 + cxi3 - yi) ^ 2,实际上, 对于多维度的可以通过构造 AX = Y 矩阵

通过过 A = Y * (XX*) ^ -1 得到

最小二乘解中,求和部分实际可以通过累计和避免重复计算并且逐次迭代,而且可以通过使用循环队列构成的滑动窗口的形式实现

此外描述直线的实际上还有主成分分析(PAC)的方法,该方法对于误差的描述采用了点到直线的距离,

即 Q = Σ (ax + by + c) / (a ^ 2 + b ^ 2),

实际上主成分分析方法描述了点的分布情况,而最小二乘法描述了,因变量与自变量的相互关系

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章