Jak dokładny jest IQR w wykrywaniu wartości odstających


11

Piszę skrypt analizujący czasy uruchamiania procesów. Nie jestem pewien ich dystrybucji, ale chcę wiedzieć, czy proces działa „za długo”. Do tej pory korzystałem z 3 standardowych odchyleń czasów ostatniego uruchomienia (n> 30), ale powiedziano mi, że nie zapewnia to niczego użytecznego, jeśli dane nie są normalne (co nie wydaje się być). Znalazłem inny test odstający, który stwierdza:

Znajdź zakres między kwartylami, który wynosi IQR = Q3 - Q1, gdzie Q3 jest trzecim kwartylem, a Q1 to pierwszy kwartyl. Następnie znajdź te dwie liczby:

a) Q1 - 1,5 * IQR b) Q3 + 1,5 * IQR

Punkt jest wartością odstającą, jeśli <a lub> b

Moje dane to zazwyczaj 2 sekundy, 3 sekundy, 2 sekundy, 5 sekund, 300 sekund, 4 sekundy,… gdzie 300 sekund jest oczywiście wartością odstającą.

Która metoda jest lepsza? Metoda IQR czy metoda odchylenia standardowego?


4
Możesz sprawdzić odpowiedź @ user603 tutaj: czy istnieje wariant boxplot dla danych rozproszonych poissona, aby uzyskać informacje na temat dostosowania tej reguły dla danych wypaczonych.
gung - Przywróć Monikę

3
Ta metoda „IQR” nigdy nie była przeznaczona do stosowania na ślepo. Jest to część procesu eksploracyjnej analizy danych (opisanej przez Nicka Coxa w jego odpowiedzi), podczas której najpierw znalazłbyś sposób na reekspresję danych, aby były one w przybliżeniu symetrycznie rozłożone.
whuber

2
W oparciu o komentarze do odpowiedzi poprawna odpowiedź brzmi „nie”, ponieważ twoja podstawowa obawa nie dotyczy wartości odstających, lecz samego procesu.
whuber


Liczby są liczone w czasie, więc nigdy nie będą symetryczne, chyba że przeskalujesz je w jakiś sposób.
JP Bennett

Odpowiedzi:


14

Naprawdę są całe książki na temat wartości odstających.

Zwykle konkretną odpowiedzią jest to, że odchylenie standardowe jest podnoszone przez wartości odstające, więc każda reguła oparta na SD może działać słabo.

Reguły Tukeya dotyczące kwartyli +/- 1,5 IQR, które zacytowałeś, pochodziły z pracy ręcznej z małymi i średnimi zbiorami danych w latach siedemdziesiątych i zostały zaprojektowane tak, aby wskazywać wartości, o których warto pomyśleć indywidualnie. Nie jest jasne, czy przenoszą się one do znacznie większych zestawów danych, ani że mają zastosowanie, gdy spodziewamy się znacznego zniekształcenia.

Bardziej ogólną odpowiedzią jest to, że zasada wartości odstających jest dobra, jeśli zawsze podejmuje właściwe decyzje, ale jak możesz to stwierdzić?

To kontrowersyjne terytorium, ale spodziewałbym się, że na wykresie będzie występować wartość odstająca, ponieważ różni się bardzo od innych. Ale często (zwykle?) Trudno jest powiedzieć różnicę między tym, czego oczekujesz w dystrybucji z grubymi ogonami, a tym, co jest zbyt dzikie, by traktować je jak coś wyjątkowego. Czasami transformacja sprawia, że ​​wartość odstająca wygląda znacznie bardziej zwyczajnie.

Ponadto, jeśli zastosujesz solidne metody, możesz mniej martwić się o to, które wartości zasługują na miano wartości odstających, ale raczej martw się ogólnie o wartości odstające.


1

Mówisz, że nie jesteś pewien dystrybucji, ale trwające procesy są łatwe do zebrania i oceny pod kątem dystrybucji. Po prostu oszczędzaj wiele razy i analizuj je. Biorąc pod uwagę czasy, które opublikowałeś, możesz dostać wiele w kilka godzin.

Poszukiwanie reguły wartości odstającej nie musi być tak ogólne. Może być specyficzny dla twojego zadania. Jesteś w stanie zebrać dużo danych. Zbierz go, zbadaj, a następnie zdecyduj, kiedy proces jest zbyt długi. Być może podejście oparte na IQR będzie działać, ale możesz użyć zestawu danych lub dopasowania parametrycznego, aby wykonać symulacje i sprawdzić, czy działa dobrze. To samo dotyczy SD. Być może> 50 lat jest za długi i to wszystko, czego potrzebujesz.


Zbieram dane dotyczące kilku procesów. Każdy z nich może mieć różne rozkłady. Potrzebuję tylko prostego sposobu, aby powiedzieć „zbyt długi czas pracy”, aby ostrzec techników przed dalszym badaniem rzeczy. Może być ogólny, pod warunkiem, że oflaguje rzeczy, które powinny zostać oflagowane. Jeśli pojawi się kilka fałszywych trafień, niech tak będzie. Jednak fałszywe alarmy powinny być ograniczone do minimum, ponieważ jeśli jest ich zbyt wiele, to przeczy celowi skryptu i powinienem po prostu zrzucić wszystkie wyniki i pozwolić technikom na to. Celem skryptu jest „zawężenie rzeczy”
Chris Bedd

Możesz ocenić, czy procesy są takie same czy różne. Jeśli tak naprawdę są bardzo różne, niektóre ogólne reguły mogą powodować, że określony proces uruchamia ostrzeżenie częściej niż to konieczne. Ta informacja powinna naprawdę znajdować się w twoim pytaniu.
Jan

3
Chris, scharakteryzowanie tego problemu jako poszukiwanie wartości odstających, to niesprawiedliwość: w rzeczywistości zajmujesz się problemem kontroli jakości . Główne rozróżnienia to (1) masz ciągły strumień danych zamiast statycznego zestawu danych do analizy i (2) zamierzasz określić okresowe działania, które należy podjąć w wyniku każdej analizy: to znaczy, czy interweniować (i próbować ulepszyć proces) lub nie (i pozwól, aby proces działał bez zmian). Zrozumienie, że taka jest natura twojego problemu, pokazuje, że ogromna literatura na temat kontroli jakości jest istotna, zapewniając bogaty asortyment rozwiązań.
whuber

+1 @ whuber. Wartości odstające nie są tu istotne. Ani średni czas działania, ani żaden jego percentyl nie jest związany z tym, co jest „za długie”. Sposób, aby dowiedzieć się, co jest „zbyt długie”, może być ankietą użytkowników lub czekiem z inżynierami, lub po prostu zgadywaniem spodni lub czymś innym, ale nie jest to pytanie statystyczne.
Peter Flom - Przywróć Monikę
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.