Czy używanie decyli do znalezienia korelacji jest statystycznie poprawnym podejściem?

10

Mam próbkę 1449 punktów danych, które nie są skorelowane (r-kwadrat 0,006).

Analizując dane, odkryłem, że dzieląc wartości zmiennych niezależnych na grupy dodatnie i ujemne, wydaje się, że istnieje znacząca różnica w średniej zmiennej zależnej dla każdej grupy.

Dzieląc punkty na 10 przedziałów (decyli) przy użyciu niezależnych wartości zmiennych, wydaje się, że istnieje silniejsza korelacja między liczbą decyli a średnimi wartościami zmiennych zależnych (r-kwadrat 0,27).

Nie znam się na statystykach, więc oto kilka pytań:

  1. Czy to prawidłowe podejście statystyczne?
  2. Czy istnieje metoda znalezienia najlepszej liczby pojemników?
  3. Jaki jest właściwy termin na to podejście, aby móc go Google?
  4. Jakie są podstawowe zasoby, aby dowiedzieć się o tym podejściu?
  5. Jakie inne podejścia mogę zastosować do znalezienia relacji w tych danych?

Oto dane decylowe w celach informacyjnych: https://gist.github.com/georgeu2000/81a907dc5e3b7952bc90

EDYCJA: Oto obraz danych: Przemysł Momentum jest zmienną niezależną, jakość punktu wejścia jest zależna

Przemysł Momentum jest zmienną niezależną, jakość punktu wejścia jest zależna

B Seven
źródło
Mam nadzieję, że moja odpowiedź (w szczególności odpowiedzi 2-4) jest rozumiana w sensie, w jakim była zamierzona.
Glen_b
Jeśli Twoim celem jest zbadanie formy relacji między niezależnym a zależnym, jest to świetna technika eksploracyjna. Może obrażać statystyk, ale cały czas jest wykorzystywany w przemyśle (np. Ryzyko kredytowe). Jeśli budujesz model predykcyjny, to znowu inżynieria funkcji jest OK - jeśli jest to zrobione na zestawie szkoleniowym właściwie zweryfikowanym.
B_Miner
Czy możesz podać jakieś środki, aby upewnić się, że wynik jest „odpowiednio sprawdzony”?
B, 7
„nieskorelowany (r-kwadrat 0,006)” oznacza, że ​​nie są one skorelowane liniowo . Być może wiąże się to z inną korelacją. Czy wykreślono dane surowe (zależnie vs niezależne)?
Emil Friedman,
Sporządziłem dane, ale nie pomyślałem o dodaniu ich do pytania. Co za świetny pomysł! Zobacz zaktualizowane pytanie.
B, 7

Odpowiedzi:

9

0. Korelacja (0,0775) jest niewielka, ale (statystycznie) znacząco różni się od 0. To znaczy, wygląda na to, że naprawdę istnieje korelacja, jest po prostu bardzo mała / słaba (równoważnie, wokół relacji jest dużo szumu).

1. Uśrednianie w przedziałach powoduje zmniejszenie zmienności danych ( efekt dla standardowego błędu średniej), co oznacza, że ​​sztucznie zawyżasz słabą korelację. Zobacz także (nieco) powiązany problem .σ/n

2. Jasne, że mniej pojemników oznacza, że ​​więcej danych zostaje uśrednionych, co zmniejsza hałas, ale im są szersze, tym „słabsza” jest średnia w każdym pojemniku, ponieważ średnia nie jest całkiem stała - dochodzi do kompromisu. Chociaż można wyprowadzić formułę optymalizującą korelację przy założeniu liniowości i rozkładu wartości , nie uwzględniałby w pełni uwzględnionego w pewnym stopniu efektu szumu w danych. Prostym sposobem jest wypróbowanie całej gamy różnych granic pojemników, aż uzyskasz to, co lubisz. Nie zapomnij spróbować różnych szerokości i początków pojemników. Ta strategia może czasami okazać się zaskakująco przydatna w przypadku gęstości , a tego rodzaju sporadyczną przewagę można przenieść na relacje funkcjonalne - być może umożliwiając uzyskaniexdokładnie taki wynik, na jaki liczyłeś .

3. Tak Być może zacznij od tego wyszukiwania , a następnie spróbuj synonimów.

