10 votos

El modelo de regresión lineal da erróneamente un valor de $R^2$ igual a 1

Estoy utilizando R para crear un modelo de regresión lineal a partir de datos de encuestas sobre el sentimiento público hacia una nueva tecnología. Me encuentro con un problema donde la adición de una nueva variable explicativa aumenta el valor de $R^2$ del modelo de 0.52 a precisamente 1. Esto es absurdo, pero soy nuevo en esto y no puedo entender qué está pasando.

La encuesta hace varias preguntas sobre la demografía, valores y conocimientos técnicos. Estos elementos se convierten en las variables explicativas en el modelo. La mayoría son variables dummy o escalas likert que van de 1 a 7 (lo que significa que para cada una de estas preguntas, cada encuestado elige un número entre 1 y 7). La encuesta también pregunta a los encuestados en qué medida apoyarían la inversión del gobierno en la nueva tecnología. Esa pregunta se convierte en la variable dependiente en el modelo. También es una escala likert que va de 1 a 7.

Estoy utilizando la función lm() de R para regresar las variables de conocimiento, demografía y valores contra la variable de apoyo a la nueva tecnología. La forma funcional es:

lm(support~demographics+values+knowledge,data=survey). 

De aproximadamente 2000 respuestas a la encuesta, quedan 900 después de descartar los valores NA. Creé un modelo que comprende aproximadamente 20 variables explicativas, con un valor de $R^2$ de 0.52. Luego, agregué una 21ª variable explicativa, y el $R^2$ saltó a 1. Cuando hago una regresión simple de solo esta nueva variable y la variable dependiente, el $R^2$ es 0.67. ¿Qué podría estar pasando?

14voto

Christoph Hanck Puntos 4143

Mi intuición sería que tu 21ª variable ha dado lugar a una combinación lineal que explica perfectamente la variable dependiente. Intenta:

x1=c(1:7,0)
y=1:8
summary(lm(y~x1-1))

x2=c(rep(0,7),8)
summary(lm(y~x1+x2-1))
plot(x1,y)
plot(x2,y)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X