Scipy KS -test

Scipy KS -test

Python er anerkjent som datamaskinens programmeringsspråk som gjør det i stand til å skrive de forskjellige slags dataprogramvare og programmer. Dette språket har kriterier med høyt ytelse på alle de andre språkene, og pakken er ikke bare begrenset til noe av det spesifikke programmet eller programvareoppgavene. Snarere er det kjent som et språklig språk som kan brukes til å skrive et hvilket Nettverk. For hver oppgave gir Python -navnet ditt det under en plattform. Scipy er fra Pythons programmeringsspråk. Den har moduler som importerer nødvendig informasjon til programmet for funksjonene som er bygget for maskinlæring og dype læringsmodeller. Scipy tilbyr en slik funksjon som Scipy “KS Test”.

KS-testen er anerkjent som "Kolmogorov-Smirnov-testen" som vi finner ut av hvilken type distribusjon er prøven under testen kommer. Det er to metoder for å utføre slike tester basert på antall prøver som vi gir til denne testen som inngangsparametere.

Fremgangsmåte:

KS -test med sine to typer funksjoner vil bli forklart og demonstrert praktisk i denne artikkelen. Denne artikkelen gir en god bakgrunnskunnskap om introduksjonen og funksjonaliteten til KS -testen. Deretter forklarer det metoden for å skrive disse funksjonene i Python -skriptet med diskusjonen om parametrene som tilhører inngangsargumentlisten over begge funksjonene.

Syntaks:

Siden vi allerede vet fra den forrige forklaringen at KS -testen er av to typer i naturen, er funksjonaliteten til begge disse funksjonene den samme, men de er litt forskjellige i konfigurasjonen når det gjelder argumentlisten. En av de to KS -testene er kjent som den enkle “KS -testen”. Det tar bare ett utvalg av data og utfører testen for disse dataene. Den andre er “KS_2Sample Test”. Denne testen utfører den samme KS -testen, men for de to forskjellige prøvedataene. Syntaksen for både KS -test () og KS_2 -test () er gitt henholdsvis i det følgende:

$ scipy. statistikk.Kstest ()
$ scipy. statistikk.KS_2Samp ()

Returverdi:

Begge de tidligere nevnte funksjonene returnerer samme type resultat. De returnerer begge to verdier-den ene er den "statistiske" og den andre er "p-verdien"-der p-verdien er den viktigste beslutningen, enten prøvene tilhører samme distribusjon eller ikke.

Eksempel 1:

Anta at vi har en dataprøve som hører hjemme eller ble generert med en viss distribusjon. Nå, med KS -testen, vil vi vite at distribusjonen tilhører disse dataene tilhører. Vi antar en null type hypotese som sier at eksempeldataene kommer fra normalfordelingen og at vi er 95 prosent sikre på hypotesen vår. I et annet tilfelle, som er den alternative saken, har vi muligheten til å avvise nullhypotesen hvis p-verdien som KS-testen kommer tilbake vil ha verdien mindre enn “0.05 ”.

Nullhypotesen blir avvist hvis resultatet faller under 0.05, som indikerer at den tilfeldige prøven ikke en gang kom fra normalfordeling. La oss utføre en KS -test for prøvedataene som vi vil generere unikt for dette eksemplet. Husk at Python -plattformen vi skal skrive programmet for dette eksemplet er “Google Collab”.Åpne den nye notisboken i kollapsen og begynn å skrive programmet. Vi importerer "Numpy" -biblioteket for å bruke modulen for å definere dataene med en distribusjon.

Integrer denne Numpy -pakken som "NP" i programmet. Det andre biblioteket som legger til programmet er "Statistikk" som er en modul fra Scipy Library. Importer dem fra Scipy Library -statistikken som deretter legger til modulene i programmet som brukes til å jobbe med Kstest () -funksjonen. Tildel en variabel forutsatt “x”. Tilordne verdien av eksempeldataene til dette ved å ringe statistikken til å attributt som “Statistikk.norm.bobil (størrelse = 100, random_state = rng) ”.

Med denne samtalen definerer vi dataene fra den tilfeldige variabelen ved hjelp av statistikkens norm.bobilfunksjon for å normalt distribuere disse dataene. Nullhypotesen er at denne prøven er fra normalfordelingen. Størrelsen på disse dataene er spesifisert som "200". For å se etter resultatene fra Kstest () -funksjonen på disse dataene, overfører vi disse dataene til parameteren til Kstest () -funksjonen som “StatS. Kstest (x) ”. Utgangen for følgende program er som følger:

fra scipy importstatistikk
a = statistikk.norm.RVS (størrelse = 200)
RSLT = statistikk.Kstest (A, statistikk.norm.CDF)
Print (RSLT)

P-verdien til KS-testen er større thsan 0.05. Så vi klarer ikke å avvise hypotesen om at prøvedataene tilhører normal standardfordeling.

Eksempel 2:

Nå gjennomfører vi en annen type KS -testen som er "KS_2TEST". Det tar inn de to prøvedataene og kommentarene hvis begge prøvene tilhører samme distribusjon eller ikke. Importer “Statistikk” -modulen fra Scipy Library og erklær to eksempeldata ved hjelp av “Statistikk. norm. RVS (størrelse = 115) ”og“ Statistikk.norm.bobil (størrelse = 105) ”metoder, henholdsvis. Lagre dem som “Data1” og “Data2”. Dette genererer de to dataene som har størrelsene på “115” og “105” med normalfordeling. Nullhypotesen er at begge disse dataene er fra samme type "normal standard" distribusjon. For å sjekke ut dette, mate disse to dataene til “KS_2 -testen ()” som “Statistikk.KS_2SAMP (Data1, Data2) ”og sjekk P-verdien. Programmet og utgangene er nevnt i følgende:

Verdien av p er ikke mindre enn 0.05. Så nullhypotesen som vi antok for disse dataene er riktig, og vi har ingen rett til å avvise dem.

data1 = statistikk.norm.RVS (størrelse = 115)
data2 = statistikk.norm.RVS (størrelse = 105)
RSLT = statistikk.KS_2SAMP (Data1, Data2)
Print (RSLT)

Konklusjon

Vi gjennomførte de to KS -testene ved å bruke de forskjellige funksjonene som KS -testen tilbyr for en prøve som “Statistikk.KS Test () ”og for de to dataprøvene som“ KS_2Samp () ”. Basert på resultatene fra funksjonene, bestemte vi hvilken dataprøve som tilhører hvilken type distribusjon. I begge tilfeller kom det ut til å være standard normal type distribusjon.