4. To dobre miejsce na rozpoczęcie; jest to bardzo popularna książka skierowana do osób niepaństwowych.

5. (poważniej :) Sugeruję wygładzanie (powiedzmy przez lokalną regresję wielomianową / wygładzanie jądra) jako jeden ze sposobów badania zależności. Zależy to dokładnie od tego, czego chcesz, ale może to być prawidłowe podejście, gdy nie znasz formy relacji, pod warunkiem, że unikniesz problemu pogłębiania danych.


Istnieje popularny cytat, którego pomysłodawcą jest Ronald Coase :

„Jeśli wystarczająco torturujesz dane, natura zawsze się przyzna.”

Glen_b - Przywróć Monikę
źródło
Punkty 1 i 2 są dobrym wyjaśnieniem, dlaczego podejście PO nie jest prawidłowym podejściem statystycznym, chociaż przekonywanie w odniesieniu do punktu 0 (słaba korelacja) jest przydatną heurystyką.
Assad Ebrahim
9

Być może skorzystałbyś z narzędzia eksploracyjnego. Wydaje się, że podział danych na decile współrzędnej x został dokonany w tym duchu. Dzięki modyfikacjom opisanym poniżej jest to bardzo dobre podejście.

Wynaleziono wiele dwuwymiarowych metod badawczych. Prostym zaproponowanym przez Johna Tukeya ( EDA , Addison-Wesley 1977) jest jego „wędrowny schemat”. Kroisz współrzędną x na przedziały, ustawiasz pionowy wykres odpowiadających danych y w środkowej części każdego przedziału i łączysz kluczowe części wykresów (mediany, zawiasy itp.) W krzywe (opcjonalnie wygładzając je). Te „wędrujące ślady” zapewniają obraz dwuwymiarowego rozkładu danych i umożliwiają natychmiastową wizualną ocenę korelacji, liniowości relacji, wartości odstających i rozkładów brzeżnych, a także solidne oszacowanie i ocenę dopasowania każdej nieliniowej funkcji regresji .

Do tego pomysłu Tukey dodał myśl, zgodną z ideą boxplot, że dobrym sposobem na zbadanie dystrybucji danych jest rozpoczęcie od środka i praca na zewnątrz, zmniejszenie o połowę ilości danych w miarę przemieszczania się. Oznacza to, że używane pojemniki nie muszą być cięte w równo rozmieszczonych kwantylach, ale powinny odzwierciedlać kwantyle w punktach i dla .2)-k1-2)-kk=1,2),3),

Aby wyświetlić różne populacje bin, możemy ustawić szerokość każdego wykresu pudełkowego proporcjonalnie do ilości danych, które reprezentuje.

Powstały schemat wędrówki wyglądałby mniej więcej tak. Dane opracowane na podstawie podsumowania danych są wyświetlane jako szare kropki w tle. Nad tym narysowano schemat wędrówki, z pięcioma śladami w kolorze, a wykresy pudełkowe (w tym wszelkie pokazane wartości odstające) w czerni i bieli.

Postać

Charakter niemal zerowej korelacji staje się natychmiast jasny: dane się zmieniają. W pobliżu ich środka, od do , mają silną korelację dodatnią. Przy ekstremalnych wartościach dane te wykazują relacje krzywoliniowe, które ogólnie są negatywne. Współczynnik korelacji netto (który dla tych danych wynosi ) jest bliski zeru. Jednak naleganie na interpretację tego jako „prawie brak korelacji” lub „znacząca, ale niska korelacja” byłoby tym samym błędem, który został sfałszowany w starym żartu o statystyce, który był zadowolony z głową w piekarniku i stopami w lodówce, ponieważ średnio temperatura była komfortowa. Czasami pojedynczy numer nie wystarczy, aby opisać sytuację.x=-4x=4-0,074

Alternatywne narzędzia eksploracyjne o podobnych celach obejmują solidne wygładzanie okienkowanych kwantyli danych oraz dopasowanie regresji kwantyli przy użyciu szeregu kwantyli. Dzięki dostępności oprogramowania do wykonywania tych obliczeń być może stało się łatwiejsze do wykonania niż wędrujący schematyczny ślad, ale nie cieszą się taką samą prostotą budowy, łatwością interpretacji i szerokim zastosowaniem.


