¿Cómo debo interpretar esta trama residual?

8

No puedo interpretar este gráfico. Mi variable dependiente es el número total de entradas de cine que se venderán para un espectáculo. Las variables independientes son el número de días que quedan antes del espectáculo, las variables ficticias de estacionalidad (día de la semana, mes del año, vacaciones), precio, boletos vendidos hasta la fecha, clasificación de películas, tipo de película (suspenso, comedia, etc.) como muñecos. ) Además, tenga en cuenta que la capacidad de la sala de cine es fija. Es decir, puede alojar un máximo de x número de personas solamente. Estoy creando una solución de regresión lineal y no se ajusta a mis datos de prueba. Entonces pensé en comenzar con el diagnóstico de regresión. Los datos provienen de una sola sala de cine para la que quiero predecir la demanda.

El es un conjunto de datos multivariante. Para cada fecha, hay 90 filas duplicadas, que representan días antes del espectáculo. Entonces, para el 1 de enero de 2016 hay 90 registros. Hay una variable 'lead_time' que me da la cantidad de días antes del espectáculo. Entonces, para el 1 de enero de 2016, si lead_time tiene un valor de 5, significa que tendrá entradas vendidas hasta 5 días antes de la fecha del espectáculo. En la variable dependiente, total de boletos vendidos, tendré el mismo valor 90 veces.

Además, como comentario adicional, ¿hay algún libro que explique cómo interpretar la trama residual y mejorar el modelo después?

ingrese la descripción de la imagen aquí

Entusiasta
fuente
55
¿Puedes decir algo sobre tu situación, los datos y el modelo? De lo contrario, ¿cómo podríamos interpretar el gráfico?
gung - Restablecer Monica
1
Expanda el eje x hacia afuera (o "acercar"); Creo que verá "rayas" en los residuos.
blackeneth
Parece una versión de stats.stackexchange.com/questions/25068 . Para proporcionar respuestas útiles, necesitamos más detalles.
whuber
¿Existe un número total fijo de boletos que podrían venderse?
gung - Restablece a Monica
@gung, sí, ya que la capacidad de la sala de cine es fija, es decir, número de asientos. Estoy agregando eso a la pregunta ahora, ya que podría explicar mejor la pregunta. ¡Gracias!
Entusiasta

Respuestas:

4

La trama es muy densa, por lo que no es fácil ver todas las tendencias que pueda haber. Puede ejecutar pruebas alternativas de hetoroscedasticidad y autocorrelación para obtener diagnósticos adicionales.

Lo que es visible es que en los primeros 100 valores más o menos, la varianza del residuo residual aumenta, lo que puede insinuar la hetoroscedasticidad. Después, la varianza parece disminuir nuevamente. Este comportamiento un tanto no lineal de la varianza también puede indicar la necesidad de una forma funcional diferente (por lo que quizás sea polinomial en lugar de lineal). Otra indicación de esto es la tendencia en los residuos que observa en el extremo superior de los valores ajustados (ya no hay residuos positivos).

tomka
fuente
El rasgo polinomial parece una idea razonable y la justificación dada para eso tiene sentido. ¡Gracias!
Entusiasta
Y sí, hay datos de autocolinealidad y heterocedabilidad en los datos que estoy tratando de corregir ahora.
Entusiasta
@Entusiasta Feliz, esto ayudó. Me gustaría saber cuál fue el conjunto final de soluciones que llevaron a resolver este problema (una vez que haya terminado)
tomka
En realidad estoy usando el enfoque de diagnóstico del modelo sugerido aquí. stats.stackexchange.com/a/189116/68444
Entusiasta
y aquí está la siguiente etapa de mi problema stats.stackexchange.com/questions/235562/…
Entusiasta
12

Su gráfica residual tiene un patrón definido, con varias líneas con tendencia descendente a medida que aumentan los valores ajustados. Este patrón puede ocurrir si no tiene en cuenta los efectos fijos / aleatorios en su modelo y los efectos fijos están correlacionados con variables explicativas. Considere el siguiente ejemplo:

