Zautomatyzowana procedura wyboru podzbioru punktów danych z najsilniejszą korelacją?

15

Czy istnieje jakaś standardowa procedura (taka, że ​​można ją przytoczyć jako odniesienie) do wybierania podzbioru punktów danych z większej puli o największej korelacji (tylko w dwóch wymiarach)?

Załóżmy na przykład, że masz 100 punktów danych. Potrzebujesz podzbioru 40 punktów o najsilniejszej możliwej korelacji wzdłuż wymiarów X i Y.

Zdaję sobie sprawę, że pisanie kodu, aby to zrobić, byłoby stosunkowo proste, ale zastanawiam się, czy jest na to jakieś źródło?

Julie
źródło
3
„Zdaję sobie sprawę, że napisanie do tego kodu byłoby stosunkowo proste”. Ach? A jak byś to zrobił?
user603
3
Przypuszczam, że miała na myśli coś w rodzaju „najlepszej korelacji podzbiorów”; wybierz podzbiory ( k = 40 w jej przykładzie) punktów danych z twojego N ( N = 100 w jej przykładzie) i oblicz oszacowanie korelacji ρ ( X , Y ) (zakładając, że chciała znać podzbiór punktów z najlepszą korelacją liniową ). Jednak ten proces wydaje się kosztowny obliczeniowo dla dużego N , ponieważ trzeba go obliczyć ( Nkk=40N.N.=100ρ(X,Y)N. razy współczynnik. (N.k)
Néstor,
1
Jeśli chcesz spojrzeć na liniowe kombinacje zmiennych , szukasz korelacji kanonicznych . W przeciwnym razie wybór funkcji korelacji może być interesujący. X
MånsT
Myślę, że niektórzy mogą mnie źle zrozumieć. @ Néstor wydaje się mieć rację. Jest 100 elementów, każdy o wartości X i wartości Y. Chcę znaleźć podzbiór 40, który ma najsilniejszą możliwą korelację (regresja liniowa) między wartościami X i Y. Potrafię pisać kod, aby eksplorować całą przestrzeń wyszukiwania, ale co przytoczyłbym, aby wesprzeć taką metodę? Jak się nazywa znalezienie optymalnej korelacji między wszystkimi możliwymi podzbiorami?
Julie,
1
Czy jesteś zainteresowany maksymalizacją korelacji lub uzyskaniem linii regresji najlepszego dopasowania, na przykład mierzonej minimalną różnicą rezydualną? Oba nie są takie same, gdy można wybrać punkty danych.
jbowman

Odpowiedzi:

17

Powiedziałbym, że twoja metoda pasuje do ogólnej kategorii opisanej w tym artykule na Wikipedii, która zawiera także inne odniesienia, jeśli potrzebujesz czegoś więcej niż tylko wikipedia. Miałyby również zastosowanie niektóre linki w tym artykule.

Inne warunki, które mogą mieć zastosowanie (jeśli chcesz przeprowadzić dalsze wyszukiwanie), to „Pogłębianie danych” i „Torturowanie danych, dopóki się nie przyzna”.

Zauważ, że zawsze możesz uzyskać korelację 1, jeśli wybierzesz tylko 2 punkty, które nie mają identycznych wartości x lub y. Kilka lat temu w magazynie Chance pojawił się artykuł, który pokazał, że kiedy masz zmienną xiy zasadniczo bez korelacji, możesz znaleźć sposób na binowanie x i uśrednienie y w przedziałach, aby pokazać wzrost lub spadek ( Szansa 2006, Objawienia wizualne: znalezienie tego, czego nie ma przez niefortunne grupowanie wyników: efekt Mendla, s. 49–52). Również przy pełnym zestawie danych pokazującym umiarkowaną korelację dodatnią można wybrać podzbiór wykazujący korelację ujemną. Biorąc to pod uwagę, nawet jeśli masz uzasadniony powód do zrobienia tego, co proponujesz, dajesz sceptykom wiele argumentów, które można wykorzystać przeciwko wszelkim wyciągniętym przez ciebie wnioskom.

Greg Snow
źródło
Jak nazywa się artykuł od The American Statistician?
zakłada się normalny
1
Nie pamiętałem, gdzie widziałem ten artykuł, w rzeczywistości był on w magazynie Chance, a nie w The American Statistician. Poprawiłem to powyżej i podałem rok, tytuł i numery stron, aby zainteresowane strony mogły łatwo znaleźć kopie.
Greg Snow,
4

Algorytm RANSAC brzmi jak chcesz. Zasadniczo zakłada, że ​​twoje dane składają się z kombinacji wartości wewnętrznych i zewnętrznych, i próbuje zidentyfikować wartości wewnętrzne poprzez wielokrotne próbkowanie podzbiorów danych, dopasowanie do niego modelu, a następnie próbę dopasowania każdego innego punktu danych do modelu. Oto artykuł na ten temat w Wikipedii .

W twoim przypadku możesz po prostu powtarzać algorytm, jednocześnie zapisując aktualny najlepszy model, który pasuje do co najmniej 40 punktów, więc nie zagwarantuje ci absolutnie najlepszej korelacji, ale powinien się zbliżyć.

Joseph
źródło
1

Trudno mi wyobrazić sobie kontekst, w którym byłaby to dobra praktyka, ale załóżmy przez chwilę, że rzeczywiście masz dobry powód, aby to zrobić.

Algorytm brutalnej siły mógłby wyglądać mniej więcej tak:

  1. Obliczasz wszystkie możliwe podpróbki z ogólnej próbki N. Większość pakietów statystycznych ma funkcje obliczania kombinacji bez zamian, które zrobią to za Ciebie.

  2. Szacujesz korelację między xiy dla każdej z podpróbek i wybierasz maksimum z tego zestawu.

Właśnie zobaczyłem komentarz oryginalnego plakatu dotyczący odniesienia do tej procedury. Nie jestem pewien, czy ktoś ma konkretną nazwę dla tej procedury, ponieważ generujesz po prostu empiryczny rozkład wszystkich możliwych korelacji w zbiorze danych i wybierasz maksimum. Podobne podejścia są stosowane podczas ładowania systemu, ale w takim przypadku jesteś zainteresowany zmiennością empiryczną, NIE używaj ich do wybierania konkretnej podpróbki związanej z maks.

David
źródło
2
1032N.=100n=40
Nie musisz być w tym złośliwy :-p. Uczciwy punkt.
David
Przepraszam ... Lubię te liczby, ponieważ dają nam dużo miejsca na ulepszony algorytm :-).
whuber