Wybór zmiennych bayesowskich - czy to naprawdę działa?

14

Pomyślałem, że mógłbym się zabawić wyborem zmiennych bayesowskich, po ładnym poście na blogu i powiązanych linkach. Napisałem program w rjags (gdzie jestem dość debiutantem) i pobrałem dane o cenie dla Exxon Mobil, a także niektóre rzeczy, które raczej nie wyjaśnią jego zwrotów (np. Ceny palladu) i inne rzeczy, które powinny być wysoce skorelowane (jak SP500 ).

Działając lm(), widzimy, że istnieją mocne dowody na nadparametryzowany model, ale zdecydowanie należy wykluczyć pallad:

Call:
lm(formula = Exxon ~ 0 + SP + Palladium + Russell + OilETF + 
    EnergyStks, data = chkr)

Residuals:
       Min         1Q     Median         3Q        Max 
-1.663e-03 -4.419e-04  3.099e-05  3.991e-04  1.677e-03 

Coefficients:
           Estimate Std. Error t value Pr(>|t|)    
SP          0.51913    0.19772   2.626 0.010588 *  
Palladium   0.01620    0.03744   0.433 0.666469    
Russell    -0.34577    0.09946  -3.476 0.000871 ***
OilETF     -0.17327    0.08285  -2.091 0.040082 *  
EnergyStks  0.79219    0.11418   6.938 1.53e-09 ***

Po konwersji na zwroty próbowałem uruchomić prosty model taki jak ten

  model {
    for (i in 1:n) {
      mean[i]<-inprod(X[i,],beta)
      y[i]~dnorm(mean[i],tau)
    }
    for (j in 1:p) {
      indicator[j]~dbern(probindicator)
      betaifincluded[j]~dnorm(0,taubeta)
      beta[j] <- indicator[j]*betaifincluded[j]
    }
    tau~dgamma(1,0.01)
    taubeta~dgamma(1,0.01)
    probindicator~dbeta(2,8)
  }

ale odkryłem, że prawie niezależnie od parametrów wybranych rozkładów gamma, otrzymałem całkiem bezsensowne odpowiedzi, takie jak niezmienne 20% prawdopodobieństwo włączenia dla każdej zmiennej.

Dostałem też małe, małe współczynniki regresji, które chętnie toleruję, ponieważ to miał być model selekcyjny, ale nadal wydawało się to dziwne.

                              Mean        SD  Naive SE Time-series SE
SP         beta[1]       -4.484e-03   0.10999  0.003478       0.007273
Palladium  beta[2]        1.422e-02   0.16646  0.005264       0.011106
Russell    beta[3]       -2.406e-03   0.08440  0.002669       0.003236
OilETF     beta[4]       -4.539e-03   0.14706  0.004651       0.005430
EnergyStks beta[5]       -1.106e-03   0.07907  0.002500       0.002647
SP         indicator[1]   1.980e-01   0.39869  0.012608       0.014786
Palladium  indicator[2]   1.960e-01   0.39717  0.012560       0.014550
Russell    indicator[3]   1.830e-01   0.38686  0.012234       0.013398
OilETF     indicator[4]   1.930e-01   0.39485  0.012486       0.013229
EnergyStks indicator[5]   2.070e-01   0.40536  0.012819       0.014505
           probindicator  1.952e-01   0.11981  0.003789       0.005625
           tau            3.845e+03 632.18562 19.991465      19.991465
           taubeta        1.119e+02 107.34143  3.394434       7.926577

Czy wybór zmiennych bayesowskich jest tak zły / wrażliwy? Czy popełniam jakiś rażący błąd?

Brian B.
źródło
5
Przepraszam za moją ignorancję; ale o czym mówiłeś o przeuczeniu?
curious_cat
Powinieneś wyjaśnić, które zmienne są na drugim wyjściu. Stosowałem selekcję zmiennych bayesowskich przy różnych problemach iw wielu sytuacjach (w tym regresji) zwykle działa ona dość dobrze. Ale twoje wyniki - zwłaszcza szacunki - wyglądają dla mnie dziwnie.
Glen_b
@curious_cat Dowodem na nadmierne dopasowanie jest np. ujemny współczynnik między Exxon (firmą naftową) a ceną ropy. Powstaje, ponieważ celowo uczyniłem ten model ofiarą wielokoliniowości . (Być może „nadmierne dopasowanie” jest niewłaściwym słowem do opisania go - przypuszczam, że nadmierna parametryzacja jest bardziej dokładna).
Brian B,
@BrianB Czy ten współczynnik staje się dodatni, jeśli porzucisz wszystkie zmienne objaśniające oprócz oleju? Po prostu ciekawy.
ciekawy kot
@curious_cat Tak, z pewnością (około 0,7). Jest to klasyczny przypadek wielokoliniowości (inne brzydkie słowo).
Brian B,

