Scipy Mann Whitney

Scipy Mann Whitney
Il linguaggio di programmazione Python è comunemente usato nelle scienze dei dati e nell'analisi dei dati. Gli algoritmi semplici, utili, gratuiti e di facile comprensione del linguaggio di programmazione Python ci consentono di eseguire un'analisi dei dati approfonditi. Gli algoritmi utilizzati nelle scienze dei dati sono anche molto semplici da imparare e implementare. Inoltre, il linguaggio di programmazione Python offre anche diversi pacchetti, funzioni e metodi utili per eseguire i calcoli matematici e statistici. Questo articolo è strutturato all'esplorazione della funzione di test di Mann Whitney in Python.

Mann whitney u test

È un test di ipotesi statistica non parametrica che viene utilizzato per confrontare due campioni di piccole dimensioni e avere una distribuzione di campioni non normali. È considerato uguale al test t a due campioni in cui due campioni vengono scelti e determinati in modo casuale se appartengono alla stessa popolazione o meno. Poiché si tratta di un test non parametrico, non vengono fatti ipotesi per la distribuzione del campione. Tuttavia, alcune presunzioni come raccogliere casualmente i campioni, l'indipendenza reciproca all'interno dei campioni, le misurazioni della scala ordinale, ecc. sono fatti.

Funzione di Python Scipy Mann Whitney

Il linguaggio di programmazione Python ha un'incredibile biblioteca per eseguire qualsiasi tipo di funzioni matematiche e statistiche automaticamente e rapidamente. Quella biblioteca è Scipy, ben nota tra tutti gli sviluppatori esperti e per principianti. Fornisce una funzione Mannwhitneyu () per eseguire il test di Mann Whitney U. La sintassi della funzione Mannwhitneyu () è la seguente:

I parametri della funzione Mannwhitneyu () vengono utilizzati per definire i dati e le funzionalità applicate ai dati. I parametri "X" e "Y" vengono utilizzati per passare i due array di campioni multidimensionali che rappresentano i dati di esempio. Il parametro "alternativo" specifica l'ipotesi alternativa per i campioni: meno, maggiore o a due lati. Il parametro "use_continuity" viene utilizzato per dichiarare se applicare la correzione della continuità o meno. Il parametro "asse" definisce l'asse su cui deve eseguire il calcolo statistico. Il parametro "nan_policy" definisce come gestire i valori NAN nei campioni come sollevare un'eccezione, saltare o propagare.

E infine, il parametro "Metodo" specifica la strada per calcolare il valore p come auto, esatto o asintotico. In cambio, la funzione Mannwhitneyu () fornisce il valore p e le statistiche dei campioni. Capiamo come implementare la funzione Mannwhitneyu () in un programma Python.

Esempio 1:

Questo esempio prende due campioni e li passa alla funzione Mannwhitneyu () senza specificare nessun altro parametro. Controlleremo il risultato della funzione Mannwhitneyu () con i valori predefiniti per ciascun parametro opzionale. Consideriamo l'esempio dato nel seguente frammento di codice:

dalle statistiche di importazione di Scipy
X = [5, 4, 10, 2, 9, 18, 20]
Y = [12, 15, 25, 2, 9, 11, 13]
stat, p_value = stats.Mannwhitneyu (x, y)
print ("Il valore statistico dei campioni è =", stat)
print ("Il valore p dei campioni è =", p_value)

Qui, includiamo la libreria Scipy insieme al pacchetto statistiche in modo da poter usare la funzione Mannwhitneyu (). Quando si scrive qualsiasi programma Python, è necessario ricordare che le librerie devono essere importate nel programma prima di utilizzare qualsiasi funzione ad essi associata. Alcune delle funzioni integrate possono essere utilizzate senza chiamare esplicitamente le loro biblioteche. Ma la maggior parte delle funzioni non può essere utilizzata in un programma se si perde nell'aggiunta delle loro biblioteche nel programma. Assicurati che tutte le librerie richieste siano incluse prima di utilizzare le funzioni.