Poniższy Rkod utworzył rysunek i można go zastosować do oryginalnych danych z niewielką lub żadną zmianą. (Zignoruj ​​ostrzeżenia wywołane przez bplt(wywoływany przez bxp): narzeka, gdy nie ma żadnych wartości odstających.)

#
# Data
#
set.seed(17)
n <- 1449
x <- sort(rnorm(n, 0, 4))
s <- spline(quantile(x, seq(0,1,1/10)), c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6),
            xout=x, method="natural")
#plot(s, type="l")
e <- rnorm(length(x), sd=1)
y <- s$y + e # ($ interferes with MathJax processing on SE)
#
# Calculations
#
q <- 2^(-(2:floor(log(n/10, 2))))
q <- c(rev(q), 1/2, 1-q)
n.bins <- length(q)+1
bins <- cut(x, quantile(x, probs = c(0,q,1)))
x.binmed <- by(x, bins, median)
x.bincount <- by(x, bins, length)
x.bincount.max <- max(x.bincount)
x.delta <- diff(range(x))
cor(x,y)
#
# Plot
#
par(mfrow=c(1,1))
b <- boxplot(y ~ bins, varwidth=TRUE, plot=FALSE)
plot(x,y, pch=19, col="#00000010", 
     main="Wandering schematic plot", xlab="X", ylab="Y")
for (i in 1:n.bins) {
  invisible(bxp(list(stats=b$stats[,i, drop=FALSE],
                     n=b$n[i],
                     conf=b$conf[,i, drop=FALSE],
                     out=b$out[b$group==i],
                     group=1,
                     names=b$names[i]), add=TRUE, 
                boxwex=2*x.delta*x.bincount[i]/x.bincount.max/n.bins, 
                at=x.binmed[i]))
}

colors <- hsv(seq(2/6, 1, 1/6), 3/4, 5/6)
temp <- sapply(1:5, function(i) lines(spline(x.binmed, b$stats[i,], 
                                             method="natural"), col=colors[i], lwd=2))
Whuber
źródło
@EngrStudent Proszę przeczytać tekst tego postu przed uruchomieniem kodu. To ostrzeżenie jest wspomniane i wyjaśnione.
whuber
Nie rozumiem, skąd pochodzi ten wektor c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6), czy jest on generowany i zależny od danych ( x)? Wspominasz o tym, 2^*(-k)ale to nie jest powiązane.
Maksymilian
@Maks Ten wektor generuje ten konkretny przykład.
whuber
ok, ale jak postępowałeś z liczbami? Jest to wyraźnie błędne:k <- 1:11; ifelse(quantile(g, seq(0,1,1/10))>0, 2^(-k), 1-2^(-k))
Maksymilian
@Max Nie mogę pojąć, co możesz rozumieć przez „wyraźnie źle”. Nie możesz odnosić się do mojego kodu: w ramach kontroli ponownie go uruchomiłem i odtworzyłem cyfrę w każdym szczególe.
whuber
6

Nie wierzę, że binning jest naukowym podejściem do problemu. Jest to utrata informacji i arbitralność. Metody rangowe (porządkowe; półparametryczne) są znacznie lepsze i nie tracą informacji. Nawet jeśli ktoś zdecyduje się na binowanie decylowe, metoda jest nadal arbitralna i nie jest odtwarzalna dla innych, po prostu z powodu dużej liczby definicji, które są używane dla kwantyli w przypadku powiązań w danych. I jak wspomniano powyżej w miłym komentarzu dotyczącym tortur danych, Howard Wainer ma fajny artykuł pokazujący, jak znaleźć pojemniki, które mogą dawać pozytywne skojarzenia, i znaleźć pojemniki, które mogą dawać negatywne skojarzenia, z tego samego zestawu danych:

 @Article{wai06fin,
   author =          {Wainer, Howard},
   title =       {Finding what is not there through the unfortunate
    binning of results: {The} {Mendel} effect},
   journal =     {Chance},
   year =        2006,
   volume =      19,
   number =      1,
   pages =       {49-56},
   annote =      {can find bins that yield either positive or negative
    association;especially pertinent when effects are small;``With four
    parameters, I can fit an elephant; with five, I can make it wiggle its
    trunk.'' - John von Neumann}
 }