Odpowiedzi:

3

W kodzie BŁĘDÓW mean[i]<-inprod(X[i,],beta)powinno być mean[i]<-inprod(X[i,],beta[]).

Twoje priory na tau i taubeta są zbyt pouczające.

Potrzebujesz wcześniejszej informacji, jeśli nie zawierasz beta, np. gamma(0.1,0.1)Na taubecie. To może wyjaśniać, dlaczego otrzymujesz małe współczynniki regresji.

Crispin
źródło
Dzięki, że to zauważyłeś. Niestety nie poprawiło to sytuacji.
Brian B,
2

Działa, ale wszystkie wskaźniki włączenia zmiennej mają ten sam podstawowy rozkład.

  model {
    for (i in 1:n) {
      mean[i]<-inprod(X[i,],beta)
      y[i]~dnorm(mean[i],tau)
    }
    for (j in 1:p) {
      indicator[j]~dbern(probindicator[j])
      probindicator[j]~dbeta(2,8)
      betaifincluded[j]~dnorm(0,taubeta)
      beta[j] <- indicator[j]*betaifincluded[j]
    }
    tau~dgamma(1,0.01)
    taubeta~dgamma(1,0.01)

  }

może działać lepiej z ograniczoną liczbą zmiennych.

Erik
źródło
Wypróbowanie tego przepisu nie działało lepiej, przynajmniej na 10000 próbek.
Brian B,
2

Jeśli użyłeś zwrotów dziennika, to popełniłeś nieznaczny błąd promowania, ale jeśli użyłeś wartości przyszłej podzielonej przez wartość bieżącą, twoje prawdopodobieństwo jest błędne. W każdym razie twoje prawdopodobieństwo jest błędne. Wystarczająco źle jest mieć znaczenie.

Weź pod uwagę, że statystyka to dowolna funkcja danych. Zwroty nie są danymi, są transformacjami danych. Są wartością przyszłą podzieloną przez wartość bieżącą. Ceny są danymi. Ceny muszą mieć funkcję dystrybucji, ale funkcja dystrybucji zwrotów musi zależeć wyłącznie od charakteru cen.

ptpt+1

pt+1pt-1.

1πσσ2)+(y-β1x1-β2)x2)-βnxn-α)2).

OLS wymusza najlepsze dopasowanie do obserwowanych danych, nawet jeśli jest to niewłaściwe rozwiązanie. Metody bayesowskie próbują znaleźć funkcję generującą dane poprzez prawdopodobieństwo. Prawdopodobieństwo było błędne, więc nie mogło go znaleźć.

Mam na ten temat artykuł, jeśli potrzebujesz dodatkowych informacji.

EDYCJA Myślę, że źle zrozumiałeś. Gdyby przekonwertować prawdopodobieństwo na funkcję gęstości i przyjąć oczekiwanie, okazałoby się, że nie ma ona żadnej. Według dowodu Augustina Cauchy'ego z 1852 r., A może 1851 r., Każda forma najmniejszych kwadratów jest całkowicie nieprecyzyjna. Zawsze zawiedzie. Nie chodzi o to, że należy stosować standardową regresję, ponieważ Bayesian jest wrażliwy na prawdopodobieństwo, chodzi o to, że Bayes jest jedynym dostępnym rozwiązaniem, które jest dopuszczalne, z pewnymi wyjątkami w niektórych nietypowych przypadkach specjalnych.

