projetos

17 de Março de 2013

E-Commerce (às vezes) fazendo isso errado

a Maioria dos sites de e-commerce está oferecendo-lhe ordenar os resultados de sua pesquisa pelo classificações de clientes… e um monte estão fazendo isso errado. Vamos supor que estou à procura de um livro sobre CSS. Eu quero obter o melhor livro que o dinheiro pode comprar, então eu definitivamente vou apertar o tipo pelo botão de classificação. O site está oferecendo duas opções

  • livro a: 1 classificação de 5. Classificação média de 5.livro B : 50 classificações. Classificação média de 4.5

pense nisso, você preferiria ter o livro A come first of book Bcome first. Provavelmente o livro B, certo? Isso significa que precisamos de algo mais importante do que apenas Classificar por classificação média.

uma primeira resposta simples, o que seria definitivamente uma melhoria em comparação com a classificação média pode ser colocar o produto com menos de K na parte inferior. Mas então, como escolher k? E se estamos à procura de um nicho e todos os produtos têm menos do que K classificações, exceto um, que tem um K+1 avaliações horríveis. Deve ficar por cima ?

uma segunda resposta que você poderia vir a ser escolher uma fórmula de pontuação empírica que parece corresponder às nossas restrições.

a maioria das fórmulas lá fora dependem da estimativa Bayesiana. De um modo geral, a estimativa Bayesiana realmente brilha neste tipo de situação : você quer medir algo, mas você sabe que não terá dados suficientes para alcançar uma estimativa perfeita.se m é a média das classificações e n é o número das classificações, podemos considerar algo como :

$$rating(m, n) = {mn \over {n+K}}$$

isto provavelmente funcionará muito bem. Provavelmente … ainda tens de escolher o K certo sem saber quais os valores físicos que ele relaciona. Mais importante, você terá que convencer o seu colega de trabalho que esta é a solução agradável que irá cobrir os casos de borda perfeitamente.

Bayesiano de estimação curso intensivo

A grande idéia é, em vez de tentar calcular diretamente a nossa estimativa, primeiro vamos calcular uma distribuição de probabilidade que descreve “o que sabemos” o valor que nós queremos estimar, e então (e só então), podemos extrair uma estimativa do valor que se encaixa em nosso propósito.

a separação da preocupação nesse último bit é realmente muito importante. Dependendo do seu ponto de vista, você pode considerar valores muito diferentes como estimativas de um valor físico.por exemplo, se eu precisar estimar o número de Soros que um governo precisa comprar para lidar com uma epidemia, eu vou querer entregar um número para o qual eu posso dizer : estou certo de 90% que isso será suficiente. Esse número pode, por vezes, estar muito longe das expectativas. Se eu estou realmente trabalhando como na contabilidade na empresa que vende esses soros, e eu quero ter uma idéia de um limite inferior para a minha renda para o próximo mês, eu provavelmente terá uma quantidade totalmente diferente.um exemplo simples: vamos supor que descobriu um parasita chamado toxoplasmose e que quer estimar a razão: $X$ das pessoas infectadas por um parasita chamado toxoplasmose.os doentes humanos infectados pelo parasita não apresentam quaisquer sintomas, por isso, tanto quanto sabe, pode ser qualquer coisa. Podemos descrever a sua visão sobre a distribuição de probabilidade deste valor como sendo uma distribuição uniforme. .falar de probabilidade aqui pode parecer um pouco estranho.Em primeiro lugar, é legítimo falar de probabilidade quando estamos a estimar algo de um valor muito tangível e não Aleatório? Em termos de probabilidade Bayesiana, uma variável é aleatória se você não sabe seu valor exatamente. É uma informação que resume o nosso conhecimento sobre algo.mas voltemos ao nosso problema. À medida que testam as pessoas para a toxoplasmose, vão fazer observações.Cada pessoa terá uma probabilidade X de ter toxoplasmose, e você quer estimar isso mesmo X. vamos assumir que depois de ver $N$ Pessoas, você detectou k pessoas com toxoplasmose.

Você começou com uma probabilidade prévia uniforme, e cada observação irá dobrar a sua visão em X, tornando-a cada vez mais precisa.Esta visão atualizada de X é chamada de sua distribuição posterior.Nós chamamos O (como na observação) a sequência de resultados de nossos testes N.

Bayes fornece uma pequena fórmula para computá-la

 $$P(X | O) = { P( O | X) P(X) \over { P(O)} }$$

