1.1. Introducere

Prima metodă pe care o cunoaște aproape toată lumea este histograma. Histograma este o vizualizare a datelor care arată distribuția unei variabile. Ea ne oferă frecvența de apariție pentru fiecare valoare din setul de date, care este ceea ce reprezintă distribuțiile.

Histograma este o modalitate excelentă de a vizualiza rapid distribuția unei singure variabile.

1.2. Interpretare

În imaginea de mai jos, două histograme arată o distribuție normală și o distribuție non-normală.

  • În stânga, există o abatere foarte mică a distribuției eșantionului (în gri) de la distribuția teoretică a curbei clopotului (linia roșie).
  • În dreapta, observăm o formă destul de diferită a histogramei, ceea ce ne spune direct că aceasta nu este o distribuție normală.

Câteodată abaterea de la o distribuție normală este atât de evidentă încât poate fi detectată vizual.

1.3. Implementare

O histogramă poate fi creată cu ușurință în python, după cum urmează:

Crearea unei histograme folosind pandas în python

1.4. Concluzie

Histograma este o modalitate excelentă de a vizualiza rapid distribuția unei singure variabile.

2.1. Introducere

Plotul Box Plot este o altă tehnică de vizualizare care poate fi utilizată pentru detectarea eșantioanelor non-normale. Box Plot trasează rezumatul în 5 numere al unei variabile: minim, prima cuartilă, mediana, a treia cuartilă și maximul.

Boxplot este o modalitate excelentă de a vizualiza distribuțiile mai multor variabile în același timp.

2.2. Interpretare

Boxplot este o tehnică de vizualizare excelentă deoarece permite trasarea mai multor boxplot-uri unul lângă altul. Având această imagine de ansamblu foarte rapidă a variabilelor ne dă o idee despre distribuție și, ca un „bonus”, obținem rezumatul complet cu 5 numere care ne va ajuta în analizele ulterioare.

Ar trebui să vă uitați la două lucruri:

  • Distribuția este simetrică (așa cum este distribuția normală)?
  • Lățimea (opusul punctiformității) corespunde lățimii distribuției normale? Acest lucru este greu de văzut pe un box plot.

Boxplots normal (stânga), uniform (mijloc) și exponențial (dreapta) vs curba clopotului normal

2.3. Implementare

Un boxplot poate fi implementat cu ușurință în python după cum urmează:

Crearea unui boxplot folosind pandas în python

2.4. Concluzie

Boxplot-ul este o modalitate excelentă de a vizualiza distribuțiile mai multor variabile în același timp, dar o abatere în lățime/punctare este greu de identificat folosind box plots.

3.1. Introducere

Cu diagramele QQ începem să intrăm în lucruri mai serioase, deoarece acestea necesită un pic mai multă înțelegere decât metodele descrise anterior.

Plot QQ este acronimul de la Quantile vs Quantile Plot, care este exact ceea ce face: trasează cuantele teoretice față de cuantele reale ale variabilei noastre.

Plotul QQ ne permite să vedem abaterea unei distribuții normale mult mai bine decât într-o Histogramă sau un Box Plot.

3.2. Interpretare

Dacă variabila noastră urmează o distribuție normală, cuantele variabilei noastre trebuie să fie perfect în concordanță cu cuantele normale „teoretice”: o linie dreaptă pe QQ Plot ne spune că avem o distribuție normală.

Ploturi QQ normale (stânga), uniforme (mijloc) și exponențiale (dreapta)

După cum se vede în imagine, punctele de pe un QQ Plot normal urmează o linie dreaptă, în timp ce alte distribuții deviază puternic.

  • Distribuția uniformă are prea multe observații în ambele extremități (valori foarte mari și foarte mici).
  • Distribuția exponențială are prea multe observații pe valorile cele mai mici, dar prea puține pe valorile cele mai mari.

În practică, vedem adesea ceva mai puțin pronunțat, dar cu o formă similară. Suprareprezentarea sau subreprezentarea în coadă ar trebui să provoace îndoieli cu privire la normalitate, caz în care ar trebui să folosiți unul dintre testele de ipoteză descrise mai jos.

3.3. Implementare

Implementarea unui QQ Plot se poate face folosind api statsmodels în python, după cum urmează:

Crearea unui QQ Plot folosind statsmodels

3.4. Concluzie

Plotul QQ ne permite să vedem abaterea de la o distribuție normală mult mai bine decât într-o histogramă sau un box plot.

Testul Kolmogorov Smirnov

Dacă QQ Plot și alte tehnici de vizualizare nu sunt concludente, inferența statistică (Testarea ipotezelor) poate oferi un răspuns mai obiectiv pentru a afla dacă variabila noastră se abate semnificativ de la o distribuție normală.