Wykonując testy empiryczne na ten temat i zanim przeczytałem wystarczająco dużo matematyki, naiwnie pomyślałem, że rozwiązanie Bayesian i Frequentist powinny się zgadzać. Istnieje w przybliżeniu twierdzenie, że gdy próbka stanie się wystarczająco duża, oba się zbiegną. Do przetestowania wykorzystałem wszystkie transakcje na koniec dnia we wszechświecie CRSP od 1925-2013. To nie mówi tego twierdzenia. Nie zrozumiałem zasad.

Próbowałem również problem w dziennikach i nadal nie pasuje. Więc coś sobie uświadomiłem, wszystkie rozkłady są kształtami, więc skonstruowałem rozwiązanie geometryczne, aby ustalić, które rozwiązanie jest prawidłowe. Traktowałem to jako problem z czystą geometrią, aby ustalić, która odpowiedź algebraiczna pasuje do danych.

Bayesian pasował do siebie. To poprowadziło mnie bardzo matematyczną ścieżką, ponieważ nie mogłem zrozumieć, dlaczego bezstronny estymator tak się mylił. Dla przypomnienia, przy użyciu zdezagregowanych zwrotów w latach 1925–2013 i usunięciu spółek-skorup, funduszy zamkniętych itp., Rozbieżność między centrum lokalizacji wynosi 2%, a miara ryzyka jest zaniżona o 4% dla rocznych zwrotów . Ta rozbieżność dotyczy transformacji logów, ale z innego powodu. Może być inaczej w przypadku poszczególnych indeksów lub podzbiorów danych.

Przyczyna rozbieżności jest podwójna. Pierwszym z nich jest brak odpowiednich statystyk w rozkładach. W przypadku niektórych rodzajów problemów nie ma to znaczenia. Jednak dla celów projekcyjnych, takich jak przewidywanie lub alokacja, mają one duże znaczenie. Drugim powodem jest to, że obiektywny estymator jest zawsze wersją średniej, ale rozkład nie ma żadnej średniej.

Powyższa gęstość nie jest członkiem wykładniczej rodziny, tak jak rozkład normalny lub gamma. Według twierdzenia Pitmana-Koopmana-Darmois nie ma wystarczającej statystyki punktowej dla parametrów. Oznacza to, że każda próba utworzenia estymatora punktowego musi wyrzucić informacje. Nie stanowi to problemu dla rozwiązań bayesowskich, ponieważ tylna jest całą gęstością, a jeśli potrzebowałeś oszacowania punktowego, możesz znaleźć gęstość predykcyjną i zminimalizować nad nią funkcję kosztu, aby zredukować ją do jednego punktu. Prawdopodobieństwo Bayesa jest zawsze minimalnie wystarczające.

Estymator bezstronny minimalnej wariancji dla powyższej funkcji polega na zachowaniu środkowego 24,6% danych, znalezieniu jego przyciętej średniej i odrzuceniu reszty danych. Oznacza to, że ponad 75% danych jest usuwanych, a informacje tracone. Tylko uwaga, może to być 24,8%, ponieważ pracuję z pamięci. Artykuł Rothenberga można znaleźć pod adresem:

Rothenberg, TJ i FM Fisher oraz CB Tilanus, A Note on Estimation from a Cauchy Sample, Journal of American Statistics Association, 1964, tom 59 (306), s. 460-463

Druga kwestia była dla mnie zaskakująca. Dopóki nie przepracowałem geometrii, nie zdawałem sobie sprawy z przyczyny. Zwroty są dolne na poziomie -100%. To przesuwa medianę o 2%, a zakres międzykwartylowy jest przesunięty o 4%, chociaż połowa masy jest nadal w tych samych punktach. Połowa masy jest właściwą miarą skali, ale połowa szerokości nie. Gdyby nie było obcięcia, wówczas połowa szerokości i połowa masy byłyby w tych samych punktach. Podobnie mediana i tryb pozostałyby w tym samym punkcie. Mediana jest zwrotem dla średniego aktora lub przynajmniej średniego handlu. Jako takie, zawsze jest to lokalizacja MVUE i średnia dziennika.

Prawidłowe zrozumienie twierdzenia jest takie, że wszystkie estymatory bayesowskie są estymatorami dopuszczalnymi. Estymatory częstotliwości są dopuszczalnymi estymatorami, jeśli spełniony jest jeden z dwóch warunków. Pierwszym z nich jest to, że w każdej próbce rozwiązanie Frequentist i Bayesian jest identyczne. Drugi polega na tym, że jeśli ograniczające rozwiązanie metody bayesowskiej pasuje do rozwiązania Frequentist, to rozwiązanie Frequentist jest dopuszczalne.

