Saltar al contenido principal
LibreTexts Español

2.6: Mínimos cuadrados recursivos (opcional)

  • Page ID
    85917
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    ¿Y si los datos vienen secuencialmente? ¿Tenemos que recalcular todo cada vez que entra un nuevo punto de datos, o podemos escribir nuestra nueva estimación actualizada en términos de nuestra antigua estimación?

    Considera el modelo

    \[y_{i}=A_{i} x+e_{i}, \quad i=0,1, \ldots\nonumber\]

    donde\(y_{i} \in \mathbf{C}^{m \times 1}, A_{i} \in \mathbf{C}^{m \times n}, x \in \mathbf{C}^{n \times 1}, \text { and } e_{i} \in \mathbf{C}^{m \times 1}\). El vector\(e_{k}\) representa el desajuste entre la medición\(y_{k}\) y el modelo para ello\(A_{k}x\), donde\(A_{k}\) se conoce y\(x\) es el vector de parámetros a estimar. En cada momento\(k\), deseamos encontrar

    \[\widehat{x}_{k}=\arg \min _{x}\left(\sum_{i=1}^{k}\left(y_{i}-A_{i} x\right)_{i}^{\prime} S_{i}\left(y_{i}-A_{i} x\right)\right)=\arg \min _{x}\left(\sum_{i=1}^{k} e_{i}^{\prime} S_{i} e_{i}\right)\nonumber\]

    donde\(S_{i} \in \mathbf{C}^{m \times 1}\) es una matriz hermitiana definitiva positiva de pesos, para que podamos variar la importancia de los\(e_{i}\)'s y componentes de los\(e_{i}\)'s en la determinación\(\widehat{x}_{k}\).

    Para calcular\(\widehat{x}_{k+1}\), deje:

    \ [\ bar {y} _ {k+1} =\ left [\ begin {array} {c}
    y_ {0}\\
    y_ {1}\
    \\ cdot\
    \ cdot\\
    y_ {k+1}
    \ end {array}\ derecha];\ quad\ bar {A} _ {k+1} =\ left [\ begin {array} {c}
    A_ {0}\
    A_ {1}\\
    \ cdot\\
    \ cdot\\
    A_ {k+1}
    \ end {array}\ derecha];\ quad\ bar {e} _ {k+1} =\ left [\ begin {array} {c}
    e_ {0}\\
    e_ {1}\\ cdot
    \\ cdot
    \\ cdot\\
    e_ {k+1}
    \ end {array}\ derecho]\ nonumber\]

    y

    \[\bar{S}_{k+1}=\operatorname{diag}\left(S_{0}, S_{1}, \ldots, S_{k+1}\right)\nonumber\]

    donde\(S_{i}\) está la matriz de ponderación para\(e_{i}\).

    Nuestro problema es entonces equivalente a

    \[\min \left(\bar{e}_{k+1}^{\prime} \bar{S}_{k+1} \bar{e}_{k+1}\right)\nonumber\]

    sujeto a:\(\bar{y}_{k+1}=\bar{A}_{k+1} x_{k+1}+\bar{e}_{k+1}\)

    Por lo tanto, la solución puede escribirse como

    \[\left(\bar{A}_{k+1}^{\prime} \bar{S}_{k+1} \bar{A}_{k+1}\right) \widehat{x}_{k+1}=\bar{A}_{k+1}^{\prime} \bar{S}_{k+1} \bar{y}_{k+1}\nonumber\]

    o en forma de suma como

    \[\left(\sum_{i=0}^{k+1} A_{i}^{\prime} S_{i} A_{i}\right) \widehat{x}_{k+1}=\sum_{i=0}^{k+1} A_{i}^{\prime} S_{i} y_{i}\nonumber\]

    Definiendo

    \[Q_{k+1}=\sum_{i=0}^{k+1} A_{i}^{\prime} S_{i} A_{i}\nonumber\]

    podemos escribir una recursión para\(Q_{k+1}\) lo siguiente:

    \[Q_{k+1}=Q_{k}+A_{k+1}^{\prime} S_{k+1} A_{k+1}\nonumber\]

    Reordenando la ecuación de forma de suma para\(\widehat{x}_{k}+1\), obtenemos

    \ [\ begin {alineado}
    \ sombrero ancho {x} _ {k+1} &=Q_ {k+1} ^ {-1}\ left [\ left (\ sum_ {i=0} ^ {k} A_ {i} ^ {\ prime} S_ {i} A_ {i}\ right)\ sombrero ancho {x} _ _ {k} +A_ {k+1} ^ {prime\ S} _ {k+1} y_ {k+1}\ derecha]\\
    &=Q_ {k+1} ^ {-1}\ izquierda [Q_ {k}\ sombrero ancho {x} _ {k} +A_ {k+1} ^ {\ prime} S_ {k+1} y_ {k+1}\ derecha]
    \ fin { alineado}\ nonumber\]

    Esto muestra claramente la nueva estimación como una combinación ponderada de la estimación anterior y los nuevos datos, por lo que tenemos la recursión deseada. Otra forma útil de este resultado se obtiene sustituyendo de la recursión por\(Q_{k+1}\) arriba para obtener

    \[\widehat{x}_{k+1}=\widehat{x}_{k}-Q_{k+1}^{-1}\left(A_{k+1}^{\prime} S_{k+1} A_{k+1} \widehat{x}_{k}-A_{k+1}^{\prime} S_{k+1} y_{k+1}\right)\nonumber\]

    lo que finalmente reduce a

    \[\widehat{x}_{k+1}=\widehat{x}_{k}+\underbrace{Q_{k+1}^{-1} A_{k+1}^{\prime} S_{k+1}}_{\text {Kalman Filter Gain }} \underbrace{\left(y_{k+1}-A_{k+1} \widehat{x}_{k}\right)}_{\text {innovations }}\nonumber\]

    A la cantidad\(Q_{k+1}^{-1} A_{k+1}^{\prime} S_{k+1}\) se le llama ganancia de Kalman, y\(y_{k+1}-A_{k+1} \widehat{x}_{k}\) se le llama las innovaciones, ya que compara la diferencia entre una actualización de datos y la predicción dada la última estimación.

    Desafortunadamente, a medida que uno adquiere más y más datos, es decir, a medida\(k\) que crece, la ganancia de Kalman va a cero. Un punto de datos no puede avanzar mucho contra la masa de datos anteriores que ha `endurecido' la estimación. Si dejamos este estimador tal cual -sin modificación- el estimador `va a dormir' después de un tiempo, y así no se adapta bien a los cambios de parámetros. En la tarea se investiga el concepto de “memoria que se desvanece” para que el estimador no se vaya a dormir.

    Un problema de implementación

    Otro concepto que es importante en la implementación del algoritmo RLS es el cómputo de\(Q_{k+1}^{-1}\). Si la dimensión de\(Q_{k}\) es muy grande, el cálculo de su inverso puede ser computacionalmente costoso, por lo que a uno le gustaría tener una recursión para\(Q_{k+1}^{-1}\).

    Esta recursión es fácil de obtener. Aplicando la práctica identidad matricial

    \[(A+B C D)^{-1}=A^{-1}-A^{-1} B\left(D A^{-1} B+C^{-1}\right)^{-1} D A^{-1}\nonumber\]

    a la recursión para\(Q_{k+1}\) rendimientos

    \[Q_{k+1}^{-1}=Q_{k}^{-1}-Q_{k}^{-1} A_{k+1}^{\prime}\left(A_{k+1} Q_{k}^{-1} A_{k+1}^{\prime}+S_{k+1}^{-1}\right)^{-1} A_{k+1} Q_{k}^{-1}\nonumber\]

    Al definir

    \[P_{k+1}=Q_{k+1}^{-1}\nonumber\]

    esto se convierte

    \[P_{k+1}=P_{k}-P_{k} A_{k+1}^{\prime}\left(S_{k+1}^{-1}+A_{k+1} P_{k} A_{k+1}^{\prime}\right)^{-1} A_{k+1} P_{k}\nonumber\]

    que se llama la ecuación de Riccati (tiempo discreto).

    Interpretación

    Tenemos\(\widehat{x}_{k}\) y\({y}_{k+1}\) disponible para calcular nuestra estimación actualizada. Interpretando\(\widehat{x}_{k}\) como medida, vemos que nuestro modelo se convierte en

    \ [\ left [\ begin {array} {c}
    \ anchohat {x} _ {k}\\
    y_ {k+1}
    \ end {array}\ right] =\ left [\ begin {array} {c}
    I\\
    A_ {k+1}
    \ end {array}\ right] x+\ left [\ begin {array} {c}
    e_ {k}\\
    e_ {k+1}
    \ end {matriz} \ derecha]\ nonumber\]

    El criterio, entonces, por el cual elegimos\(\widehat{x}_{k+1}\) es así

    \[\widehat{x}_{k+1}=\operatorname{argmin}\left(e_{k}^{\prime} Q_{k} e_{k}+e_{k+1}^{\prime} S_{k+1} e_{k+1}\right)\nonumber\]

    En este contexto, se interpreta\({Q}_{k}\) como el factor de ponderación para la estimación anterior.


    This page titled 2.6: Mínimos cuadrados recursivos (opcional) is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Mohammed Dahleh, Munther A. Dahleh, and George Verghese (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.