$p(o)$ é a probabilidade de observar o que observamos. É constante com X, e portanto de pouco interesse. Da mesma forma, nós escolhemos a nossa probabilidade anterior $P(X)$ para ser uniforme e, portanto, não varia com x. Estamos interessados apenas para a relação de proporcionalidade :

 $$ P(X | O) \propto P( O | X) $$
$$P( S X)$$ é chamado de probabilidade. É dada X (o valor que estamos procurando) a probabilidade de observar o que observamos. Normalmente é algo bastante simples de calcular.

No nosso caso, a probabilidade de observar a seqüência de observações independentes

 $$ O = ({o_1}, ..., {o_N}) $$

é determinado multiplicando-se a probabilidade de cada observação :

 $$ P(O | X) = P({o_1}| X) \times ... \times P({o_N} | X) $$

Para uma única observação, a probabilidade de observar oi positivo (respectivamente, negativa) é, por definição, X (respectivamente 1-X). No final, se observarmos K positivo, e n-K negativo a probabilidade posterior é

 $$ P(X | O) \propto X^{K}(1-X)^{N-K} $$

Esta distribuição também é chamada de distribuição binomial.

é interessante ver como a probabilidade posterior evolui com o número de observações. O gráfico abaixo mostra como o posterior fica cada vez mais refinado com o número de observações que obtemos.

Agora que temos a probabilidade exata, podemos considerar a computação de qualquer tipo de estimativas a partir desta distribuição. Sem dúvida, as mais comuns saída seria para calcular um intervalo de confiança : intervalo para o que podemos afirmar com uma confiança de 90% do nosso valor está em algum lugar entre a e b.

Hoje em dia todo mundo tem um computador e, provavelmente, a maneira mais simples para produzir um intervalo de confiança é, provavelmente, para calcular a função de distribuição cumulativa da distribuição.muitos estaticistas também trabalharam em encontrar intervalos de confiança muito precisos para distribuições binomiais quando a aproximação normal não se mantém. Você pode querer verificar para esta página do wikipedia se você quiser usar uma destas fórmulas.voltemos às estrelas! Nesta seção, para simplificação, consideraremos uma gama de 1, 2 ou 3 estrelas. Tentaremos estimar, dada a resposta das pessoas, a distribuição posterior da proporção de pessoas que lhe dariam respectivamente 1,2 , ou 3 estrelas, se tivéssemos a oportunidade de perguntar um número infinito de pessoas.

a variável aleatória que observamos segue uma chamada distribuição categórica. Isso é, basicamente, uma variável que assume valores dentro de {1,2,3} com probabilidades p1, p2, p3 com

$$ {p_1} + {p_2} + {p_3} = 1 $$

o Que torna mais difícil é que não estamos olhando para a distribuição de um valor escalar, mas a distribuição conjunta dos três valores escalares (ou melhor, dois, considerando a restrição linear).

Ainda assim, podemos aplicar o mesmo raciocínio, como fizemos com a estimativa de um único probabilidade :

 $$ P({p_1}, {p_2}, {p_3} | O) \propto P( O | {p_1}, {p_2}, {p_3}) P({p_1}, {p_2}, {p_3}) $$

Desta vez, no entanto, vamos incluir um antes. A fim de simplificar os cálculos, é sempre uma boa idéia escolher um prior que tem a mesma forma que a probabilidade. Vamos primeiro calcular a probabilidade.assim como em nossa estimativa de exemplo anterior, podemos usar a independência de nossa observação.

 $$ P(O | {p_1}, {p_2}, {p_3}) = P({o_1}| {p_1}, {p_2}, {p_3}) \times \cdots \times P({o_N} | {p_1}, {p_2}, {p_3}) $$

E a probabilidade de cada observação individual é dada pela probabilidade associada

 $$\forall j \in \{1,2,3\}, ~~ \forall 1\leq i \leq N, ~~P( {o_i = j} | {p_1}, {p_2}, {p_3}) = {p_j} $$

Portanto, se dentro do N comentários que recebeu lá foi, respectivamente, K1, K2, K3 comentários com, respectivamente, 1,2 e 3 estrelas, temos uma probabilidade de

 $$ P(O | {p_1}, {p_2}, {p_3}) = {p_1}^{K_1} {p_2}^{K_2} {p_3}^{K_3} $$

