3 votos

Cómo combinar distribuciones normales en datos bidimensionales

Mi objetivo es estimar la capacidad de clic (el porcentaje de espectadores que han hecho clic) de un anuncio específico en una nueva página web basándome en datos históricos. La naturaleza de mis datos es tal que cada página web está categorizada por dos parámetros: el sitio en el que se encuentra (por ejemplo, stackoverflow.com) y el tipo de página (deportes, entretenimiento, etc.). Conozco la cliqueabilidad de mi anuncio en muchas páginas a partir de mis datos históricos, y me gustaría predecirla para una nueva página de la que no tengo suficientes datos.

Dado que cada página web se caracteriza por dos parámetros, puedo resumir mis datos en una matriz de muestreo bidimensional M'(X,Y), donde cada punto de datos de la matriz es la capacidad de clic del anuncio en la combinación específica de sitio web y tipo de página. Por ejemplo, si sé que la media de las tasas de clics en páginas del tipo Programación en Stackoverflow.com es 0,5, cuando obtenga una nueva página que se ajuste a esos parámetros "adivinaré" 0,5 como la tasa de clics de mi anuncio en esa página. Cuando miro la distribución de las tasas de clics en una combinación específica de sitio y tipo de página, se distribuye normalmente en una bonita forma de campana - Así que, de hecho, mi suposición es el estimador medio de la distribución normal que es específica para esos parámetros.

Mi problema surge cuando no dispongo de suficiente información en una coordenada concreta de la matriz M'(X,Y) para obtener una estimación robusta del estimador de la media - Por ejemplo cuando dispongo de datos históricos sólo para 2 páginas web de tipo entretenimiento en stackoverflow. En ese caso, y suponiendo que tengo una nueva página en Stackoverflow que es una página de entretenimiento - Puedo estimar la distribución normal de ese anuncio en stackoverflow e independientemente estimar la distribución en páginas de tipo entretenimiento en todos los sitios web (No sólo stackoverflow). La pregunta es ¿cómo combinar los dos estimadores de la media normal?

He aquí un ejemplo concreto: enter image description here

Cada número de la matriz representa la tasa de clics de mi anuncio en una página web específica, basándome en datos anteriores en los que conté las visitas y los clics en esa página web específica. Cada coordenada de la matriz representa el porcentaje de clics en todas las páginas web de la combinación específica de sitio y tipo de página. Para simplificar, he hecho que el número de páginas web en cada combinación de parámetros sea pequeño, pero normalmente tiene un tamaño entre 0 y 1000. Mi objetivo es obtener los parámetros de media y varianza que mejor describan una coordenada específica, incluso para coordenadas con pocos o ningún dato (como stackoverflow/entretenimiento o cnn/programación). Por ejemplo, la estimación de la media para stackoverflow y programming sería ~0,5 con una desviación estándar de alrededor de 0,1.

¿Cómo podría lograrse? ¿Existe una "forma correcta" de combinar los estimadores de cada dimensión? La mayoría de las soluciones que he encontrado en Internet se refieren a cómo combinar dos muestras de la misma distribución normal, por ejemplo, el método de la varianza inversa. Esto no parece muy correcto en mi caso, ya que cada distribución normal describe una dimensión distinta de datos bidimensionales.

Otra posible solución que no parece correcta es Combinación de dos gaussianas . Si una dimensión tiene datos de 1 millón de páginas web y la otra de 1.000, la primera dominaría el resultado combinado, a pesar de que 1.000 páginas web son suficientes para obtener una estadística sólida y, por tanto, deberían tener el mismo peso que la otra dimensión al combinarlas.

¿Existe alguna solución sólida para este problema?

2voto

JanithaR Puntos 141

Esto no es realmente una respuesta completa, pero tal vez es más fácil de leer que el relleno en los comentarios

Planteamiento del problema:

a) Así que sus datos brutos son de la forma

----------
Top-level Site | Theme| Page id | #Clicks| #Impressions
----------

y se reúnen todas las páginas para ese (sitio de nivel superior, tema) juntos (sin tener en cuenta el número de impresiones en cada página)

b) los datos no proceden de un experimento propiamente dicho, por lo que se plantean problemas de desequilibrado diseño. Esto es especialmente grave porque se trata de los datos del sitio web (por ejemplo, ciertos temas / sitios de nivel superior tendrá muchos pedidos más páginas que otros )

