2011-07-29 38 views
5

No encontré una función para calcular la regresión ortogonal (TLS - Total Least Squares).Cómo calcular los mínimos cuadrados totales en R? (Regresión ortogonal)

¿Hay un paquete con este tipo de función?

Actualización: Me refiero a calcular la distancia de cada punto simétricamente y no asimétricamente como lm() hace.

+1

Sería justo para proporcionar enlaces a sus preguntas anteriores sobre stats.SE, por ejemplo, [¿Cómo funciona princomp()?] (Http://stats.stackexchange.com/questions/13152/how-princomp-works), ya que ya tienes algunas pistas allí. – chl

Respuesta

3

dos respuestas:

  1. gx.rma en el paquete rgr parece hacer esto.
  2. Brian Ripley ha dado un succinct answer on this thread. Básicamente, estás buscando PCA, y sugiere princomp. Yo también.
+1

Creo que la aplicabilidad de la respuesta de Ripley depende de lo que @Dail signifique por mínimos cuadrados totales y regresión ortogonal. Ripley califica su respuesta ... –

+0

@Gavin, cierto. Lo que Ripley también insinuó es que el solicitante no tenía una comprensión firme de TLS o PCA. Era una pregunta abierta si era la solución correcta (o incorrecta) al problema/pregunta incorrecta (o correcta). – Iterator

+0

El enlace en esta respuesta está roto y parece que no puedo encontrar la nueva URL, si hay alguna. Sin embargo, este otro describe probablemente el mismo enfoque o similar utilizando PCA: https://www.inkling.com/read/r-cookbook-paul-teetor-1st/chapter-13/recipe-13-5 –

5

Es posible que desee considerar la función Deming() en el paquete MethComp [function info]. El paquete también contiene una derivación detallada de la teoría detrás de la regresión de Deming.

continuar la búsqueda de los archivos de R también proporcionan un montón de opciones:

Sus múltiples preguntas sobre validación cruzada, aquí y R-Ayuda implica que es necesario trabaje un poco más para describir exactamente lo que quiere hacer, ya que los términos "Mínimos cuadrados totales" y "regresión ortogonal" conllevan cierto grado de ambigüedad sobre la técnica real deseada.

1

que tiene la siguiente solución de esta url:

https://www.inkling.com/read/r-cookbook-paul-teetor-1st/chapter-13/recipe-13-5

r <- prcomp(~ x + y) 
    slope <- r$rotation[2,1]/r$rotation[1,1] 
    intercept <- r$center[2] - slope*r$center[1] 

Básicamente Performa PCA que se ajuste a una línea entre x e y minimizando los residuos ortogonales. Luego puede recuperar la intersección y la pendiente para el primer componente.

Cuestiones relacionadas