Como realizar um teste binomial em python
Um teste binomial compara uma proporção de amostra com uma proporção hipotética.
Por exemplo, suponha que temos um dado de 6 lados. Se lançarmos 12 vezes, esperaríamos que o número “3” aparecesse 1/6 das vezes, o que seria 12 * (1/6) = 2 vezes.
Se o número “3” realmente aparecer 4 vezes, isso é prova de que o dado está inclinado a favor do número “3”? Poderíamos realizar um teste binomial para responder a esta pergunta.
Em Python, você pode realizar um teste binomial usando a função binom_test() da biblioteca scipy.stats, que usa a seguinte sintaxe:
binom_test(x, n=Nenhum, p=0,5, alternativa=’duas faces’)
Ouro:
- x: número de “sucessos”
- n: número total de tentativas
- p: a probabilidade de sucesso de cada tentativa
- alternativa: a hipótese alternativa. O padrão é “frente e verso”, mas você também pode especificar “maior” ou “menos”.
Esta função retorna o valor p do teste. Podemos carregar esta função usando a seguinte sintaxe:
from scipy.stats import binom_test
Os exemplos a seguir ilustram como realizar testes binomiais em Python.
Exemplo 1: Um dado de 6 faces é lançado 24 vezes e cai no número “3” exatamente 6 vezes. Execute um teste binomial para determinar se o dado está inclinado para o número “3”.
As hipóteses nula e alternativa do nosso teste são as seguintes:
H 0 : π ≤ 1/6 (o dado não está inclinado para o número “3”)
HA : π > 1/6
*π é o símbolo da proporção da população.
Inseriremos a seguinte fórmula em Python:
binom_test(x= 6 , n= 24 , p= 1/6 , alternative=' greater ') 0.1995295129479586
Como este valor p (0,1995) não é inferior a 0,05, não rejeitamos a hipótese nula. Não temos evidências suficientes para dizer que o dado está inclinado para o número “3”.
Exemplo 2: Lançamos uma moeda 30 vezes e ela dá cara exatamente 19 vezes. Execute um teste binomial para determinar se a moeda está inclinada para cara.
As hipóteses nula e alternativa do nosso teste são as seguintes:
H 0 : π ≤ 1/2 (a moeda não está inclinada para cara)
HA : π > 1/2
Inseriremos a seguinte fórmula em Python:
binom_test(x= 19 , n= 30 , p= 1/2 , alternative=' greater ') 0.10024421103298661
Como este valor p (0,10024) não é inferior a 0,05, não rejeitamos a hipótese nula. Não temos evidências suficientes para dizer que a moeda está viciada em favor da cara.
Exemplo 3: Uma loja produz widgets com 80% de eficiência. Eles estão implementando um novo sistema que esperam melhorar a taxa de eficiência. Eles selecionam aleatoriamente 50 widgets de produção recente e observam que 47 deles são eficazes. Execute um teste binomial para determinar se o novo sistema leva a maior eficiência.
As hipóteses nula e alternativa do nosso teste são as seguintes:
H 0 : π ≤ 0,80 (o novo sistema não leva a aumento de eficiência)
HA : π > 0,80
Inseriremos a seguinte fórmula em Python:
binom_test(x= 47 , n= 50 , p= 0.8 , alternative=' greater ') 0.005656361012155314
Sendo este valor p (0,00565) inferior a 0,05, rejeitamos a hipótese nula. Temos provas suficientes para afirmar que o novo sistema resulta num aumento de eficiência.