Dopo aver aggiunto le librerie, i due set di campioni sono dichiarati in xey. Questi campioni vengono passati alla funzione Mannwhitenyu (). Ora, controlliamo la statistica e P_Value dei campioni indicati nella seguente uscita:

Esempio 2:

Dichiariamo esplicitamente il valore di uno dei parametri opzionali in questo esempio. Come discusso in precedenza, è possibile specificare l'ipotesi alternativa per i dati del campione e potrebbe essere inferiore, maggiore o due lati. Per impostazione predefinita, la funzione mannwhitneyu () utilizza il valore "a due lati" per il parametro "alternativo". In questo esempio, testeremo ogni valore per il parametro alternativo per capire come funzionano con i dati di esempio. Considera il seguente esempio di esempio:

dalle statistiche di importazione di Scipy
X = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
Y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = stats.Mannwhitneyu (x, y)
print ("Il valore statistico dei campioni è =", stat)
print ("Il valore p dei campioni è =", p_value)

Qui, non specifichiamo il valore per il parametro "alternativo". Questo viene fatto per confrontare il risultato del valore "alternativo" predefinito con tutte le altre opzioni. Ecco quale funzione mannwhitneyu () restituisce quando non specifichiamo il valore per alcun parametro:

Il valore predefinito per la funzione mannwhitneyu () è "a due lati" che specifica che i campioni dati non sono uguali. Qui, forniamo il valore "a due lati" per il parametro "alternativo" per confrontare i risultati. Lo stesso valore p viene restituito come ha fatto nell'esempio precedente. Controlliamo il seguente risultato:

dalle statistiche di importazione di Scipy
X = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
Y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = stats.mannwhitneyu (x, y, alternativo = 'a due lati')
print ("Il valore statistico dei campioni è =", stat)
print ("Il valore p dei campioni è =", p_value)

Confrontando entrambi i risultati, possiamo concludere che i risultati sono gli stessi.

Il valore "maggiore" per il parametro "alternativo" controlla i campioni contro l'ipotesi che il campione x dato è stocasticamente maggiore del campione dato y. Forniamo il valore "maggiore" per il parametro "alternativo" per verificare il valore P calcolato:

dalle statistiche di importazione di Scipy
X = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
Y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = stats.Mannwhitneyu (x, y, alternativo = 'maggiore')
print ("Il valore statistico dei campioni è =", stat)
print ("Il valore p dei campioni è =", p_value)

Ecco l'output del valore "maggiore" per il parametro "alternativo":

Come puoi vedere, il valore p è diverso dal valore p nelle uscite precedenti.

Infine, abbiamo il valore "meno" per il parametro "alternativo". Il valore "inferiore" specifica che il campione X dato è stocasticamente inferiore al campione dato y. Passiamo il valore "meno" per il parametro "alternativo" e vediamo il risultato:

dalle statistiche di importazione di Scipy
X = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
Y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = stats.mannwhitneyu (x, y, alternative = 'less')
print ("Il valore statistico dei campioni è =", stat)
print ("Il valore p dei campioni è =", p_value)

L'output del valore "meno" per il parametro "alternativo" è il seguente:

Conclusione

Questa guida è una rapida panoramica del test di Mann Whitney U, noto anche come Wilcoxon Mann Whitney (MWW), Wilcoxon Rank Sum Test e Wilcoxon Mann Whitney Test. È un test non parametrico che sceglie campioni indipendenti in modo casuale e li confronta con un'ipotesi per specificare se appartengono alla stessa popolazione o meno o hanno la stessa mediana o meno. Inoltre, non viene fatta alcuna presunzione di distribuzione specifica per calcolare il valore p e le statistiche dei test. La biblioteca Scipy fornisce la funzione Mannwhitneyu () per eseguire il test di Mann Whitney sui dati forniti. Con l'aiuto di esempi semplici e facili, abbiamo dimostrato come implementare la funzione Mannwhitneyu () in un programma Python.