雷达 · 通信 · 电子战 / 基础精学 182
当横纵坐标都含噪声时,总最小二乘以点到直线的正交距离为代价,其解由中心化散布矩阵的最小特征向量确定。
实际记录只包含有限个采样值。由记录计算得到的数值与总体参数并不相同:前者受记录长度、噪声、边界约定及运算精度影响,后者属于给定模型的属性。建立可复核结论需要先固定输入含义、统计假设和归一化方式,再比较可计算量与理论量。
二维实值数据;横纵坐标具有同单位且独立同方差误差;直线未知;非退化点云且最小特征值单重。
u:单位法向量(无量纲)
S:中心化散布矩阵(坐标平方)
a,b:直线y等于ax加b的参数(斜率及坐标)
拟合直线经过数据重心,先把点云平移到原点。
单位法向量将点投影到垂直直线的方向。
平方距离和为散布矩阵的Rayleigh商。
约束求导给出特征方程,最小特征值对应最小残差。
法向量纵分量非零时可以写为普通斜截式。
中心化数据矩阵的最小右奇异向量给出相同法向量。
中心化二维点的散布矩阵为 C。用单位法向量
表示直线,正交残差平方和为
最小特征值对应的特征向量给出最优法向量,最小残差为该特征值。
直线写为
只有 ny≠0 时才适合转成斜率形式;近竖直直线的巨大斜率并不表示法向量估计必然病态。
两坐标的单位和误差尺度必须一致,若一轴以毫米、另一轴以米表示而不加权,普通欧氏距离及拟合结果都会改变。
普通最小二乘只惩罚纵向误差,相当于横坐标无误差。总最小二乘对两个同尺度坐标对称;交换横纵坐标不改变几何直线。近垂直直线应保留法向量形式,避免斜率数值爆炸。
构造斜率1.8的直线点集,两轴加入标准差0.5的噪声,比较普通与总最小二乘结果;检查SVD与特征向量解一致及正交残差最小。数值脚本使用固定随机种子;随机实验的判据采用有限容差,代数关系的判据采用浮点残差。图中同时展示参数变化趋势与对应误差,关键数值写入独立结果文件。
| 量 | 数值 |
|---|---|
| 数据点数 | 2000 |
| 真实斜率 | 1.8 |
| TLS slope | 1.79740997716 |
| OLS slope | 1.51404558605 |
| TLS intercept | 0.688289442647 |
| TLS orthogonal residual | 505.916410312 |
| OLS orthogonal residual | 571.842770705 |
| SVD eigenvector error | 0 |
图 1 总最小二乘直线拟合的固定参数数值验证
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261101;运行版本与完整结果另存为独立文件。
SystemVerilog实现外部中心化坐标的x平方、xy和y平方及计数累加;中心化、特征分解和斜率除法在软件中完成。端口为16位有符号码,内部64位,同步复位,valid空拍保持状态;
按外部首尾标志进行块累加并在块尾输出。自检覆盖多组数据、空拍、边界和复位,仅验证所述整数子核,不代表完整算法的硬件验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
用于双通道标定关系拟合、散点主方向估计和含自变量误差的线性模型分析。不同坐标单位需先按误差尺度归一化。
横纵噪声方差不同时应采用加权总最小二乘。
离群点会显著影响平方距离目标。
有限精度实现必须区分输入量化、内部舍入和最终结果格式,不能仅依据浮点曲线估计硬件误差。
总最小二乘由最小散布方向决定,在双轴同方差误差下给出对坐标交换对称的直线拟合。
内容依据:每日精学第 182 课《总最小二乘直线拟合》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。