Wykrywanie anomalii za pomocą funkcji manekina (i innych funkcji dyskretnych / kategorialnych)

18

tl; dr

  • Jaki jest zalecany sposób postępowania z discretedanymi podczas wykrywania nieprawidłowości?
  • Jaki jest zalecany sposób postępowania categoricaldanymi podczas wykrywania nieprawidłowości?
  • Ta odpowiedź sugeruje użycie dyskretnych danych tylko do filtrowania wyników.
  • Być może zastąpisz wartość kategorii procentową szansą obserwacji?

Wprowadzenie

To jest mój pierwszy post tutaj, więc proszę, jeśli coś nie wydaje się technicznie poprawne, ani w formatowaniu, ani w użyciu prawidłowych definicji, jestem zainteresowany tym, co powinno być użyte zamiast tego.

Dalej.

Niedawno brałem udział w uczeniu maszynowym zajęciach Andrew Ng

W wykrywaniu anomalii nauczono nas określać, jakie są parametry rozkładu normalnego / Gaussa dla danej cechy / zmiennej, xi w zbiorze danych, a następnie określać prawdopodobieństwo wybranego zestawu wartości przykładu treningu / obserwacji, biorąc pod uwagę ten konkretny Rozkład Gaussa, a następnie biorąc iloczyn prawdopodobieństwa cech.

metoda

Wybierz xi funkcje / zmienne, które uważamy wyjaśnić daną działalność:

{x1,x2,,xi}

Dopasuj parametry Gaussa dla każdej cechy:

μj=1mi=1mxj(i)
σ2=1mi=1m(xj(i)μj)2

Dla każdego przykładu treningowego x oblicz:

p(x)=j=1n p(xj;μj,σj2)

Następnie oflagujemy jako anomalię ( y=1 ), biorąc pod uwagę:

y={1p(x)<ϵ0p(x)ϵ

Daje nam to metodę ustalenia, czy przykład wymaga dalszej kontroli.

Moje pytania)

Wydaje się to w porządku dla ciągłych zmiennych / cech, ale dane dyskretne nie są adresowane.

Co ze zmiennymi fikcyjnymi, np. Funkcją flagi płci, prawdopodobnie nazywaną, [IsMale]która może mieć wartość ? Aby wziąć pod uwagę funkcję fikcyjną, zastosowalibyśmy rozkład dwumianowy do obliczenia p ( x )0,1p(x) ?

Co z kategorycznymi danymi, takimi jak kolor samochodu? Podczas gdy moglibyśmy odwzorować kolory na wartości liczbowe, np. , rozkład takiej jakościowej cechy może być zbliżony do jednorodności (tj. Równie prawdopodobne prawdopodobieństwo, że będzie którykolwiek z kolorów), a ponadto , ponieważ każda mapowania liczbowy występuje (tj r e d o wartości 1 , etc.) nie są porządkową, to sens, aby spróbować transformacji dowolnego niż rozkład normalny częstotliwości dla kolorów, które mają być rozkładem normalnym (czy nawet względu, że to nie jest porządkowe ??)? Na przykład, do mnie, to nie ma sensu robić l Ored1,blue2red1 przekształca, ponieważ dane nie są ciągłe ani porządkowe. Więc może najlepiej byłoby znaleźćdyskretny rozkład,który pasuje do tej funkcji, zamiast „torturować” dane, aby pasowały do ​​Gaussa?log()

Pytania: (zaktualizowano: 24.11.2015)

  • Czy zmienne binarne można modelować z dwumianowym rozkładem prawdopodobieństwa i stać się kolejnym czynnikiem w obliczeniach ?p(x)
  • Czy zmienne kategoryczne powinny być modelowane z dyskretnym rozkładem prawdopodobieństwa zamiast Gaussa i stać się kolejnym czynnikiem w obliczeniach ?p(x)
  • Czy jest jakaś inna metoda, która bierze pod uwagę to, o co tutaj pytam, że mogę dalej badać / dowiedzieć się o niej?
  • Jaki jest zalecany sposób postępowania z discretedanymi podczas wykrywania nieprawidłowości?
  • Jaki jest zalecany sposób postępowania z categoricaldanymi podczas wykrywania nieprawidłowości?

Edytuj: 2017-05-03

  • Ta odpowiedź sugeruje użycie dyskretnych danych tylko do filtrowania wyników.
  • Być może zastąpisz wartość kategorii procentową szansą obserwacji?
Adrian Torrie
źródło
<disclaimer> Jestem kimś z wystarczającą ilością statystyk, by być niebezpiecznym. </disclaimer> Więc bądźmy niebezpieczni ... Moja intuicja zgadza się z twoją, że Gaussian nie jest sposobem na radzenie sobie z nieciągłymi danymi. W przypadku danych ciągłych jedna wartość na linii liczbowej ma inny związek ze wszystkimi innymi wartościami niż liczba na linii liczb całkowitych lub zmienna binarna. Rozkłady dwumianowe opisują zmienne binarne. Rozkłady wielomianowe opisują zmienne wielomianowe. Czy to nie wszyscy wykładniczy członkowie rodziny?
EngrStudent - Przywróć Monikę
Kolejna, która może dodać do dowolnej dyskusji: Temat: odstające kategorie?
Adrian Torrie,
@ iValueValue Co zawiera w czwartej formule? Czy to p ( x ; μ , σ 2 ) = 1p ? p(x;μ,σ2)=1σ2πe(xμ)22σ2
Alessandro Jacopson
@uvts_cvs tak, używana jest funkcja gęstości prawdopodobieństwa gaussaiana.
Adrian Torrie,

