¿Cómo modelar la variable objetivo limitada?


17

Tengo 5 variables y estoy tratando de predecir mi variable objetivo que debe estar dentro del rango de 0 a 70.

¿Cómo uso esta información para modelar mejor mi objetivo?

Respuestas:


21

No necesariamente tienes que hacer nada. Es posible que el predictor funcione bien. Incluso si los extrapola de predicción a valores fuera de la gama, posiblemente de sujeción las predicciones a la gama (es decir, uso en lugar de y ) se hacen bien. Haga una validación cruzada del modelo para ver si esto funciona.max(0 0,min(70,y^))y^

Sin embargo, el rango restringido plantea la posibilidad de una relación no lineal entre la variable dependiente ( ) y las variables independientes ( x i ). Algunos indicadores adicionales de esto incluyen:yXyo

  • Variación mayor en los valores residuales está en la mitad de su rango, en comparación con la variación en los residuos en cada extremo de la gama.y^

  • Razones teóricas para relaciones no lineales específicas.

  • Evidencia de especificación errónea del modelo (obtenida de las formas habituales).

  • Importancia de los términos cuadráticos o de orden superior en Xyo .

Considere una reexpresión no lineal de en caso de que se cumpla alguna de estas condiciones.y

Hay muchas formas de volver a expresar para crear relaciones más lineales con x i . Por ejemplo, cualquier función creciente f definida en el intervalo [ 0 , 70 ] se puede "plegar" para crear una función creciente simétrica mediante y f ( y ) - f ( 70 - y ) . Si f se vuelve arbitrariamente grande y negativo a medida que su argumento se acerca a 0 , la versión plegada de f asignará [ 0 , 70 ]yXyoF[0 0,70]yf(y)f(70y)f0f[0,70]en todos los números reales. Ejemplos de tales funciones incluyen el logaritmo y cualquier poder negativo. Usar el logaritmo es equivalente al "enlace logit" recomendado por @ user603. Otra forma es dejar que sea ​​el CDF inverso de cualquier distribución de probabilidad y definir f ( y ) = G ( y / 70 ) . El uso de una distribución Normal da la transformación "probit".Gf(y)=G(y/70)

Una forma de explotar las familias de transformaciones es experimentar: pruebe una posible transformación, realice una regresión rápida de la transformada frente a la x i , y pruebe los residuos: deben parecer independientes de los valores predichos de y (homoscedastic y no correlacionados ) Estos son signos de una relación lineal con las variables independientes. También ayuda si los residuos de los valores pronosticados con transformación inversa tienden a ser pequeños. Esto indica que la transformación ha mejorado el ajuste. Para resistir los efectos de los valores atípicos, utilice métodos de regresión robustos, como los mínimos cuadrados repesados ​​de forma iterativa .yxiy


1
+1 Gran respuesta! ¿Puede extrapolar o dar una cita de por qué "una mayor variación en los valores residuales cuando y_hat está en el medio de su rango, en comparación con la variación en los residuos en cualquier extremo del rango" es una indicación de no linealidad?
Andy McKenzie

1
@Andy En teoría, dicha heterocedasticidad no tiene conexión directa con la no linealidad, pero en la práctica a menudo se observa que una transformación estabilizadora de la varianza tiende a linealizar las relaciones. Cualquier curva que se eleve continuamente de un mínimo (como 0) a un máximo (como 70) tendrá una pendiente máxima en algún lugar en el medio de ese rango, lo que a menudo resulta en una mayor variación residual allí también. Es por eso que esperaríamos ver residuos para exhibir más variación en el medio y menos en los extremos. Si ese no es el caso, podemos esperar relaciones lineales con la variable no transformada .
whuber

5

Es importante tener en cuenta por qué sus valores están limitados en el rango 0-70. Por ejemplo, si son el número de respuestas correctas en una prueba de 70 preguntas, entonces debe considerar modelos para variables de "número de éxitos", como la regresión binomial sobredispersada. Otras razones pueden llevarlo a otras soluciones.


2

Transformación de datos: cambie la escala de sus datos para que se encuentren en [0,1] y modele usando un modelo glm con un enlace logit.

Editar: cuando vuelva a escalar un vector (es decir, divida todos los elementos por la entrada más grande), por regla general, antes de hacerlo, pantalla (globos oculares) para valores atípicos.

ACTUALIZAR

glmrob()robustbase


3
Sujetar los datos como se recomienda aquí sesgará las pendientes en una regresión.
whuber

1
Además, no veo el valor inmediato en la sujeción basada en cuantiles de muestra, cuando el rango real de los datos se conoce a priori.
cardenal

@Cardinal El punto es que (por ejemplo) posiblemente el 99% de los datos se encuentran en [0,1] y los valores restantes equivalen a 70: ¡una restricción compacta en el rango no asegura la ausencia de valores atípicos! Por lo tanto, estoy de acuerdo con el espíritu del consejo ofrecido por @ user603, a pesar de mi preocupación por el posible sesgo en el enfoque propuesto.
whuber

@whuber: Mi inclinación en tal entorno sería usar un GLM que fuera resistente a los valores atípicos en lugar de esta forma de sujeción. Luego, deje que el ajuste del modelo se ajuste mediante la "intersección" y el coeficiente de "pendiente".
Cardenal

@ Cardenal Sí, esa es una solución válida. Espero que el uso de tal GLM todavía esté acompañado de procedimientos de diagnóstico para verificar la linealidad (aproximada) y la independencia de los residuos.
whuber
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.