¿Es posible calcular R-cuadrado en una regresión total de mínimos cuadrados?


8

Estoy usando la función Deming proporcionada por Terry T. en este hilo archivado de r-help . Estoy comparando dos métodos, por lo que tengo datos que se ven así:

y  x     stdy   stdx
1  1.2   0.23   0.67
2  1.8   0.05   0.89
4  7.5   1.13   0.44
... ...  ...   ...

He hecho mi regresión de Deming (también llamada "regresión total de mínimos cuadrados") y obtengo una pendiente e intercepción. Me gustaría obtener un coeficiente de correlación, así que he comenzado a calcular el . He ingresado manualmente la fórmula:R2

R2 <- function(coef,i,x,y,sdty){
    predy    <- (coef*x)+i
    stdyl    <- sum((y-predy)^2)   ### The calculated std like if it was a lm (SSres)
    Reelstdy <- sum(stdy)          ### the real stdy from the data  (SSres real)
    disty    <- sum((y-mean(y))^2) ### SS tot
    R2       <- 1-(stdyl/disty)    ### R2 formula
    R2avecstdyconnu <- 1-(Reelstdy/disty) ### R2 with the known stdy
    return(data.frame(R2, R2avecstdyconnu, stdy, Reelstdy))
}

Esta fórmula funciona y me da salida.

  • ¿Cuál de los dos s tiene más sentido? (Personalmente, pienso en ambos como algo parcial). R2
  • ¿Hay alguna manera de obtener un coeficiente de correlación a partir de una regresión total de mínimos cuadrados?

SALIDA DE LA REGRESIÓN MEDIA:

Call:
deming(x = Data$DS, y = Data$DM, xstd = Data$SES, ystd = Data$SEM,     dfbeta = T)

               Coef  se(coef)         z            p
Intercept 0.3874572 0.2249302 3.1004680 2.806415e-10
Slope     1.2546922 0.1140142 0.8450883 4.549709e-02

   Scale= 0.7906686 
> 

2
Dado que un coeficiente de correlación se puede calcular sin ninguna referencia a la regresión, ¿podría aclarar lo que quiere decir con "coeficiente de correlación"? Estoy tratando de averiguar si Pearson responderá a su pregunta o si está buscando algún tipo de "coeficiente de determinación" que sirva de análogo para los mínimos cuadrados . Si es lo último, ¿qué esperas que te diga este análogo? ρR2
whuber

Estoy tratando de ver qué tan bien y se correlaciona con x. Agregué mi resultado a la pregunta de la regresión deming (regresión total al mínimo cuadrado). Quiero poder decir que los dos métodos dan resultados similares en otras palabras.
Nico Coallier

Respuestas:


6

Para dar más detalles sobre la respuesta de Whuber anterior, Pearson le dará lo que desea. Determina qué tan bien se correlaciona con x usando un enfoque que es independiente del modelo de regresión :

ρX,Y=Cov(X,Y)σXσY

gx.rma del paquete rgr hará un total de mínimos cuadrados y calculará Pearson por usted (o puede continuar con Deming y hacerlo manualmente).

require(rgr)
set.seed(3)
x<-rnorm(101,mean=2.3,sd=4.2)
x<-x+seq(0,100) 
set.seed(3)
y<-rnorm(101,mean=4.9,sd=1.9)
y<-y+seq(6,206,length=101)

rma<-gx.rma(x,y)
rma$corr
[1] 0.9922014

Entonces, la respuesta básica a tu pregunta es, cuando hagas mínimos cuadrados totales, olvida R-cuadrado y solo usa Pearson. Siempre puede cuadrar eso si desea un resultado entre 0 y 1. Esto hará todo lo que necesita.

Dicho esto, elaboraré un poco, ya que entiendo que parece que deberíamos poder calcular un equivalente de R cuadrado.

Primero, intentemos una regresión de suma de cuadrados normal en los datos usando lm. Tenga en cuenta que da el mismo coeficiente de correlación que Pearson (después del enraizamiento cuadrado y solo se preocupa por la magnitud, obviamente).

