KOLMOGOROV-SMIRNOV TEST

A közelmúltban a munkahelyünkön sok felügyelet nélküli osztályozást kellett végeznünk. Alapvetően N osztályt kellett megkülönböztetnünk egy mintapopulációból. Nagyjából tudtuk, hogy hány osztály van, de semmi sem volt biztos, ezért felfedeztük a Kolmogorov-Smirnov tesztet, amely egy nagyon hatékony módszer annak megállapítására, hogy két minta szignifikánsan különbözik-e egymástól.

Adok egy kis kontextust a Kolmogorov-Smirnov tesztről, és végigvezetlek egy problémán, amit megoldottunk vele.

Original post on coffeeanddata.ca

A nullhipotézis elutasítása. Ez úgy hangzik, mint egy fájdalmas emlék az egyetemi statisztikaóráról, de valójában pontosan ez az, amit itt csinálni akarunk. El akarjuk vetni azt a lehetőséget, hogy a két minta pontosan ugyanabból az eloszlásból származik. Nézzünk egy nagyon magas szintű, nem matematikai áttekintést néhány rendelkezésre álló tesztről. Ha jól meg akarod érteni az összes ilyen teszt mögött álló matematikát, használd az összes fejezetben megadott Wikipédia-linket.

STUDENT’S T-TEST

A Student’s T-Test talán a legismertebb módja a nullhipotézis elutasításának. Ez a teszt kiszámítja egy minta P-értékét egy normál populációval vagy egy másik mintával szemben. Az eredmény, a P-érték megmondja, hogy ezek a minták milyen valószínűséggel származnak pontosan ugyanabból az eloszlásból.

A kapott P-értéket össze lehet hasonlítani egy statisztikai szignifikancia küszöbértékkel (pl. .05), ha a P-érték kisebb, akkor elvethetjük a nullhipotézist.

A Student T-teszttel van egy probléma, a mintáknak normálisnak kell lenniük (normális eloszlásban alakultak). Ez számunkra problémát jelent, mivel sokat dolgozunk Poisson-eloszlásokkal.

KOLMOGOROV-SMIRNOV TESZT

A Kolmogorov-Smirnov teszt (KS teszt) egy kicsit összetettebb, és lehetővé teszi olyan minták felderítését, amelyeket a Student T-teszttel nem tudunk felderíteni.

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.

stackexchange.com

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. Más szavakkal:

  • A Student’s T-Test azt mondja, hogy 79,3% az esélye annak, hogy a két minta ugyanabból az eloszlásból származik.
  • A KS teszt azt mondja, hogy 1,6% az esélye annak, hogy a két minta ugyanabból az eloszlásból származik.

MÁS TESZTEK

Egy ilyen típusú munkához számos más Teszt és algoritmus létezik. A Shapiro-Wilk teszt és az Anderson-Darling teszt két, a KS tesztnél erősebbnek tartott teszt. Ennek a két tesztnek van egy nagy hátránya, nem lehet velük két mintát összehasonlítani, mindig egy standard eloszlású mintát hasonlítanak össze.

Szerkesztés: Egy kollégám megmutatta, hogy az Anderson-Darling tesztet kétirányú tesztelésre (minták összehasonlítására) is lehet használni.

“A kétmintás K-S teszt az egyik leghasznosabb és legáltalánosabb nem parametrikus módszer két minta összehasonlítására.” – Wikipedia.”

DETECT DEVICE USER

Ezzel a konkrét feladattal azt kellett felismerni, hogy melyik felhasználó használ egy adott eszközt. Minden eszközt egy vagy több különböző felhasználó használt, és ki kellett találnunk egy olyan technikát, amellyel azonosítani tudtuk, hogy egy vagy több felhasználóról van-e szó. Több felhasználó esetén azt akartuk azonosítani, hogy melyik felhasználó melyik használatot végezte.

MAGUNK STRATÉGIA

Úgy döntöttünk, hogy a gráfhálózat és a KS teszt keverékét használjuk a potenciális klaszterek azonosítására. A demó lényege, hogy egy olyan gráfhálózatot képzeltünk el, ahol minden csomópont (minta) minden más csomóponttal (mintával) kapcsolatban állt. Az e csomópontok közötti csúcsok vagy kapcsolat nekem KS Test, más szóval, mennyire közel van ez a két csomópont. Tehát két alacsony KS P-értékkel rendelkező csomópont közel lenne, két magas P-értékkel rendelkező pedig távol. Ez remélhetőleg megkülönböztethető klasztereket hozna létre.

Adatkészlet

Íme, így néznek ki az adataink:

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.A KS mátrix hőtérképének gyors megtekintése nem mutat egyértelmű eredményeket (Amint az a jobb oldali ábrán látható).

Az így hierarchikus klaszterezés után már jobb eredményeket kapunk (Amint az a következő ábrán látható.)

Ebben a két dendrogram vizualizációban, láthatunk néhány potenciális (3) klasztert. A felülvizsgálat után ezek a klaszterek jelentéktelennek bizonyultak.

NETWORK GRAPH

A sikertelen dendrogram klaszterezés után megpróbálkoztunk a javasolt Graph megközelítéssel. A cél itt is az, mint korábban már kifejtettük, hogy az összes lehetséges csomópontot és csúcsot grafikusan ábrázoljuk. A csúcsok hossza a KS tesztérték. El kellett távolítanunk az önreferenciát (ami mindig 0 volt (nyilván tökéletesen hasonlítasz magadra).

We then ended up with a network graph where everybody was connected with everybody else which is not particularly useful.

The next step is to only keep the significant link (lower than a certain threshold)

As we can see on this picture, we got a very exciting result. We can clearly see two distinct clusters and three outliers.

This would perfectly fit our model, the big cluster must be the main user and the second cluster could be the alternative user.

After a validity verification, we did find out that the cluster identified some difference between the usage of clusters 1 and 2 but not the one we were looking for. Más szóval, nem oldotta meg a problémánkat, de valójában egy másik mintát talált, amely más kontextusban hasznos lehet.

ÖSSZEGZÉS

A munka után arra a következtetésre jutottunk, hogy a KS teszt egy nagyon hatékony módszer a különböző eloszlású minták automatikus megkülönböztetésére. Nem oldotta meg pontosan a problémánkat, de megmutatta, hogy könnyen használható az adattudományi kontextusban.

A mai napon bemutattam az egyik problémát, amit a KS Teszt segítségével oldottunk meg, de más problémákra is használtuk. A KS Test tényleg kezd egy jó teszt lenni az adattudományi svájci bicskánkban.

Még többet szeretnél olvasni

Kövess a blogomon: coffeeanddata.ca

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük