Un instrument necesar în setul de instrumente pentru știința datelor
În ultimul timp, la locul de muncă, a trebuit să facem o mulțime de clasificări nesupravegheate. Practic, a trebuit să distingem N clase dintr-o populație eșantionată. Aveam o idee aproximativă despre câte clase erau prezente, dar nimic nu era sigur, am descoperit testul Kolmogorov-Smirnov o modalitate foarte eficientă de a determina dacă două eșantioane sunt semnificativ diferite unul de celălalt.
Voi oferi un pic de context cu privire la testul Kolmogorov-Smirnov și vă voi prezenta o problemă pe care am rezolvat-o cu acesta.
Post original pe coffeeanddata.ca
Respingerea ipotezei de nul. Asta sună ca o amintire dureroasă de la cursul de statistică de la universitate, dar de fapt este exact ceea ce vrem să facem aici. Vrem să respingem posibilitatea ca cele două eșantioane să provină exact din aceeași distribuție. Să ne uităm la o prezentare generală de nivel foarte înalt, nematematic, a unor teste disponibile. Dacă doriți să înțelegeți bine matematica din spatele tuturor acestor teste, folosiți linkul Wikipedia furnizat în toate secțiunile.
STUDENT’S T-TEST
Testul T al lui Student este probabil cel mai bine cunoscut mod de respingere a ipotezei nule. Acest test calculează valoarea P a unui eșantion față de o populație normală sau față de un alt eșantion. Rezultatul, valoarea P, vă spune cât de probabil este ca aceste eșantioane să provină din exact aceeași distribuție.
Când se obține, valoarea P poate fi comparată cu un prag numit semnificație statistică (de exemplu, 0,05), dacă valoarea P este mai mică, putem respinge ipoteza nulă.
Există o problemă cu testul T al lui Student, eșantioanele trebuie să fie normale (să aibă forma unei distribuții normale). Aceasta este o problemă pentru noi, deoarece lucrăm foarte mult cu distribuții Poisson.
TESTUL KOLMOGOROV-SMIRNOV
Testul Kolmogorov-Smirnov (Testul KS) este un pic mai complex și vă permite să detectați modele pe care nu le puteți detecta cu testul T al lui Student.
From Wikipedia:
„The Kolmogorov–Smirnov statistic quantifies a distance between the empirical distribution function of the sample and the cumulative distribution function of the reference distribution, or between the empirical distribution functions of two samples.”
Here is an example that shows the difference between Student’s T-Test and KS Test.
Because the sample mean and standard deviation are highly similar the Student’s T-Test gives a very high p-value. KS Test can detect the variance. In this case the red distribution has a slightly binomial distribution which KS detect. Cu alte cuvinte:
- Testul T al lui Student spune că există 79,3% șanse ca cele două eșantioane să provină din aceeași distribuție.
- Testul KS spune că există 1,6% șanse ca cele două eșantioane să provină din aceeași distribuție.
ALTE TESTE
Există multe alte Teste și algoritmi pentru a face acest tip de lucru. Testul Shapiro-Wilk și testul Anderson-Darling sunt două teste considerate mai puternice decât testul KS. Există un dezavantaj major cu aceste două teste, ele nu vă permit să comparați două eșantioane, ele compară întotdeauna un eșantion cu o distribuție standard.
Edit: Un coleg mi-a arătat că Anderson-Darling ar putea fi, de asemenea, utilizat pentru testarea în două direcții (Compararea eșantioanelor).
„Testul K-S cu două eșantioane este una dintre cele mai utile și generale metode neparametrice pentru compararea a două eșantioane” – Wikipedia.” – Wikipedia.
DETECTAREA UTILIZATORULUI DE DISPOZITIV
Pentru această temă specifică a trebuit să detectăm ce utilizator folosește un anumit dispozitiv. Fiecare dispozitiv a fost folosit de unul sau mai mulți utilizatori diferiți și a trebuit să găsim o tehnică pentru a identifica dacă există unul sau mai mulți utilizatori. În cazul utilizatorilor multipli, am vrut să identificăm ce utilizare a fost făcută de către ce utilizator.
STRATEGIA NOASTRĂ
Am decis să folosim un amestec de rețea grafică și KS Test pentru a identifica potențialele clustere. Ideea din spatele acestui demo este să ne imaginăm o rețea grafică în care fiecare nod (eșantion) a fost conectat la fiecare alt nod (eșantion). Verticile sau legătura dintre aceste noduri ar me KS Test, cu alte cuvinte, cât de apropiate sunt aceste două noduri. Astfel, două noduri cu o valoare P KS scăzută ar fi apropiate, iar două noduri cu o valoare P ridicată ar fi departe. Sperăm că acest lucru ar crea clustere distincte.
DATA SET
Iată cum arată datele noastre:
As you can see, all our sample looks like a normal distribution with a very low standard deviation. We have sampled all the 82 different usage sessions of this device.
Strait from this picture we can see that there are different patterns. All the sample does not have the same histogram distribution. That is a very good start. After this we looked at the obvious cluster of distribution.
To do so, we did the KS matrix, which consists of a KS Two way test of every sample distribution vs every other sample.O vizualizare rapidă a hărții termice a matricei KS nu dezvăluie rezultate evidente (După cum puteți vedea în figura din dreapta).
După o grupare ierarhică atât de ierarhică, obținem deja niște rezultate mai bune. (După cum puteți vedea în figura următoare.)