A Kolmogorov-Lilliefors egy hipotézis teszt, ami arra próbál válaszolni: az adatok normál eloszlásból származnak-e?
Ez a teszt lényegében a Kolmogorov–Smirnov teszt normál eloszlásokra alkalmazott változata. A lényegi különbség a kettő között: hogy míg a Kolmogorov–Smirnov-ban az adatokat egy konkrét paraméterű eloszlással hasonlítjuk össze, addig itt, általánosságban kérdezzük, hogy az adatok egy bármilyen paraméterű normál eloszlásból származnak-e? Vagyis ha például azt szeretném megtudni, hogy az adatok a 0 középértékű, és 1 varianciájú Normál eloszlásból származnak-e, akkor Kolmogorov–Smirnov-t használunk.
A teszt alapja ezek után nem meglepő módon ugyanaz, mint a Kolmogorov–Smirnov-é. Vagyis fogjuk a megfigyeléseinket, normalizáljuk őket a megfigyelés átlagával és varianciájával. Ezután előállítjuk az empirikus CDF-et. Ez ugye egy lépcsős függvény lesz. Majd ezt a függvényt összevetjük a standard Normál eloszlás eloszlásfüggvényével. Megnézzük, hol a legnagyobb a különbség közöttük. Ez lesz a kritikus értékünk. Grafikusan:

Ezt már csak össze kell vetnünk a Lilliefors által közölt táblázattal. Ha a kapott értékünk kisebb mint a táblázatban szereplő kritikus érték, akkor nem utasítjuk el a feltételezést, hogy Gaussian eloszlásból származik a minta.
Nézünk egy megvalósítást Pythonban
import numpy as np def kolmogorovLilliefors(x): # megfigyelés normalizálása xnorm = np.divide(np.subtract(x, np.mean(x)), np.sqrt(np.var(x))) # empirikus CDF ugrass elott es utan sxup = np.array([float(xi) / float(len(x)) for xi in range(1, len(x) + 1)]) sxdown = np.array([float(xi) / float(len(x)) for xi in range(0, len(x))]) # a Standard normál eloszlás értéke a mintákban from scipy.stats import norm fx = norm.cdf(xnorm) # KL szamitas klup = np.abs(np.subtract(fx, sxup)) kldown = np.abs(np.subtract(fx, sxdown)) if klup[np.argmax(klup)] > kldown[np.argmax(kldown)]: return(klup[np.argmax(klup)]) else: return(kldown[np.argmax(kldown)])
Nézzünk egy számítási példát. Ha a mintavételünk a [ 0,1; 0,01; 0,2; 0,28; 0,8 ], akkor a Kolmogorov-Lilliefors értéke: 0.29711368236903424. A linkelt táblázat alapján a kritikus érték 85%-os valószínűséghez: 0.299 , és 80% valószínűséghez padig: 0.285. Vagyis az első alapján nem utasítjuk el, a feltételezést, hogy a minta Gaussian populációból származik, míg a második alapján igen.
“Kolmogorov-Lilliefors teszt” bejegyzéshez 2 hozzászólás