ols<-lm(y~x)
sqrt(summary(ols)$r.squared)
[1] 0.9922014

Esto se calcula a partir del resultado del modelo lm utilizando el enfoque tradicional de suma de cuadrados

R2=1-SrmisStot

Entonces, siempre que use el modelo dado por lm, (Pearson) -squared y R-squared son equivalentes.

Sin embargo, si usa el modelo de la regresión de la suma total de cuadrados e intenta usar la última ecuación, obtendrá un resultado ligeramente diferente. Eso es obvio porque los mínimos cuadrados normales y totales usan diferentes funciones de minimización, por lo tanto, proporcione modelos con gradientes e intersecciones ligeramente diferentes. (Recuerde, la primera ecuación todavía dará el mismo resultado ya que solo está mirando los datos).

Sin embargo, aquí es donde me cuelgo. Si las dos ecuaciones dan el mismo resultado cuando se usa el modelo lm, entonces seguramente debe haber una formulación equivalente para la última ecuación, pero cuando se usa el modelo de mínimos cuadrados totales, ¿qué también da el mismo resultado?

Tuve un juego rápido con diferentes enfoques usando la función de minimización apropiada (como lo tiene el póster aquí: Coeficiente de determinación de una regresión ortogonal ), pero no puedo encontrar una manera de hacerlo, si hay una manera.

Quizás los dos nos estamos obsesionando con el hecho de que Pearson y R-cuadrado dan el mismo resultado cuando se usan mínimos cuadrados normales, y simplemente no hay una forma de hacer R-cuadrado en mínimos cuadrados totales, lo que dará el mismo resultado como Pearson Pero no sé lo suficiente sobre esto para decir por qué no.


Gracias por su respuesta, pero ... sigo pensando que gx.rma no es apropiado para lo que estoy tratando de hacer, por eso utilizo la regresión deming. Porque no entiendo cómo el gx.rma realmente explica el error estándar conocido ... Pero podría ser que no entiendo algo aquí ... Tendré que comprobarlo cuando tenga tiempo
Nico Coallier

1
El punto es que puede calcular un coeficiente de correlación entre x e y (que usted menciona) sin la necesidad de ninguna regresión . Creo que está obsesionado con la diferencia de una correlación entre los datos y una evaluación de la calidad de la regresión: no son necesariamente lo mismo. Pearson ^ 2 le da el primero y, en el caso de LS normal (con lm), es lo mismo que R ^ 2. Para el ortogonal-LS, no lo son. Entonces preguntando por la correlación coeff. y R ^ 2 (especialmente ahora que menciona el error estándar) son en realidad dos preguntas diferentes. Es posible que desee reformular el OP.
Mooks

Podría no haber sido lo suficientemente claro ... lo que quiero hacer es el Pearson. Pero lo que me molesta es que no hay R ^ 2 para la regresión total de mínimos cuadrados. Uso el mínimo cuadrado total para ajustar mi coeficiente (pendiente). Pero usaré el Pearson para la correlación como usted sugirió. Gracias
Nico Coallier

Entiendo, ¡es algo que también me está molestando! Creo que también debería haber una fórmula equivalente para dar un R2 para los mínimos cuadrados totales, pero probablemente no lo entiendo completamente. Sin embargo, si solo desea ajustar su pendiente, entonces podría usar la función de minimización que es la base del LS total en Deming. Pruebe mathworld.wolfram.com/… o arxiv.org/pdf/math/9805076.pdf . También podría considerar el análisis de componentes principales con prcomp o princomp: es básicamente lo mismo y tal vez eliminen algo que ayude.
Mooks

1

Usando el paquete "mcr"

y usando la función para generar su modelo de regresión deming

yourmodel<-mcreg(x, y, ...) # you need to be familiar with the various types of deming constant SD or CV%. these can give very different results. But that's different question.

y produciendo una trama usando la función

MCResult.plot(your model)

Esto muestra la correlación del momento de producción de Pearson en la gráfica del modelo, que le indica la fuerza y ​​la dirección de la relación lineal entre sus dos variables x, y, pero no proporciona la proporción de la variación que se explica.

Espero que ayude.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.