目录
一、前言
戴明回归在雷达数据处理中主要用于tracker初始的航向估计,博文描述了戴明回归的基本理论原理,本文简单描述正交回归和戴明回归的算法过程,使用matlab实现戴明回归,以便回忆使用。
二、正交回归
最小二乘法仅考虑了因变量 y方向存在误差的情况,没考虑x方向存在误差情况;正交回归同时考虑了横纵坐标的误差,使用点法式直线方程,能够表示二维平面上所有的点。正交方法能够同时考虑自变量 x 和 因变量 y的误差。正交回归将横纵坐标残差的平方和作为目标函数,来求得最优解。直观地理解,正交回归就是找到一条直线,使得点到直线的距离之和最小,所以如果拟合点的横纵坐标都包含误差的情况下,使用正交回归能够得到更准确的结果 。
正交回归算法描述:
1.导入样本数据
2. 计算样本x,y的平均值和x,y协方差
3、求协方差的特征值的最小值对应的特征向量,即拟合参数
下面是截取博文的最小二乘法和正交回归示意图以示解释:
三、正交回归matlab
%step1. get data
clc
clear
close all
SIZE = 20;
X = linspace(0, 10, SIZE);
Y = 3 * X + 10;
temRandy=[];
for i=1:SIZE
temRandy = [temRandy;randi(20)-10];
end
random_x = X'+ rand(SIZE,1) - 0.5;
random_y = Y'+ temRandy;
plot(random_x,random_y,'og','MarkerFaceColor','g');
hold on
%step2. mean cov
mean_x = mean(random_x);
mean_y = mean(random_y);
covxy = cov(random_x',random_y');
[V,D] = eig(covxy);
%step3. a(x-x0)+b(y-y0)=0;
%经过验证是取特征值较大值对应的特征向量
esti_y = V(2,2) *( random_x -mean_x)/V(2,1) +mean_y;
plot(random_x,esti_y,'-c','LineWidth',4);
四、deming回归
戴明回归是将正交回归一般化,当原始点的横纵坐标都有噪声和误差,并且噪声不同时,就可以考虑在目标函数中加入权值,这样看起来就像是斜投影,所以也可以说是优化的斜距离。正交方法考虑的是自变量 x和因变量 y有相同方差的情况,但更一般的,可能自变量和因变量的测量方式是不一样的,这样会造成两个方差的不同,因此应该给与不同的考虑。戴明回归就相当于求加权的正交回归,是正交回归向一般化方向的推导,博文进行了详细推导,这里直接给出结论。
下图是正交回归和戴明回归的示意图
参考:
正交回归:https://blog.csdn.net/qq_31880107/article/details/90289299
戴明回归:https://blog.csdn.net/qq_31880107/article/details/90345874