4 votos

Predicciones fuera de muestra para modelos de regresión logística en R

Tengo un problema del tipo "¿cuál es la probabilidad de que a un usuario le "guste" una determinada película?" Para un grupo de usuarios, conozco las películas que cada uno ha visto históricamente, y las películas que le han gustado a cada uno. Además, para cada película conozco el nombre del director.

Calibré una regresión logística para cada usuario del formulario:

glm(liked_by_user_1 ~ liked_by_user_2 + ... + liked_by_user_k + factor(director), family=binomial, data = subset(MovieWatchings, user_id == 1))

Pero mi problema es: digamos que en el pasado, el usuario 1 ha visto películas de directores D1 a través de DM pero el mes que viene U1 ve una película dirigida por DN ? En ese caso el R predict() dará un error, porque el modelo glm para el usuario 1 no tiene un parámetro estimado para el caso de director = DN . Pero debo saber algo sobre U1's probabilidad de que le guste la nueva película, porque todavía sé qué otros usuarios han visto y les ha gustado esta película, y eso tiene cierto poder predictivo.

¿Cómo puedo configurar mi modelo de manera que pueda tener en cuenta el comportamiento de los otros usuarios y las preferencias del usuario 1 en cuanto a los directores, pero que siga teniendo predicciones razonables cuando el usuario 1 vea su primera película de un nuevo director? ¿Es la regresión logística el tipo de modelo adecuado para este caso?

1voto

Ted Puntos 854

Si no sabes nada del director N (es decir, si hace películas similares a las del director G) me parece que tu mejor oportunidad sería sustituirlo por factor(director) en su predictor lineal el valor "medio" de los coeficientes del director. Esto requeriría estimar quién es el director medio y utilizarlo en lugar del DN.

Como alternativa, se puede ajustar el modelo sin el factor(director) como variable explicativa en absoluto. Si el propósito es predecir un valor basado en un determinado conjunto de variables explicativas, no es bueno incluir en el modelo algo que no va a estar disponible para el predictor.

Un último comentario, que no forma parte realmente de la "respuesta" a su pregunta: parece probable que las variables liked_by_user_2 ... liked_by_user_k serán altamente colineales. La colinealidad puede causar estragos en los modelos de predicción; una de las razones por las que generalmente se prefieren los modelos parsimoniosos para fines de predicción. El que esto sea un problema para usted (y lo que deba hacerse al respecto) depende de lo grande que sea k en comparación con el tamaño de su muestra.

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