Como usar distribuição multinomial em python
A distribuição multinomial descreve a probabilidade de obter um número específico de contagens para k resultados diferentes, quando cada resultado tem uma probabilidade fixa de ocorrer.
Se uma variável aleatória puder ser encontrada pela seguinte fórmula:
Probabilidade = n! * (p 1 x 1 * p 2 x 2 * … * p k x k ) / (x 1 ! * x 2 ! … * x k !)
Ouro:
- n: número total de eventos
- x 1 : número de vezes que o resultado 1 ocorre
- p 1 : probabilidade de que o resultado 1 ocorra em uma determinada tentativa
Os exemplos a seguir mostram como usar a função scipy.stats.multinomial() em Python para responder a diferentes questões de probabilidade relacionadas à distribuição multinomial.
Exemplo 1
Em uma eleição tripartida para prefeito, o candidato A recebe 10% dos votos, o candidato B recebe 40% dos votos e o candidato C recebe 50% dos votos.
Se selecionarmos uma amostra aleatória de 10 eleitores, qual é a probabilidade de que 2 tenham votado no candidato A, 4 votassem no candidato B e 4 votassem no candidato C?
Podemos usar o seguinte código em Python para responder a esta pergunta:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[2, 4, 4], n=10, p=[.1, .4, .5]) 0.05040000000000001
A probabilidade de que exatamente 2 pessoas tenham votado em A, 4 em B e 4 em C é 0,0504 .
Exemplo 2
Suponha que uma urna contenha 6 bolinhas amarelas, 2 bolinhas vermelhas e 2 bolinhas rosa.
Se selecionarmos aleatoriamente 4 bolas da urna, com reposição, qual é a probabilidade de todas as 4 bolas serem amarelas?
Podemos usar o seguinte código em Python para responder a esta pergunta:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[4, 0, 0], n=4, p=[.6, .2, .2]) 0.1295999999999999
A probabilidade de todas as 4 bolas serem amarelas é de aproximadamente 0,1296 .
Exemplo 3
Suponha que dois alunos estejam jogando xadrez um contra o outro. A probabilidade de o aluno A vencer um determinado jogo é de 0,5, a probabilidade de o aluno B vencer um determinado jogo é de 0,3 e a probabilidade de haver empate em um determinado jogo é de 0,2.
Se eles jogarem 10 partidas, qual é a probabilidade de o jogador A ganhar 4 vezes, o jogador B ganhar 5 vezes e empatar 1 vez?
Podemos usar o seguinte código em Python para responder a esta pergunta:
from scipy. stats import multinomial #calculate multinomial probability multinomial. pmf (x=[4, 5, 1], n=10, p=[.5, .3, .2]) 0.03827249999999997
A probabilidade de o jogador A ganhar 4 vezes, o jogador B ganhar 5 vezes e empatar 1 vez é de aproximadamente 0,038 .
Recursos adicionais
Os tutoriais a seguir fornecem informações adicionais sobre a distribuição multinomial:
Uma introdução à distribuição multinomial
Calculadora de distribuição multinomial
O que é um teste multinomial? (Definição e exemplo)