Dacă aveți îndoieli cu privire la cum și când să utilizați testarea ipotezelor, iată un articol care oferă o explicație intuitivă a testării ipotezelor.

Testul Kolmogorov Smirnov calculează distanțele dintre distribuția empirică și distribuția teoretică și definește statistica testului ca fiind suma supremă a setului acestor distanțe.

Avantajul este că aceeași abordare poate fi folosită pentru a compara orice distribuție, nu neapărat doar distribuția normală.

Testul KS este bine cunoscut, dar nu are prea multă putere. Acesta poate fi folosit pentru alte distribuții decât cea normală.

4.2. Interpretare

Statistica de testare a testului KS este statistica Kolmogorov Smirnov, care urmează o distribuție Kolmogorov dacă ipoteza nulă este adevărată.

Dacă datele observate urmează perfect o distribuție normală, valoarea statisticii KS va fi 0. Valoarea P este utilizată pentru a decide dacă diferența este suficient de mare pentru a respinge ipoteza nulă:

  • Dacă valoarea P a testului KS este mai mare de 0,05, presupunem că există o distribuție normală
  • Dacă valoarea P a testului KS este mai mică de 0,05, nu presupunem că există o distribuție normală

4.3. Implementare

Testul KS în Python folosind Scipy poate fi implementat după cum urmează. Acesta returnează statistica KS și valoarea P a acesteia.

Aplicarea testului KS în Python folosind Scipy

4.4. Concluzie

Testul KS este bine cunoscut, dar nu are prea multă putere. Aceasta înseamnă că este necesar un număr mare de observații pentru a respinge ipoteza nulă. De asemenea, este sensibil la valorile aberante. Pe de altă parte, poate fi folosit pentru alte tipuri de distribuții.

Testul Lilliefors

Testul Lilliefors se bazează puternic pe testul KS. Diferența constă în faptul că, în testul Lilliefors, se acceptă ca media și varianța distribuției populației să fie estimate, mai degrabă decât pre-specificate de utilizator.

Din acest motiv, testul Lilliefors utilizează mai degrabă distribuția Lilliefors decât distribuția Kolmogorov.

Din păcate pentru Lilliefors, puterea sa este încă mai mică decât testul Shapiro Wilk.

5.2. Interpretare

  • Dacă valoarea P a testului Lilliefors este mai mare de 0,05, presupunem că există o distribuție normală
  • Dacă valoarea P a testului Lilliefors este mai mică de 0,05, nu presupunem că există o distribuție normală

5.3. Implementare

Implementarea testului Lilliefors în statsmodels va returna valoarea statisticii testului Lilliefors și valoarea P după cum urmează.

Atenție: în implementarea statsmodels, valorile P mai mici de 0.001 sunt raportate ca 0,001, iar valorile P mai mari de 0,2 sunt raportate ca 0,2.

Aplicarea testului Lilliefors folosind statsmodels

5.4. Concluzie

Deși Lilliefors este o îmbunătățire a testului KS, puterea sa este încă mai mică decât cea a testului Shapiro Wilk.

Testul Shapiro Wilk

Testul Shapiro Wilk este cel mai puternic test atunci când se testează pentru o distribuție normală. Acesta a fost dezvoltat special pentru distribuția normală și nu poate fi folosit pentru testarea față de alte distribuții, ca de exemplu testul KS.

Testul Shapiro Wilk este cel mai puternic test atunci când se testează o distribuție normală.

6.2. Interpretare

  • Dacă valoarea P a testului Shapiro Wilk este mai mare de 0,05, presupunem o distribuție normală
  • Dacă valoarea P a testului Shapiro Wilk este mai mică de 0,05, nu presupunem o distribuție normală

6.3. Implementare

Testul Shapiro Wilk poate fi implementat după cum urmează. Acesta va returna statistica testului numită W și valoarea P.

Atenție: pentru N > 5000, statistica testului W este precisă, dar valoarea p poate să nu fie.

Aplicarea testului Shapiro Wilk folosind statsmodels în Python

6.4. Concluzie

Testul Shapiro Wilk este cel mai puternic test atunci când se testează o distribuție normală. Ar trebui să folosiți neapărat acest test.

Concluzie – ce abordare să folosiți!

Pentru o identificare rapidă și vizuală a unei distribuții normale, folosiți un grafic QQ dacă aveți o singură variabilă de analizat și un grafic Box dacă aveți mai multe. Folosiți o histogramă dacă trebuie să vă prezentați rezultatele unui public care nu are cunoștințe statistice.

Ca test statistic pentru a vă confirma ipoteza, utilizați testul Shapiro Wilk. Este cel mai puternic test, care ar trebui să fie argumentul decisiv.

Când testați față de alte distribuții, nu puteți folosi Shapiro Wilk și ar trebui să folosiți, de exemplu, testul Anderson-Darling sau testul KS.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.