Muszę uzyskać jak najdokładniejszą wartość jasności głównie stabilnego źródła światła, biorąc pod uwagę dwanaście wartości jasności próbki. Czujnik jest niedoskonały, a światło może czasami „migotać” jaśniej lub ciemniej, co można zignorować, stąd moja potrzeba wykrycia wartości odstających (myślę?).
Przeczytałem tutaj o różnych podejściach i nie mogę się zdecydować, które wybrać. Liczba wartości odstających nigdy nie jest znana z góry i często wynosi zero. Migotanie jest na ogół bardzo dużym odchyleniem od stabilnej jasności (wystarczającym, aby naprawdę zadzierać z każdą średnią pobraną z dużym prezentem), ale niekoniecznie.
Oto przykładowy zestaw 12 pomiarów dla kompletności pytania:
295,5214, 277,7749, 274,6538, 272,5897, 271,0733, 292,5856, 282,0986, 275,0419, 273,084, 273,1783, 274,0317, 290,1837
Mam przeczucie, że w tym konkretnym zestawie prawdopodobnie nie ma żadnych wartości odstających, chociaż 292 i 295 wyglądają nieco wyżej.
Moje pytanie brzmi: jakie byłoby tutaj najlepsze podejście? Powinienem wspomnieć, że wartości pochodzą z przyjęcia odległości euklidesowej składników RG i B światła od punktu zerowego (czarnego). Programowo bolesne, ale możliwe, byłoby przywrócenie tych wartości w razie potrzeby. Odległość euklidesowa została użyta jako miara „ogólnej siły”, ponieważ nie interesuje mnie kolor, tylko siła wyjściowa. Istnieje jednak uzasadniona szansa, że wspomniane przeze mnie migotania mają inny skład RGB niż zwykłe wyjście.
W tej chwili bawię się jakąś funkcją, która będzie się powtarzać, aż do uzyskania stabilnego członkostwa dozwolonych środków przez:
- Znalezienie odchylenia standardowego
- Umieszczając wszystko na zewnątrz, powiedz 2 SD na liście ignorowanych
- Ponowne obliczenie średniej i SD z wyłączeniem listy ignorowanych
- Ponowne podjęcie decyzji, kogo zignorować na podstawie nowej średniej i SD (oceń wszystkie 12)
- Powtarzaj, aż będzie stabilny.
Czy to podejście ma jakąkolwiek wartość?
Wszystkie komentarze z wdzięcznością przyjęte!
źródło
Odpowiedzi:
Wartości odstające w małych próbkach zawsze mogą być bardzo trudne do wykrycia. W większości przypadków faktycznie zalecałbym, że jeśli uważasz, że Twoje dane nie są tępo uszkodzone, wartość „nietypowa” może nie być problematyczna, a jej wyłączenie może być nieuzasadnione. Prawdopodobnie użycie solidnych technik statystycznych będzie bardziej rozsądne i bliższe rozwiązaniu środkowej płaszczyzny. Masz małą próbkę; staraj się, aby każdy punkt próbki się liczył. :)
Odnośnie twojego sugerowanego podejścia: nie egzekwowałbym pośpiesznie założenia normalności do twoich danych z regułą 68-95-99,7 na nich (jak się wydaje, jakoś robisz z twoją regułą heurystyczną 2SD). Nierówność Czebyszewa choć raz zakłada na nich zasadę 75–88.9–93.8, która jest wyraźnie mniej sztywna. Istnieją również inne „ zasady ”; Identyfikacja odstających sekcja w poboczna lematu w Wikipedia ma wiązkę heurystyki.
Ponownie, biorąc pod uwagę, że masz naprawdę małą próbkę, jeśli uważasz, że twoja próbka nie jest oczywiście zepsuta (człowiek 9'4 „wysoki), radziłbym, abyś nie wykluczał pośpiesznie danych. Twoje„ podejrzane wartości odstające ”mogą być danymi niepoprawnymi; ich użycie może raczej pomóc, niż zaszkodzić analizie.
źródło
Test Q Dixona dla wartości odstających w bardzo małych zestawach danych wydaje się dobrze pasować do tego rodzaju sytuacji:
http://en.wikipedia.org/wiki/Dixon%27s_Q_test
http://www.chem.uoa.gr/applets/AppletQtest/Text_Qtest2.htm
źródło
Wskaż pierwszy - warto wrócić do koloru rgb. Rzadko warto wyrzucać dane, a wielkość wektora rgb nie jest jedynym sposobem przedstawienia jasności - postrzegana jasność jest inna, podobnie jak wartość w HSV.
Ale odkładając to na bok i mając do czynienia z posiadanymi danymi, czy zastanawiałeś się nad utworzeniem tego problemu jako problemem klasyfikacyjnym zamiast modelowania i przeprowadzeniem uczenia maszynowego? Masz wejście, które jest wektorem z 12 rzeczywistymi wartościami (odczyty jasności). Masz wynik, który jest wektorem 12 wartości binarnych (1 = wartość wewnętrzna, 0 = wartość odstająca). Uzyskaj kilka zestawów odczytu jasności i ręcznie oznacz je etykietą, pokazując, który odczyt jasności w każdym zestawie jest wartością wewnętrzną / zewnętrzną. Coś takiego:
Następnie przeprowadź całą akcję przez jakiś klasyfikator:
I jesteś skończony! Nie musisz zawracać sobie głowy próbą znalezienia „reguły”, która oddziela wartości wewnętrzne od wartości odstających. Po prostu zdobądź kilka zestawów danych, które wyglądają rozsądnie i pozwól, aby maszyna zrobiła to za ciebie :)
~~~
EDYCJA: Nawiasem mówiąc, proponowana metoda, w której iteracyjnie dopasowujesz gaussa, a następnie klasyfikujesz każdą próbkę dalej niż 2 odchylenia standardowe jako wartość odstającą, wygląda bardzo podobnie do algorytmu maksymalizacji oczekiwań. Coś takiego:
Jeśli pójdziesz tą ścieżką, warto szukać w Google algorytmów EM i sprawdzać, jakie założenia budujesz w swoim modelu.
źródło