¿Por qué la regresión lineal no puede predecir el resultado de una secuencia determinista simple?

9

Un colega mío me envió este problema aparentemente haciendo las rondas en Internet:

If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ?

La respuesta parece ser 200.

3*6  
4*8  
5*10  
6*12  
7*14  
8*16  
9*18  
10*20=200  

Cuando hago una regresión lineal en R:

data     <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98))  
lm1      <- lm(b~a, data=data)  
new.data <- data.frame(a=c(10,20,30))  
predict  <- predict(lm1, newdata=new.data, interval='prediction')  

Yo obtengo:

  fit      lwr      upr  
1 154 127.5518 180.4482  
2 354 287.0626 420.9374  
3 554 444.2602 663.7398  

Entonces mi modelo lineal predice .10=154

Cuando trazo los datos parece lineal ... pero obviamente asumí algo que no es correcto.

Estoy tratando de aprender cómo usar mejor los modelos lineales en R. ¿Cuál es la forma correcta de analizar esta serie? ¿Qué hice mal?

Brett Phinney
fuente
77
Ejem . (i) La expresión del problema no tiene sentido. ¿Cómo puede 3 = 18? Seguramente la intención es algo así como ; (ii) si puede ver lo suficiente para escribir 18 = 3 × 6 , 32 = 4 × 8 , etc., seguramente puede ver lo suficiente para dividir el segundo término en cada uno de esos ( 6 = 3 × 2 , 8 = 4 × 2 , y así sucesivamente) para luego escribir: 18 = 3 × 3 × 2 , 32 =f(3)=1818=3×632=4×86=3×28=4×218=3×3×2 , etc., einstantáneamentedetecta la cuadrática, f ( x ) = 2 x 2 . (¡Hiciste la parte difícil, el siguiente paso es aún más simple!)32=4×4×2f(x)=2x2
Glen_b -Reinstate Monica
44
Además, ¿especificó el problema un criterio mínimo de contenido de información en la respuesta? Si recuerdo mis matemáticas correctamente, hay una cantidad infinita de funciones que se ajustan a estos puntos, y todas dan respuestas diferentes para . Normalmente no soy pedante, pero los correos electrónicos que me hacen perder el tiempo lo merecen. f(10)
estrella brillante
1
@TrevorAlexander si cree que esta pregunta es una pérdida de tiempo, ¿por qué molestarse en responderla? Claramente, algunas personas lo encuentran interesante.
jwg
@jwg porque alguien está equivocado en internet . ;)
estrella brillante

Respuestas:

23

Un modelo de regresión, como el que se ajusta lm()implícitamente, supone que el proceso de generación de datos subyacente es probabilístico . Está asumiendo que la regla que está tratando de modelar es determinista . Por lo tanto, hay una falta de coincidencia entre lo que está tratando de hacer y la forma en que está tratando de hacerlo.

Hay otro software (es decir, no R) que está diseñado explícitamente para encontrar / ajustar la función más simple a los datos deterministas (un ejemplo sería Eureqa ). Puede haber un paquete R para eso (que no conozco), pero R está destinado al modelado estadístico de datos probabilísticos.

En cuanto a la respuesta que lm()le dio, parece razonable y podría ser correcta. Sin embargo, el contexto en el que se presentó este problema implicaba que debería entenderse como determinista. Si ese no hubiera sido el caso, y se preguntaba si el ajuste era razonable, una cosa que podría notar es que los dos puntos de datos extremos están por encima de la línea de regresión, mientras que los datos del medio están por debajo. Esto sugiere una forma funcional mal especificada. Esto también se puede ver en los gráficos residuales vs. ajustados ( plot(lm1, which=1):

ingrese la descripción de la imagen aquí

En cuanto al modelo ajustado por @AlexWilliams, se ve mucho mejor:

ingrese la descripción de la imagen aquí

gung - Restablece a Monica
fuente
17
+1 La trama residual cuenta la historia de tal manera que no se la puede perder. De hecho, muestra por qué el 'aspecto lineal' del OP a menudo es engañoso: muchas funciones curvas pueden verse 'casi rectas' si solo observamos algunos puntos que no están cerca de un punto de inflexión. Si crees que es lineal, ¡saca esa línea y mira lo que queda!
Glen_b -Reinstate Monica
1
¡Información increíblemente útil! Gracias, realmente lo aprecio
Brett Phinney
1
Esto no tiene absolutamente nada que ver con la distinción entre datos probabilísticos y deterministas. La regresión lineal encajaría y extrapolaría datos deterministas si fuera lineal. No podría predecir bien los datos probabilísticos si el modelo subyacente fuera cuadrático.
jwg
3
norte(norte-1)
No creo que esté buscando un ajuste perfecto. Él está tratando de entender por qué el valor extrapolado está tan lejos.
jwg
22

La tendencia es cuadrática no lineal. Tratar:

lm1 <- lm(b~I(a^2), data=data)

Actualización: Aquí está el código.

data <- data.frame(a=c(3,4,5,6,7),b=c(18,32,50,72,98))
lm1 <- lm(b~I(a^2), data=data)
new.data <- data.frame(a=c(10,20,30))
predict(lm1, newdata = new.data, interval='prediction')

Y salida:

   fit  lwr  upr
1  200  200  200
2  800  800  800
3 1800 1800 1800
Alex Williams
fuente
Esta respuesta me parece un poco circular: el objetivo del problema es reconocer el comportamiento cuadrático. Usted señala correctamente que una vez que se especifica el comportamiento cuadrático, la regresión lineal puede encontrar los coeficientes. Pero, de hecho , ya hizo el análisis crucial cuando escribió la primera línea de esta respuesta.
whuber
55
@whuber: la pregunta es por qué falla un modelo lineal. Falla porque la forma funcional no es lineal, es cuadrática. Quería dar la respuesta simple y al grano. La respuesta de Gung hace un buen trabajo al entrar en detalles, y muestra cómo puede usar las parcelas residuales para obtener un mejor modelo. (Lo acabo de hacer en papel y lápiz). Estoy de acuerdo en que su respuesta es más detallada y completa y la he votado.
Alex Williams
13

Dudo en agregar a las excelentes respuestas dadas por Alex Williams y Gung, pero hay otro punto que debería pensar. La pregunta usa las frases 'regresión lineal' y 'modelo lineal', posiblemente sugiriendo que significan lo mismo. Sin embargo, el significado habitual de 'regresión lineal' se refiere al Modelo de regresión lineal clásico (CLRM) en el que 'lineal' significa 'lineal en los parámetros'. Esta es una condición en los parámetros, no en las variables independientes. Entonces, un modelo cuadrático como:

Yyo=β1+β2Xyo2

β1β2

Yyo=β1+β2Xyo

Xyo

Adam Bailey
fuente
1
Siempre me cuesta recordar esto. Esta es una gran adición a las otras respuestas.
naught101