set.seed(999)

N = 1000
num.groups = 10

alpha = runif(num.groups, -10, 10) #Fixed effects
beta = 10 #Slope parameter
group = sample(num.groups, N, replace = TRUE)

X = rnorm(N, mean = alpha[group], sd = 5) #Mean of X correlated with fixed effect
e = rnorm(N, sd = 1)
y = alpha[group] + X * beta + e

df = data.frame(group = as.factor(group), X, y)

m.no.fe = lm(y ~ X, data = df) #Not including group fixed effects
plot(m.no.fe, which = 1)

Esto da como resultado la siguiente gráfica residual / ajustada: res_fitted_nofe

Es posible que vea algo similar si, por ejemplo, retrocedió los puntajes del SAT en las ganancias de entrada de varias escuelas secundarias pero no incluyó los efectos fijos de la escuela secundaria; cada escuela tendrá diferentes ingresos de referencia (es decir, efectos fijos) y puntajes promedio de SAT, que probablemente estén correlacionados.

Incluyendo efectos fijos grupales, obtenemos

m.fe = lm(y ~ group + X, data = df) #Now including fixed effects
plot(m.fe, which = 1)

lo que da una mejor parcela residual / ajustada:

res_fitted_fe

tkmckenzie
fuente
44
Esto podría ser correcto, pero me parecen líneas perfectamente rectas. Supongo que Y es un recuento, o un recuento de "éxitos" de un número fijo de pruebas (es decir, el modelo es incorrecto). No lo sabremos hasta que el OP diga más sobre los datos y el modelo.
gung - Restablecer Monica
@tkmckenzie, ¿quiere decir que necesito crear más variables en el modelo?
Entusiasta
6

El gráfico residual parece inusual desde el punto de vista de la regresión estándar OLS (lineal). Hay, por ejemplo, una indicación de heterocedasticidad, específicamente que la propagación de los residuos es mayor en el medio que en los dos extremos. Sin embargo, este no es el verdadero problema.

El verdadero problema aquí es que se ha ajustado al modelo incorrecto. La regresión de OLS se basa en el supuesto de que la respuesta se distribuye normalmente (condicional en los regresores, es decir, suXvariables). Su respuesta no es normal y no puede serlo. Su respuesta es una cantidad de asientos vendidos de un número total de asientos en el teatro. Tu respuesta es binomial . Un binomio no se puede modelar correctamente con OLS. Necesita ajustar un modelo de regresión logística .

Habrá algunos problemas adicionales que deberá abordar. Un par que se desprende de su descripción es que tiene observaciones agrupadas, en el sentido de que tiene múltiples observaciones para el mismo programa (es decir, durante los 90 días). Debe abordar esta no independencia, tal vez ajustando un GLMM . Otro problema es que habrá una dependencia entre días sucesivos dentro del mismo programa. Después de todo, si has vendidoyd entradas el día d, habrás vendido al menos esa cantidad el día d+1. Una forma de tratar de abordar esto es ajustar solo 89 días de datos e incluir el número del día anterior como una covariable. (Lo sentimos, al releer la pregunta, veo que ya has incluido entradas vendidas hasta la fecha variable).

Es muy posible que se aborden más problemas al modelar sus datos. Estos son temas bastante avanzados; Si no está familiarizado con ellos, es posible que deba trabajar con un consultor estadístico.

gung - Restablece a Monica
fuente
Mis datos tienen distribución gamma tal como aparece en los resultados de fitdistrplus () y qqplot (). stats.stackexchange.com/questions/234866/…
Entusiasta
@Entusiasta, estoy familiarizado con fitdistrplus. Si sus datos de respuesta son un número de asientos vendidos de un número total de asientos posibles, entonces son binomiales. Eso es todo lo que hay que hacer. La distribución gamma es compatible con(0,). Tus datos podrían tener0asientos vendidos, no pueden tener3.5asientos vendidos, y no se pueden vender más asientos de los que existen en el teatro. Sus datos no pueden ser gamma.
gung - Restablece a Monica