que implementar hipervinculos hipervinculo externo ejemplos crear como math probability

math - implementar - Determinando de forma eficiente la probabilidad de que un usuario haga clic en un hipervínculo



href html ejemplos (4)

Necesita saber qué tan fuertemente X se correlaciona con W.

Lo más probable es que también desee tener un modelo matemático más complejo si desea desarrollar un sitio web grande. Si ejecuta un sitio web como digg, tiene muchos conocimientos previos que debe tener en cuenta en su cálculo. Eso lleva a estadísticas multivariantes.

Así que tengo un montón de hipervínculos en una página web. De la observación anterior sé las probabilidades de que un usuario haga clic en cada uno de estos hipervínculos. Por lo tanto, puedo calcular la media y la desviación estándar de estas probabilidades.

Ahora agrego un nuevo hipervínculo a esta página. Después de una breve cantidad de pruebas, encuentro que de los 20 usuarios que ven este hipervínculo, 5 hacen clic en él.

Teniendo en cuenta la media conocida y la desviación estándar de las probabilidades de clics en otros hipervínculos (esto forma una "expectativa previa"), ¿cómo puedo estimar de manera eficiente la probabilidad de que un usuario haga clic en el nuevo hipervínculo?

Una solución ingenua sería ignorar las otras probabilidades, en cuyo caso mi estimación es solo de 5/20 o 0.25; sin embargo, esto significa que estamos descartando información relevante, es decir, nuestra expectativa previa de cuál es la probabilidad de clics.

Así que estoy buscando una función que se parece a esto:

double estimate(double priorMean, double priorStandardDeviation, int clicks, int views);

Preguntaría que, dado que estoy más familiarizado con el código que con la notación matemática, cualquier respuesta usa código o pseudocódigo en lugar de matemáticas.


P / N es realmente correcto desde una perspectiva frecuentista.

También podría utilizar un enfoque bayesiano para incorporar conocimiento previo, pero dado que no parece tener ese conocimiento, creo que P / N es el camino a seguir.

Si lo desea, también puede usar la regla de Laplace que iirc se reduce a un uniforme anterior. Simplemente déle a cada enlace en la página un comienzo de 1 en lugar de 0. (De modo que si cuenta el número al que se hizo clic en un enlace, déle a cada uno un bonificador +1 y se parezca a ese en su N.)

[ACTUALIZAR] Aquí hay un enfoque bayesiano:

Sea p (W) la probabilidad de que una persona se encuentre en un grupo específico W. Sea p (L) la probabilidad de que se haga clic en un enlace específico. entonces la probabilidad que está buscando es p (L | W). Según el teorema de Bayes, puedes calcular esto por

p (L | W) = p (W | L) * p (L) / p (W)

Puede estimar p (L) por la cantidad en la que se hizo clic en L, p (W) por el tamaño de ese grupo con respecto al resto de los usuarios y p (W | L) = p (W y L) / p (L ) por el número de personas del grupo específico W que hizo clic en L dividido por la probabilidad de que se haga clic en L.


Prueba del teorema de Bayes:

P(A,B) = P( A | B ) * P( B ) (1)

ya que,

P(A,B) = P(B,A) (2)

Y sustituyendo (2) con (1),

P(A | B) * P( B ) = P (B | A) * P(A)

por lo tanto (el Teorema de Bayes),

P( B | A ) * P(A) P(A | B) = ----------------- P(B) P(A) -- prior/marginal probability of A, may or may not take into account B P(A|B) -- conditional/posterior probability of A, given B. P(B|A) -- conditional probability of B given A. P(B) -- prior/marginal probability of B

Consecuencias,

P( A | B ) = P( A ), then a and b are independent P( B | A ) = P( B ), and then

y la definición de independencia es,

P(A,B) = P(A | B) * P( B ) = P( A )* P( B )

Debe notarse que es fácil manipular la probabilidad a su gusto cambiando las prioridades y la forma en que se piensa en el problema, eche un vistazo a esta discusión del Principio Antrópico y el Teorema de Bayes .


Hice esta una nueva respuesta ya que es fundamentalmente diferente.

Esto se basa en Chris Bishop, Machine Learning and Pattern Recognition, Capítulo 2 "Distribuciones de probabilidad" p71 ++ y http://en.wikipedia.org/wiki/Beta_distribution .

Primero ajustamos una distribución beta a la media y varianza dadas para construir una distribución sobre los parámetros. Luego devolvemos el modo de la distribución que es el parámetro esperado para una variable de Bernoulli.

def estimate(prior_mean, prior_variance, clicks, views): c = ((prior_mean * (1 - prior_mean)) / prior_variance - 1) a = prior_mean * c b = (1 - prior_mean) * c return ((a + clicks) - 1) / (a + b + views - 2)

Sin embargo, estoy bastante seguro de que la media / varianza previa no funcionará para usted, ya que descarta información sobre cuántas muestras tiene y qué tan bueno es su anterior.

En cambio: dado un conjunto de pares (página web, link_clicked), puede calcular el número de páginas en las que se hizo clic en un enlace específico. Deja que sea m. Deje que la cantidad de veces que no se hizo clic en ese enlace sea l.

Ahora, a sea la cantidad de clics en su nuevo enlace sea a y el número de visitas al sitio sea b. Entonces tu probabilidad de que tu nuevo enlace sea

def estimate(m, l, a, b): (m + a) / (m + l + a + b)

Lo cual parece bastante trivial, pero en realidad tiene una base probabilística válida. Desde la perspectiva de implementación, puede mantener myL a nivel mundial.