Frank Harrell
źródło
Podejrzewałem to. Jeśli wybierzesz inną liczbę pojemników, możesz znaleźć najlepszą korelację, aby pokazać to, czego szukasz. Ale wyniki nie byłyby powtarzalne ani naukowo uzasadnione. Czy znasz jakieś wstępne informacje na temat rankingu?
B, 7
3
Wydaje się, że to zbyt ekstremalne stanowisko. Oczywiście metody oparte na rangach również tracą informacje: odrzucają wszystkie informacje o rzeczywistych wartościach. Pytanie o to, czy utrata informacji stanowi problem, sprowadza się zatem do tego, dlaczego przeprowadzana jest analiza? Jeśli chodzi o odkrywanie i eksplorację, różne ukierunkowane formy binowania mogą zrobić dobrą robotę, podczas gdy zastąpienie wszystkiego szeregami prawdopodobnie zaciemni i zakłóci relacje. Jeśli ma to na celu potwierdzenie lub przetestowanie hipotez, wówczas twoje uwagi byłyby bardziej ogólnie stosowane i uzasadnione.
whuber
2
Naprawdę się z tym nie zgadzam. Rodzaj informacji utraconych metodami opartymi na rankingu jest minimalny (np.π-3)πw przypadku reszt Gaussa) i w odniesieniu do metod bardziej obciążonych założeniami mogą uzyskać informacje. Nie jest trudno zastosować model półparametryczny (np. Model proporcjonalnych szans) do oszacowania średniej i kwantyliY|X. Utrata informacji jest prawie zawsze złą rzeczą, czy to podczas eksploracji (możesz przeoczyć coś ważnego), czy podczas analizy formalnej (utrata mocy i precyzji oraz arbitralność).
Frank Harrell,
2

Dzielenie danych na decyle w oparciu o zaobserwowany X („Jakość punktu wejścia”) wydaje się być uogólnieniem starej metody zaproponowanej najpierw przez Walda, a później przez innych w sytuacjach, w których zarówno X, jak i Y są obarczone błędem. (Wald podzielił dane na dwie grupy. Nair i Shrivastava i Bartlett podzielili je na trzy.) Jest to opisane w części 5C Zrozumienia solidnej i eksploracyjnej analizy danych , pod redakcją Hoaglin, Mosteller i Tukey (Wiley, 1983). Jednak od tego czasu wykonano wiele pracy nad takim „błędem pomiaru” lub „błędem w modelach zmiennych”. Podręczniki, które przeglądałem, to Błąd pomiaru: modele, metody i zastosowania autorstwa Johna Buonaccorsi (CRC Press,

Twoja sytuacja może być nieco inna, ponieważ twój wykres rozrzutu prowadzi mnie do podejrzeń, że obie obserwacje są zmiennymi losowymi i nie wiem, czy każda zawiera błąd pomiaru. Co reprezentują zmienne?

Emil Friedman
źródło
Jakość punktu wejścia jest to, o ile zapasy rosną lub spadają w krótkim okresie w danym momencie. Przemysł Momentum jest miarą „pędu” w branży dla zapasów w tym samym momencie. Hipoteza jest taka, że ​​istnieje korelacja między pędem branży a przyszłą ceną akcji.
B, 7
1
Zazwyczaj umieszczamy odpowiedź na osi pionowej. Kontrola wzrokowa sugeruje, że nawet jeśli istnieje prawdziwa korelacja, zmiana jakości punktu wejścia czyni ją dość bezużyteczną. Ale ponieważ masz do czynienia z cenami akcji, sprawy stają się jeszcze bardziej złożone, ponieważ w grę wchodzą szereg czasowy.
Emil Friedman,
2

Uważam, że pakiet localgauss jest bardzo przydatny do tego. https://cran.r-project.org/web/packages/localgauss/index.html

Pakiet zawiera

Procedury obliczeniowe do szacowania i wizualizacji lokalnych parametrów Gaussa. Lokalne parametry gaussowskie są przydatne do charakteryzowania i testowania zależności nieliniowej w danych dwuwymiarowych.

Przykład:

library(localgauss)
x=rnorm(n=1000)
y=x^2 + rnorm(n=1000)
lgobj = localgauss(x,y)
plot(lgobj)

Wynik:

wprowadź opis zdjęcia tutaj

SunWuKung
źródło