Wszystkie dopuszczalne estymatory zbiegają się w tym samym rozwiązaniu, gdy wielkość próbki jest wystarczająco duża. Estymator Frequentist zakłada, że ​​jego model jest prawdziwym modelem, a dane są losowe. Bayesian zakłada, że ​​dane są prawdziwe, ale model jest losowy. Jeśli masz nieskończoną ilość danych, model subiektywny musi zbiegać się z rzeczywistością. Jeśli miałeś nieskończoną ilość danych, ale zły model, to model Frequentist zbiegnie się z rzeczywistością z prawdopodobieństwem zerowym.

W takim przypadku rozwiązanie bayesowskie, przy rozsądnych priorytetach, zawsze stochastycznie zdominuje każdy estymator częstościowy z powodu obcięcia i utraty informacji w celu utworzenia estymatora.

W logach funkcją prawdopodobieństwa jest hiperboliczny rozkład sieczny. Ma skończoną wariancję, ale nie ma kowariancji. Macierz kowariancji znaleziona za pomocą OLS jest artefaktem danych i nie wskazuje parametru, który istnieje w danych bazowych. Podobnie jak w przypadku formy surowej, nic w logu nie jest kowariancyjne, ale również nic nie jest niezależne. Zamiast tego istnieje o wiele bardziej złożona relacja, która narusza definicję kowariancji, ale w której mogą się odnosić.

Markowitz i Usman prawie znaleźli go w swoich pracach nad dystrybucjami, ale hiperboliczny rozkład siecznych nie należy do rodziny Pearsonów i źle zinterpretowali dane, nie zauważając, że zmieniając rozkład z danych surowych na dane dziennika, zmieniasz również jego właściwości statystyczne . Po prostu to odkryli, ale przeoczyli to, ponieważ nie mieli powodu, aby ich szukać i nie zdawali sobie sprawy z niezamierzonych konsekwencji używania dzienników.

Nie mam cytowanego przeze mnie Markowitza i Usmana, ale wykonali jedną z niewielu bardzo dobrych prac przy szacowaniu rozkładu, który tam jest.

W każdym razie nie używam JAGS. Nie mam pojęcia jak to zrobić. Całą moją pracę MCMC koduję ręcznie.

Mam artykuł, który jest o wiele bardziej kompletny i dokładny na ten temat pod adresem:

Harris, DE (2017) The Distribution of Returns. Journal of Mathematical Finance, 7, 769-804.

Zapewni to metodę konstruowania wypłat dla dowolnej klasy aktywów lub pasywów, również wskaźników księgowych.

Byłem zaniepokojony, ale widziałem, że źle zrozumiałeś związek między Bayes a metodami Pearsona-Neymana. Miałeś je odwrócone. Bayes zawsze działa, ale jesteś uwięziony z wcześniejszą gęstością, która zakłóci twoje rozwiązanie. Przy odpowiednim wcześniejszym gwarantowaniu masz uprzedzony estymator i dla tego rodzaju funkcji prawdopodobieństwa, uważam, że musisz użyć właściwego przed zagwarantowaniem integralności jedności. Metody często stosowane są często. Są obiektywne, ale mogą nie być ważne.

Dave Harris
źródło
Różnica między logarytmami a zwrotami cen na poziomie dziennym wynosi około 1 część na 500 (jako punkt odniesienia przyjęłam zwrot 50 punktów bazowych). Warto również zauważyć, że dzienne zwroty, mierzone w obu kierunkach, są dość dalekie od normalnie rozłożonych (niezależnie od teorii ekonomicznych przeciwnie). W każdym razie, jeśli algorytm jest wrażliwy na te problemy, jest on bezużyteczny ze względów praktycznych. Chciałbym wiedzieć, w jaki sposób funkcja wiarygodności przytaczasz mapy do kodu JAGS - czy możesz to rozwinąć?
Brian B
@BrianB Zredagowałem odpowiedź. Popełniasz błąd w myśleniu, które popełniłem. Odwiedzenie mnie, dlaczego się myliłem, zajęło mi wieczność.
Dave Harris