o Que é chamado de distribuição de Dirichlet com o parâmetro

 $$ \alpha = \left( \begin{array}{c} {K_1} + 1 \\ {K_2} + 1 \\ {K_3} + 1 \end{array} \right) $$

a fim de tornar a matemática mais simples, vamos considerar uma prévia com a mesma forma, e o parâmetro alpha0.

O posterior, é proporcional à

 $$ P({p_1}, {p_2}, {p_3} | O) \propto { {p_1}^{K_1} } { {p_2}^{K_2} } { {p_3}^{K_3} } { {p_1}^{ {\alpha_1^0} - 1 } } { {p_2}^{ {\alpha_2^0} - 1 } } { {p_3}^{ {\alpha_3^0} - 1 } } $$

o Que podemos factorizar em

 $$ P({p_1}, {p_2}, {p_3} | O) \propto { {p_1}^{ {K_1} + {\alpha_1^0} - 1 } } { {p_2}^{ {K_2} + {\alpha_2^0} - 1 } } { {p_3}^{ {K_3} + {\alpha_3^0} - 1 } }. $$

em que vemos uma distribuição de dirichlet com o parâmetro

 $$ {\alpha^1} = \left( \begin{array}{c} {K_1} + \alpha_1^0 \\ {K_2} + \alpha_2^0 \\ {K_3} + \alpha_3^0 \end{array} \right) $$

Agora, o que nós realmente queremos é uma estimativa do número médio de estrelas. Vamos considerar o uso da expectativa desta média, dada a nossa posterior.

 $$ E( {p_1} + 2{p_2} + 3{p_3} | O ) = E( {p_1} | O ) + 2 E({p_2} | O ) + 3E({p_3} | O ) $$

A expectativa de vida, a probabilidade de obter 1,2, ou 3 número de estrelas é dada pela distribuição de dirichlet

 $$ E(p_i | O) = { {\alpha_i^1} \over { {\alpha_1^1} + {\alpha_2^1} + {\alpha_3^1} } } $$

temos, portanto, para a nossa média bayesiana :

 $$ rating({K_1}, {K_2}, {K_3}) = \frac{ {K_1} + \alpha_1^0}{ N + A} + 2 \frac{ {K_2} + \alpha_2^0}{ N + A} + 3 \frac{ {K_3} + \alpha_3^0}{ N + A}, $$

onde definimos

 $$ N = {K_1} + {K_2} + {K_3}~~and~~A = {\alpha_1^0} + {\alpha_2^0} + {\alpha_3^0} $$

podemos reagrupar-se que, como

 $$ rating({K_1}, {K_2}, {K_3}) = \frac{ \left(\alpha_1^0 + 2 \alpha_2^0 + 3 \alpha_3^0 \right) + \left({K_1} + 2{K_2} + 3{K_3}\right) }{A + N} $$

Pronto ! Vamos digerir esta fórmula para torná-la utilizável na vida real. A média bayesiana para a classificação de estrelas consistiria em escolher alguns parâmetros C E m em que

  • M representa um prior para a média das estrelas
  • C representa o quão confiantes nós em nosso prior. É equivalente a uma série de observações.

em Seguida, a média bayesiana será

 $$ rating({K_1}, {K_2}, {K_3}) = \frac{ C \times m + total~number~of~stars }{C + number~of~reviews } $$

Se você tiver os dados relevantes e tempo infinito, você pode definir esses dois valores pelo ajuste de uma distribuição de Dirichlet sobre o conjunto de dados de avaliações de todos os seus livros de computador. No entanto, é muito comum apenas escolher um par de parâmetros que imitam o comportamento que estamos procurando. m é o valor para o qual vamos ajustar a revisão média de produtos com muito poucas avaliações. Quanto maior o C, maior o número de críticas necessárias para”afastar-se de m”.

vamos agora dar uma olhada no nosso primeiro exemplo. Dois valores possíveis podem ser, por exemplo, m=3 e C=5.

As médias bayesianas para os dois livros tornam-se

 $$ {rating_{book~A}} = \frac{5 \times 3 + 5 \times 1}{ 5 + 1 } = 3.3 $$ $$ {rating_{book~B}} = \frac{5 \times 3 + 4.5 \times 50 }{ 5 + 50 } = 4.36 $$

como esperado, o Livro 2 tem uma média Bayesiana melhor do que o Livro 1.

Deixe uma resposta

O seu endereço de email não será publicado.