Odpowiedzi:

4

Zasadniczo, zarówno dla cech dyskretnych *, jak i kategorycznych, ta metoda nie jest szczególnie podatna na analizę wartości odstających. Ponieważ nie ma wielkości powiązanej z predyktorami jakościowymi, współpracujemy z:

  • Częstotliwość kategorii obserwowana w danych globalnych
  • Częstotliwość obserwowanej kategorii w podprzestrzeni danych

Zauważ, że żadnej z tych cech nie można analizować w oderwaniu, jak wymaga tego twoja metoda gaussowska. Zamiast tego potrzebujemy metody, która kontekstualizuje cechy jakościowe i uwzględnia korelacyjny charakter danych.

Oto kilka technik dla danych atrybutowych jakościowych i mieszanych, opartych na analizie wartości odstających autorstwa Aggarwal:

  • SS=Qkλk2QkTQkmi=Qkλkmi, obliczyć jego odległość od środka ciężkości; jest to twój wynik odstający i możesz użyć metod jednoznacznych do ustalenia odstających wyników.
  • Jeśli masz cechy czysto jakościowe, dopasuj model mieszanki do surowych danych kategorycznych. Punkty anomalne mają najniższe prawdopodobieństwo generacyjne.
  • Użyj kodowania typu „hot” dla predyktorów jakościowych i opcjonalnie analizy zmiennych utajonych ** dla zmiennych porządkowych z niewidzialnymi ciągłymi mapowaniami
    • Standaryzuj funkcje inne niż gorące (funkcje jednorazowe są już domyślnie ujednolicone) i przeprowadzaj analizę głównych składników . Wykonaj redukcję wymiarów przy użyciu głównych głównych składników (lub miękkiego podejścia PCA, w którym wektory własne są ważone wartościami własnymi) i uruchom typową metodę ciągłej analizy wartości odstających (np. Model mieszanki lub metodę Gaussa)
    • Wykonaj analizę kątową. Dla każdej obserwacji oblicz podobieństwa cosinus między wszystkimi parami punktów. Obserwacje z najmniejszą wariancją tych podobieństw (znane jako „czynnik odstający oparty na kącie”) są najprawdopodobniej wartościami odstającymi. Może wymagać ostatecznej analizy rozkładu empirycznego ABOF w celu ustalenia, co jest anomalne.
    • Jeśli oznaczyłeś wartości odstające: Dopasuj model predykcyjny do danych inżynieryjnych (regresja logistyczna, SVM itp.).

* Funkcje dyskretne mogą być obsługiwane w przybliżeniu w metodzie Gaussa. W odpowiednich warunkach cechę można dobrze aproksymować rozkładem normalnym (np. Dwumianowa zmienna losowa o npq> 3). Jeśli nie, potraktuj je jak porządki opisane powyżej.

** Jest to podobne do Twojego pomysłu „zastąpić wartość kategorii procentową szansą na obserwację”

khol
źródło
Jak dopasować model mieszanki do surowych danych jakościowych? Czy ty po prostu maszK.=1? I działa z wieloma kategorycznymi funkcjami?
Akababa
@Akababa Możesz na przykład obliczyć MLE na parametrach wielomianowych przy użyciu algorytmu EM. Zakładając niezależność wielomianowych RV, podejście to uogólnia na arbitralne zestawy predyktorów jakościowych. Przykład tutaj
khol
0

Matematyka klasy Andrew Ng obsługuje dane „dyskretne”, podobnie jak dane „niedyskretne”. Wszystko, co musimy zrobić, to empirycznie oszacować normalne parametry rozkładu i można to doskonale zrobić w przypadku danych dyskretnych.

Jeśli się nad tym zastanowić, uczenie maszynowe zawsze zajmuje się dyskretnymi danymi: liczba punktów danych nie jest nieskończona, a liczba bitów obsługiwanych przez komputery nie jest nieskończona.

Jeśli dyskretne punkty danych można porównać między sobą, nie ma zasadniczej różnicy w metodach uczenia maszynowego w przypadku, powiedzmy, długości: 1,15 stopy 1,34 stopy 3,4 stopy

lub ile gałęzi jest na drzewie: 1 2 3 5

Liczby zmiennoprzecinkowe lub liczby całkowite można sumować tak samo.

Teraz do danych kategorycznych. Punktów danych kategorycznych nie można porównywać {samochód vs motocykl vs łódź). Jak sobie z tym poradzić?

Aby kategorie miały sens, liczba kategorii musi wynosić co najmniej dwie, w przeciwnym razie jaki jest sens stałej cechy? W przypadku 2 kategorii możemy przedstawić funkcję kategorii jako funkcję binarną {0, 1}. 0 i 1 mogą być użyte do matematyki, więc patrz wyżej.

Jeśli liczba kategorii (K) wynosi [3 .. inf], odwzorowujemy naszą pojedynczą cechę na funkcje binarne K wzajemnie wykluczające się. Na przykład kategoria „motocykl” staje się kombinacją funkcji binarnych {IsCar: 0, IsMotorcycle: 1, IsBoat: 0}, Boat point staje się {IsCar: 0, IsMotorcycle: 0, IsBoat: 1} i tak dalej.

Możemy oszacować empiryczne parametry dystrybucji na podstawie tych nowych funkcji. Po prostu będziemy mieć więcej wymiarów, to wszystko.

Oscar92
źródło
1
To wyjaśnia kodowanie fikcyjne, ale to nie jest odpowiedź na pytanie
Pieter