Test di Scipy KS

Test di Scipy KS

Python è riconosciuto come il linguaggio di programmazione del computer che gli consente di scrivere i diversi tipi di software per computer e programmi. Questa lingua ha criteri di livello ad alte prestazioni tra tutte le altre lingue e il suo pacchetto non è solo limitato ad alcuni dei programmi specifici o alle attività del software. Piuttosto, è noto come un linguaggio per tutti gli usi che può essere utilizzato per scrivere qualsiasi programma, che si tratti di un programma matematico, delle matrici e delle loro operazioni, dell'implementazione delle equazioni differenziali o della formazione di un modello di apprendimento automatico e della formazione di una neurale artificiale rete. Per ogni attività, il tuo nome Python lo fornisce sotto un'unica piattaforma. Scipy è dal linguaggio di programmazione di Python. Ha moduli che importano le informazioni necessarie al programma per le funzioni costruite per l'apprendimento automatico e i modelli di apprendimento profondo. Scipy offre una funzione di quanto il "KS Test" di Scipy.

Il test KS è riconosciuto come "Kolmogorov-Smirnov Test" in base al quale scopriamo da quale tipo/tipo di distribuzione è il campione nel test arriva. Esistono due metodi per condurre tali test in base al numero di campioni che diamo a questo test come parametri di input.

Procedura:

Il test KS con i suoi due tipi di funzioni sarà spiegato e dimostrato praticamente in questo articolo. Questo articolo fornisce una buona conoscenza di base sull'introduzione e sulla funzionalità del test KS. Quindi, spiega il metodo per scrivere queste funzioni nello script Python con la discussione sui suoi parametri che appartengono all'elenco degli argomenti di input di entrambe le funzioni.

Sintassi:

Dal momento che sappiamo già dalla precedente spiegazione che il test KS è di due tipi in natura, la funzionalità di entrambe queste funzioni è la stessa ma differiscono leggermente nella loro configurazione in termini di elenco di argomenti. Uno dei due test KS è noto come semplice "KS Test". Ci vuole solo un campione di dati e esegue il test per questi dati. Il secondo è il "test KS_2Sample". Questo test esegue lo stesso test KS ma per i due diversi dati di esempio. La sintassi sia per il test KS () che per KS_2 test () è data rispettivamente di seguito:

$ SCIPY. statistiche.kstest ()
$ SCIPY. statistiche.ks_2samp ()

Valore di ritorno:

Entrambe le funzioni precedentemente menzionate restituiscono lo stesso tipo di risultato. Entrambi restituiscono due valori-uno è il "uno statistico" e l'altro è il "valore p"-in cui il valore p è il principale processo decisionale, se i campioni appartengono alla stessa distribuzione o no.

Esempio 1:

Supponiamo di avere un campione di dati che appartiene o sia stato generato con una certa distribuzione. Ora, con il test KS, vogliamo sapere da quale distribuzione questi dati appartengono. Assumiamo un tipo nullo di ipotesi che afferma che i dati del campione provengono dalla distribuzione normale e siamo sicuri del 95 percento sulla nostra ipotesi. In un altro caso, che è il caso alternativo, abbiamo la possibilità di rifiutare l'ipotesi nulla se il valore p che il test KS restituisce avrà il valore inferiore al "0.05 ".

L'ipotesi nulla viene respinta se il risultato scende sotto 0.05, indicando che il campione casuale non proveniva nemmeno da una distribuzione normale. Eseguiamo un test KS per i dati di esempio che genereremo in modo univoco per questo esempio. Tieni presente che la piattaforma Python in cui scriveremo il programma per questo esempio è "Google Collab".Apri il nuovo notebook nella collaborazione e quindi inizia a scrivere il programma. Importiamo la libreria "numpy" per utilizzare il suo modulo per definire i dati con una distribuzione.

Integra questo pacchetto numpy come "NP" nel programma. La seconda libreria da aggiungere al programma è "statistiche" che è un modulo della libreria Scipy. Importarli dalle statistiche della libreria di Scipy che quindi aggiungono i moduli nel programma utilizzati per il funzionamento della funzione KSTest (). Allocare una variabile supponendo "x". Assegna il valore dei dati di esempio a questo chiamando le statistiche per attribuire come "statistiche.norma.RVS (size = 100, random_state = rng) ".

Con questa chiamata, definiamo i dati della variabile casuale usando la norma STATS.RVS Funziona per distribuire normalmente questi dati. L'ipotesi nulla è che questo campione proviene dalla distribuzione normale. La dimensione di questi dati è specificata come "200". Per verificare i risultati della funzione KStest () su questi dati, trasmettiamo questi dati al parametro della funzione KStest () come "STAT. KSTEST (X) ". L'output per il seguente programma è il seguente:

dalle statistiche di importazione di Scipy
a = statistiche.norma.RVS (dimensione = 200)
RSLT = STATS.KSTEST (a, statistiche.norma.CDF)
Stampa (RSLT)

Il valore p del test KS è maggiore THSAN 0.05. Quindi, non siamo in grado di rifiutare l'ipotesi che i dati del campione appartengano alla normale distribuzione standard.

Esempio 2:

Ora, conduciamo un altro tipo di test KS che è il "KS_2TEST". Prende i due dati di esempio e i commenti se entrambi i campioni appartengono alla stessa distribuzione o no. Importa il modulo "STATS" dalla libreria Scipy e dichiara due dati di esempio utilizzando le "statistiche. norma. RVS (dimensione = 115) "e" statistiche.norma.METODI RVS (dimensione = 105) ”, rispettivamente. Salvali come "data1" e "data2". Ciò genera i due dati con le dimensioni di "115" e "105" con una distribuzione normale. L'ipotesi nulla è che entrambi questi dati provengano dallo stesso tipo di distribuzione "standard normale". Per verificarlo, alimentare questi due dati al "KS_2 test ()" come "statistiche.KS_2SAMP (data1, data2) ”e controlla il valore p. Il programma e gli output sono menzionati di seguito:

Il valore della p non è inferiore a 0.05. Quindi, l'ipotesi nulla che abbiamo assunto per questi dati sia giusta e non abbiamo il diritto di rifiutarli.

data1 = stat.norma.RVS (dimensione = 115)
data2 = stat.norma.RVS (dimensione = 105)
RSLT = STATS.KS_2SAMP (Data1, Data2)
Stampa (RSLT)

Conclusione

Abbiamo condotto i due test KS utilizzando le diverse funzioni che il test KS offre per un campione come "statistiche.KS test () "e per i due campioni di dati come" ks_2samp () ". Sulla base dei risultati delle funzioni, abbiamo deciso a quale campione di dati appartiene a quale tipo di distribuzione. In entrambi i casi, è venuto fuori la distribuzione standard di tipo normale.