Pregunta sobre el problema: Cómo encontrar una estimación de la tasa de clics (CTR) para las combinaciones de (sitio de nivel superior , tema) que tienen pocas páginas - a saber, mediante la combinación de una estimación basada en el tema con una estimación basada en el sitio de nivel superior, en particular, que trata de la desequilibrado diseño.

Problema Respuesta:

Debería utilizar un modelo de regresión; en concreto, la regresión logística sería la opción natural para estimar una probabilidad. A CTR ~ top level site + theme le facilitará dicho presupuesto. Puede que le baste con un único modelo de CTR ~ top level site + theme + top level site x theme esto utilizará las interacciones cuando haya suficientes datos y las dimensiones individuales de forma aditiva si no.

No estoy seguro de si el modelo de regresión tendrá algún problema con la desequilibrado diseño - tal vez los miembros más experimentados puedan intervenir.

Predecir los clics: Estimación del porcentaje de clics de los nuevos anuncios

Predicción bayesiana de la tasa de clics a escala web para la publicidad de búsquedas patrocinadas en el motor de búsqueda Bing de Microsoft

el segundo documento pretende abordar más específicamente su problema de desarrollar un modelo general para rellenar los huecos en los que le faltan puntos de datos. Sin embargo, un modelo de regresión logística de CTR~ site + theme + site x theme podría funcionar bien (es decir, el modelo intenta predecir el CTR con el sitio y el tema por separado )

Algunas observaciones

una hipótesis estándar para los datos de clics es que siguen una distribución binomial con parámetros (N = número de pruebas, es decir, impresiones, p = proporción teórica de aciertos, es decir, clics), así que asegúrese de que se siente cómodo con ello.

incluso si sus datos son generados por el mismo proceso teórico (igual p) su estimación (a partir de los datos) de p variará - con una cantidad de variación dependiente del número de muestras ( y valor de p) (ver p.e. proporción binomial intervalo de confianza ). Es posible que desee revisar sus diferentes muestras de la tasa de clics basado en esto ( es decir, para cada combinación de sitio / tema por ejemplo {0,3,0,25} es la variación en la muestra ctr sólo debido a la variación estadística ( muy pocas impresiones).

Si realmente desea modelar el CTR como aleatorio, la distribución beta es una mejor opción que la distribución normal. (La distribución normal para el CTR no tiene en cuenta la variabilidad debida a los diferentes tamaños de muestra, y que el ctr debe estar entre cero y 1)

podría crear un modelo de regresión lineal (u otro modelo estadístico) para cada parámetro (por ejemplo mu ~ site + theme +site x theme ) ver p. ej. Previsión del panorama de ofertas en el mercado de intercambio de anuncios en línea

Como espero que quede claro en los documentos enlazados, se trata de un enfoque bastante habitual para las empresas de publicidad web, por lo que es definitivamente "a escala web".

Sobreajuste con 1000 x 1000 variables ficticias El sobreajuste no es un problem, precisamente porque la mayoría de las entradas son cero. El sobreajuste se controla, por ejemplo, con la regularización L2 (que aplica una penalización a los coeficientes, con el efecto de que un coeficiente sólo será distinto de cero si reduce suficientemente el error global: jugando con esta regularización se puede garantizar que se ignoren las combinaciones con pocas impresiones).

la representación de alta dimensión (pero dispersa) de las variables ficticias requiere que pase su entrada a la regresión logística en un formato disperso (como una matriz dispersa) o como un diccionario, de lo contrario se quedará sin memoria.

1voto

AusTravel Puntos 6

A menos que haya malinterpretado completamente tu pregunta, me parece que podrías enfocar esto como un problema de valores omitidos ( datos incompletos ). Si este es el caso, el problema puede resolverse utilizando las correspondientes métodos como imputación múltiple . Dependiendo de si sus datos son normal o no normal podría utilizar un R para imputar los datos que faltan, como por ejemplo Amelia / Amelia II ( http://cran.r-project.org/web/packages/Amelia ) o mice ( http://cran.r-project.org/web/packages/mice ). Ambos paquetes son muy flexible y apoyar una variedad de tipos de datos y modelos de imputación/regresión . Si sus datos son normales, pero no se siente cómodo programando en R , Amelia tiene un versión GUI interactiva que puede ser suficiente para sus propósitos.

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