[GNSS] Principio de estimación robusta (estimación robusta) y realización del programa

Estimación robusta

Principios de estimación robusta

La estimación robusta es una categoría de ajuste de medición moderno, también conocida como estimación robusta. Según el académico Yang, a la Academia de Ciencias de China le gusta llamarla estimación robusta y a la Universidad de Wuhan le gusta llamarla estimación robusta. Nuestro valor medido es una variable aleatoria y se ajusta a una distribución normal.Si hay un error bruto, cuando aplicamos los mínimos cuadrados o el filtro de Kalman, el resultado se desviará del valor real (divergencia del filtro). Cuando resolvemos error bruto o error sistemático, podemos entender desde dos aspectos, desplazamiento de media o expansión de varianza, la estimación robusta pertenece al modelo de expansión de varianza, es decir, el fenómeno de que la media no cambia y la varianza cambia. Podemos reducir el peso de las observaciones con errores graves.
Soy vago y no quiero formular una fórmula. Todos deberían haber visto derivaciones similares. De hecho, la fórmula es la misma que los mínimos cuadrados. El lugar del cambio es la matriz de peso. Cuando se reemplaza con el equivalente peso, entonces el peso equivalente también se ve afectado.Función de peso, huber común, IGG III, etc., recomiendo IGG III, el código es fácil de implementar.
Esta matriz de ponderaciones es muy importante cuando la implementamos. La matriz de ponderaciones es la inversa de lo que llamamos matriz de varianza. Se divide en independientes y no independientes, es decir, si las observaciones están relacionadas o no, y si están relacionados también afecta la forma de la función de peso equivalente. Da un ejemplo de la distancia de observación independiente más simple

Ejemplos de estimación robusta

Suponemos que se hacen 10 observaciones independientes para una distancia, y las 10 observaciones son: 5.09, 5.10, 5.13, 5.09, 5.12, 5.08, 5.46, 7.81, 5.10, 5.11 (en m), los datos los compilé aleatoriamente.
A partir de la descripción anterior, podemos saber que el número de mediciones es n = 10, la observación necesaria es m = 1 y la observación redundante es nm = 9. Para la observación independiente, la matriz de ponderaciones es la diagonal y la matriz de ponderaciones anterior es la diagonal unitaria. Lo que es visible a simple vista es que el valor de observación de 7.81 es un error grave, pero 5.46 no está seguro de si lo es.

Implementación robusta del programa

realizado por matlab

%% 功能3-抗差估计
% % 假设对一段长度进行观测,5.09 5.10 5.13 5.09 5.12 5.08 5.46 7.81 5.10 5.11
close all
clear all
clc
k0=1.0;k1=2.5;k=1.0;
B=ones(10,1);% 设计矩阵
l=[5.09 5.10 5.13 5.09 5.12 5.08 6.46 7.81 5.10 5.11]';
% P=diag(ones(10,1));% 先验权矩阵1,等价权
P=diag(1./l);% 先验权矩阵2,根据长度倒数定权
x_prev=0;
x0=5.10;% 赋初值
l=l-x0;

while(1)

    W=B'*P*l;
    N=B'*P*B;
    x=inv(N)*W;% 待估参数向量
    v=B*x-l;% 残差向量
    sigma0=sqrt(v'*P*v/(10-1));% 单位权中误差
    disp(['待估参数向量:',num2str(x),' 单位权中误差:',num2str(sigma0)]);
    Q=inv(P);
    Qvv=Q-B*inv(N)*B';

    for i=1:10
        v_=v(i)/(sigma0*sqrt(Qvv(i,i)));
        if abs(v_)<=k0
            k=1.0;
        elseif  abs(v_)>k1
            k=1e-8;
        else
            k=(k0/abs(v_))*((k1-abs(v_))/(k1-k0))^2;
        end
        P(i,i)=P(i,i)*k;
    end

    if x_prev==0
        x_prev=x;
        continue;
    elseif abs(x_prev-x)<0.01
        break;
    end
    x_prev=x;
end
x=x0+x_prev;%求出的最后长度 初值+改正数
disp(['length is ',num2str(x)])

El resultado de la impresión es el siguiente: El resultado de
utilizar el peso equivalente es:

待估参数向量:0.309 单位权中误差:0.8512
待估参数向量:0.042222 单位权中误差:0.11331
待估参数向量:0.0025 单位权中误差:0.01472
待估参数向量:-0.00031553 单位权中误差:0.0084525
length is 5.1025

El resultado de usar la longitud recíproca para determinar el peso es:

待估参数向量:0.2218 单位权中误差:0.31128
待估参数向量:0.03985 单位权中误差:0.048702
待估参数向量:0.0024523 单位权中误差:0.0065128
待估参数向量:-0.0003396 单位权中误差:0.0037381
length is 5.1025

La primera línea de la figura es el resultado de nuestros mínimos cuadrados. Solo uno de los 10 resultados está cerca del valor obtenido por los mínimos cuadrados. Obviamente, es inconsistente con el resultado de nuestra medición, por lo que si hay un error bruto, será El resultado de mínimos cuadrados es devastador. Luego, si aplicamos una estimación robusta, después de otras 3 iteraciones, se obtiene el resultado final y el error de peso unitario.
Si modifico el séptimo valor, cambia de 5.46 a 6.46. El resultado es el siguiente: el
resultado de utilizar derechos de unidad es:

待估参数向量:0.409 单位权中误差:0.91426
待估参数向量:0.1257 单位权中误差:0.38585
待估参数向量:0.0025 单位权中误差:0.01472
待估参数向量:-0.00031551 单位权中误差:0.0084526
length is 5.1025

El resultado de usar la longitud recíproca para determinar el peso es:

待估参数向量:0.2218 单位权中误差:0.31128
待估参数向量:0.03985 单位权中误差:0.048702
待估参数向量:0.0024523 单位权中误差:0.0065128
待估参数向量:-0.0003396 单位权中误差:0.0037381
length is 5.1025

Conclusión El
uso de estimación robusta para determinar mejora la precisión de la estimación de parámetros. Además, los resultados de diferentes matrices de ponderaciones anteriores son inconsistentes en el proceso iterativo. Para este ejemplo, la longitud recíproca se usa para determinar la ponderación, independientemente de si el se aplica o no los mínimos cuadrados, el resultado es Ambos están cerca del valor verdadero y el error en el peso unitario también es pequeño.

Estimación robusta relacionada con observaciones

Principalmente estas iteraciones de tres pasos:
1. Residuo estandarizado, error ponderado unitario
2. Factor de amplificación de la varianza
3, varianza equivalente

Bienvenido a comunicarse ~

Actualizado el 10/11/2020 14:20:00.
En el ejemplo anterior, desea utilizar residuales estandarizados. Gracias Xiao del Instituto de Pruebas de China por recordarme que no he leído el ajuste clásico durante mucho tiempo. y la fórmula de propagación de la matriz de covarianza está realmente olvidada Sí, jajaja.
Expansión: En realidad, en gnss spp, las observaciones no están relacionadas, así que consíguelo, solo encuentra los parámetros correspondientes y aplícalos directamente.

Supongo que te gusta

Origin blog.csdn.net/weixin_43074576/article/details/109312117
Recomendado
Clasificación