Come eseguire un test binomiale in python


Un test binomiale confronta una proporzione campionaria con una proporzione ipotetica.

Ad esempio, supponiamo di avere un dado a 6 facce. Se lo lanciamo 12 volte, ci aspetteremmo che il numero “3” appaia 1/6 delle volte, che sarebbe 12 * (1/6) = 2 volte.

Se il numero “3” appare effettivamente 4 volte, questa è la prova che il dado è sbilanciato a favore del numero “3”? Potremmo eseguire un test binomiale per rispondere a questa domanda.

In Python, puoi eseguire un test binomiale utilizzando la funzione binom_test() dalla libreria scipy.stats, che utilizza la seguente sintassi:

binom_test(x, n=Nessuno, p=0,5, alternativa=’due facce’)

Oro:

  • x: numero di “successi”
  • n: numero totale di prove
  • p: la probabilità di successo di ciascuna prova
  • alternativa: l’ipotesi alternativa. L’impostazione predefinita è “fronte-retro”, ma è anche possibile specificare “superiore” o “minore”.

Questa funzione restituisce il valore p del test. Possiamo caricare questa funzione utilizzando la seguente sintassi:

 from scipy.stats import binom_test

I seguenti esempi illustrano come eseguire test binomiali in Python.

Esempio 1: Un dado a 6 facce viene lanciato 24 volte e si ferma sul numero “3” esattamente 6 volte. Esegui un test binomiale per determinare se il dado è sbilanciato verso il numero “3”.

Le ipotesi nulla e alternativa del nostro test sono le seguenti:

H 0 : π ≤ 1/6 (il dado non è sbilanciato verso il numero “3”)

H A : π > 1/6

*π è il simbolo della proporzione della popolazione.

Inseriamo la seguente formula in Python:

 binom_test(x= 6 , n= 24 , p= 1/6 , alternative=' greater ')

0.1995295129479586

Poiché questo valore p (0,1995) non è inferiore a 0,05, non riusciamo a rifiutare l’ipotesi nulla. Non abbiamo prove sufficienti per affermare che il dado sia sbilanciato verso il numero “3”.

Esempio 2: lanciamo una moneta 30 volte e esce testa esattamente 19 volte. Esegui un test binomiale per determinare se la moneta è sbilanciata verso testa.

Le ipotesi nulla e alternativa del nostro test sono le seguenti:

H 0 : π ≤ 1/2 (la moneta non è sbilanciata verso testa)

H A : π > 1/2

Inseriamo la seguente formula in Python:

 binom_test(x= 19 , n= 30 , p= 1/2 , alternative=' greater ')

0.10024421103298661

Poiché questo valore p (0,10024) non è inferiore a 0,05, non riusciamo a rifiutare l’ipotesi nulla. Non abbiamo prove sufficienti per affermare che la moneta sia sbilanciata a favore di testa.

Esempio 3: un negozio produce widget con un’efficienza dell’80%. Stanno implementando un nuovo sistema che sperano possa migliorare il tasso di efficienza. Selezionano casualmente 50 widget dalla produzione recente e notano che 47 di essi sono efficaci. Eseguire un test binomiale per determinare se il nuovo sistema porta ad una maggiore efficienza.

Le ipotesi nulla e alternativa del nostro test sono le seguenti:

H 0 : π ≤ 0,80 (il nuovo sistema non porta ad un aumento di efficienza)

H A : π > 0,80

Inseriamo la seguente formula in Python:

 binom_test(x= 47 , n= 50 , p= 0.8 , alternative=' greater ')

0.005656361012155314

Essendo questo valore p (0,00565) inferiore a 0,05, rifiutiamo l’ipotesi nulla. Abbiamo prove sufficienti per affermare che il nuovo sistema comporta un aumento dell’efficienza.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *