Ekonometria bayesowska: szybki start Wprowadzenie do reguª wnioskowania i oblicze«w R SKN Ekonometrii 12.12.2016 r. Andrzej Torój 1 / 23
Plan wykªadu 1 Podstawowe zasady wnioskowania bayesowskiego 2 3 4 2 / 23
Plan prezentacji 1 Podstawowe zasady wnioskowania bayesowskiego 2 3 4 3 / 23
Fundamentalne zasady ekonometrii bayesowskiej (1) Parametry traktujemy jako zmienne losowe. To fundamentalna ró»nica w porównaniu do klasycznej ekonometrii, gdzie zakªadali±my istnienie prawdziwej, nieznanej warto±ci parametru w procesie generuj cym dane / populacji. Pewne elementy my±lenia w kategoriach rozkªadów (np. przedziaª ufno±ci) wi zaªy si wyª cznie z faktem,»e estymatory z próby s zmiennymi losowymi ze wzgl du na losowy dobór próby. Nigdy jednak nie dotyczyªo to prawdziwych parametrów. Takie zaªo»enie odzwierciedla fundamentaln ró»nic mi dzy bayesistami a klasykami w rozumieniu poj cia prawdopodobie«stwa. Klasycy posªuguj si cz sto±ciow interpretacj prawdopodobie«stwa uwa»aj,»e nale»y si tym poj ciem posªugiwa wyª cznie w celu opisania, jak cz sto zachodzi okre±lone zdarzenie (dlatego bayesi±ci okre±laj ich jako frequentists). Bayesi±ci posªuguj si dodatkowo subiektywistyczn interpretacj prawdopodobie«stwa, która pozwala im okre±li rozkªach ich przekona«co do nieznanej warto±ci parametru. 4 / 23
Fundamentalne zasady ekonometrii bayesowskiej (1) Parametry traktujemy jako zmienne losowe. To fundamentalna ró»nica w porównaniu do klasycznej ekonometrii, gdzie zakªadali±my istnienie prawdziwej, nieznanej warto±ci parametru w procesie generuj cym dane / populacji. Pewne elementy my±lenia w kategoriach rozkªadów (np. przedziaª ufno±ci) wi zaªy si wyª cznie z faktem,»e estymatory z próby s zmiennymi losowymi ze wzgl du na losowy dobór próby. Nigdy jednak nie dotyczyªo to prawdziwych parametrów. Takie zaªo»enie odzwierciedla fundamentaln ró»nic mi dzy bayesistami a klasykami w rozumieniu poj cia prawdopodobie«stwa. Klasycy posªuguj si cz sto±ciow interpretacj prawdopodobie«stwa uwa»aj,»e nale»y si tym poj ciem posªugiwa wyª cznie w celu opisania, jak cz sto zachodzi okre±lone zdarzenie (dlatego bayesi±ci okre±laj ich jako frequentists). Bayesi±ci posªuguj si dodatkowo subiektywistyczn interpretacj prawdopodobie«stwa, która pozwala im okre±li rozkªach ich przekona«co do nieznanej warto±ci parametru. 4 / 23
Fundamentalne zasady ekonometrii bayesowskiej (2) Do procesu estymacji wprowadzamy wiedz spoza próby. Formuªujemy j w postaci rozkªadu a priori nieznanych parametrów. Mo»e on znacz co rzutowa na uzyskane wyniki. Miar sukcesu w ekonometrii bayesowskiej jest doprowadzenie do zaw»enia (ang. shrinkage) rozkªadu a priori czyli precyzyjniejszej wiedzy o parametrze po konfrontacji z danymi ni» przed. Nie musi to oznacza przesuni cia warto±ci oczekiwanej, chodzi o zmniejszenie wariancji. Je»eli rozkªad a posteriori niemal pokrywa si z rozkªadem a priori, to oznacza pora»k w analizie empirycznej dane niczego nie wniosªy do naszej wiedzy o parametrze. 5 / 23
Twierdzenie Bayesa zastosowanie w ekonometrii P (B A) P (A) P (A B) = P (B) f (A i B) = f (B A i ) f (A i ) f (B A i ) f (A i ) di I f (X θ) f (θ) f (θ X ) = f (X θ) f (θ) dθ I Jako zdarzenia A i rozpatrzymy ka»d mo»liw warto± parametru θ (zdarzenia θ 1,θ 2,...). Prawdopodobie«stwa tych zdarze«sumuj si do 1, gdy» budujemy funkcj g sto±ci / prawdopodobie«stwa. Zdarzenie B polega na tym,»e zaobserwowali±my okre±lony zestaw danych X. P (θ X ) wyznaczany rozkªad a posteriori, tj. warunkowy wzgl dem zaobserwowanych danych P (θ) rozkªad a priori P (X θ) funkcja wiarygodno±ci danych X przy zaªo»eniu parametru o warto±ci θ mianownik nie zale»y od θ i peªni rol staªej skaluj cej 6 / 23
Przykªad: rozkªady brzegowe a posteriori w modelu regresji liniowej 7 / 23
Highest posterior density interval (HPDI) 8 / 23
Porównania modeli Caªkuj c licznik wzoru Bayesa otrzymujemy wiarygodno± brzegow modelu. Iloraz wiarygodno±ci brzegowej dwóch modeli to tzw. czynnik Bayesa. Skala Jereysa (1961, The theory of probability) BF interpretacja < 10 0 negative (supports M 2 ) 10 0 10 0.5 barely worth mentioning 10 0.5 10 1 substantial 10 1 10 1.5 strong 10 1.5 10 2 very strong > 10 2 decisive Kass i Raftery (1995, Bayes factors, Journal of the American Statistical Association) BF interpretacja 1 3 not worth more than a bare mention 3 20 positive 20 150 strong > 150 very strong 9 / 23
Rozkªady predykcyjne p (y h y) = p (y τ, θ y) dθ = p (y τ θ, y) p (θ y) dθ Θ Dalsze post powanie zale»y od tego, czy: y τ jest niezale»ne od y (pierwszy czynnik); znana jest funkcja g sto±ci parametrów a posteriori (drugi czynnik). W modelu regresji liniowej o rozkªadzie a priori N-G oba warunki s speªnione. Θ 10 / 23
Plan prezentacji 1 Podstawowe zasady wnioskowania bayesowskiego 2 3 4 11 / 23
Ubogi materiaª empiryczny mo»e zosta wzmocniony wiedz a priori w sformalizowany sposób. Uniwersalne instrumentarium do wnioskowania statystycznego, niezale»ne od rozkªadu skªadnika losowego. Przydatne w szeroko rozumianym zarz dzaniu ryzykiem (pozwalaj na wyra»anie i efektywn aktualizacj rozkªadów predykcyjnych o ró»nych ksztaªtach). 12 / 23
Plan prezentacji 1 Podstawowe zasady wnioskowania bayesowskiego 2 3 4 13 / 23
Efekty zastosowania metod numerycznych Bardzo rzadko mo»emy otrzyma analitycznie funkcj g sto±ci a posteriori, z której potraliby±my losowa. Tym samym problematyczne jest wyznaczenie (i) brzegowych g sto±ci a posteriori, (ii) wiarygodno±ci brzegowej modelu, (iii) rozkªadów predykcyjnych. 1 Metody numeryczne powinny prowadzi do otrzymania wyników S-krotnego losowania z rozkªadu a posteriori. Dysponuj c tymi wynikami (oznaczmy je θ (1), θ (2),..., θ (S) ) mo»emy m.in. naszkicowa histogram rozkªadów brzegowych pojedynczych parametrów i przedziaªy ufno±ci HPDI. 2 Mo»emy równie» oszacowa warto± oczekiwan dowolnej funkcji S ( parametrów g(θ) jako 1 S g θ (s)). s=1 Istnieje wiele metod numerycznych. Najpopularniejsz metod klasy MCMC (Monte Carlo Markov chain) jest algorytm Metropolisa-Hastingsa. 14 / 23
Algorytm Metropolisa-Hastingsa przypadek ogólny Rozwa»my wektor parametrów θ = (θ 1, θ 2,..., θ K ) o nieznanej g sto±ci a posteriori p (θ y). Nie znamy równie» rozkªadów warunkowych jednego parametru wzgl dem pozostaªych. 1 Wybieramy wektor startowy θ (0) = (θ 1, θ 2,..., θ K ). 2 Losujemy kandydata ( θ korzystaj c z g sto±ci generuj cej kandydatów, q θ θ (0)). 3 Obliczamy ( prawdopodobie«stwo akceptacji kandydata, α θ, θ (0)). θ z prawdopodobieństwem α (θ, θ (0)) 4 θ (1) = θ (0) z prawdopodobieństwem 1 α (θ, θ (0)) 5 Powtarzamy kroki 1-4 z wektorem startowym θ (1). 6 Powtarzamy sekwencj S razy. 15 / 23
Algorytm Metropolisa-Hastingsa przypadek ogólny Rozwa»my wektor parametrów θ = (θ 1, θ 2,..., θ K ) o nieznanej g sto±ci a posteriori p (θ y). Nie znamy równie» rozkªadów warunkowych jednego parametru wzgl dem pozostaªych. 1 Wybieramy wektor startowy θ (0) = (θ 1, θ 2,..., θ K ). 2 Losujemy kandydata ( θ korzystaj c z g sto±ci generuj cej kandydatów, q θ θ (0)). 3 Obliczamy ( prawdopodobie«stwo akceptacji kandydata, α θ, θ (0)). θ z prawdopodobieństwem α (θ, θ (0)) 4 θ (1) = θ (0) z prawdopodobieństwem 1 α (θ, θ (0)) 5 Powtarzamy kroki 1-4 z wektorem startowym θ (1). 6 Powtarzamy sekwencj S razy. 15 / 23
Algorytm Metropolisa-Hastingsa przypadek ogólny Rozwa»my wektor parametrów θ = (θ 1, θ 2,..., θ K ) o nieznanej g sto±ci a posteriori p (θ y). Nie znamy równie» rozkªadów warunkowych jednego parametru wzgl dem pozostaªych. 1 Wybieramy wektor startowy θ (0) = (θ 1, θ 2,..., θ K ). 2 Losujemy kandydata ( θ korzystaj c z g sto±ci generuj cej kandydatów, q θ θ (0)). 3 Obliczamy ( prawdopodobie«stwo akceptacji kandydata, α θ, θ (0)). θ z prawdopodobieństwem α (θ, θ (0)) 4 θ (1) = θ (0) z prawdopodobieństwem 1 α (θ, θ (0)) 5 Powtarzamy kroki 1-4 z wektorem startowym θ (1). 6 Powtarzamy sekwencj S razy. 15 / 23
Algorytm Metropolisa-Hastingsa przypadek ogólny Rozwa»my wektor parametrów θ = (θ 1, θ 2,..., θ K ) o nieznanej g sto±ci a posteriori p (θ y). Nie znamy równie» rozkªadów warunkowych jednego parametru wzgl dem pozostaªych. 1 Wybieramy wektor startowy θ (0) = (θ 1, θ 2,..., θ K ). 2 Losujemy kandydata ( θ korzystaj c z g sto±ci generuj cej kandydatów, q θ θ (0)). 3 Obliczamy ( prawdopodobie«stwo akceptacji kandydata, α θ, θ (0)). θ z prawdopodobieństwem α (θ, θ (0)) 4 θ (1) = θ (0) z prawdopodobieństwem 1 α (θ, θ (0)) 5 Powtarzamy kroki 1-4 z wektorem startowym θ (1). 6 Powtarzamy sekwencj S razy. 15 / 23
Algorytm Metropolisa-Hastingsa przypadek ogólny Rozwa»my wektor parametrów θ = (θ 1, θ 2,..., θ K ) o nieznanej g sto±ci a posteriori p (θ y). Nie znamy równie» rozkªadów warunkowych jednego parametru wzgl dem pozostaªych. 1 Wybieramy wektor startowy θ (0) = (θ 1, θ 2,..., θ K ). 2 Losujemy kandydata ( θ korzystaj c z g sto±ci generuj cej kandydatów, q θ θ (0)). 3 Obliczamy ( prawdopodobie«stwo akceptacji kandydata, α θ, θ (0)). θ z prawdopodobieństwem α (θ, θ (0)) 4 θ (1) = θ (0) z prawdopodobieństwem 1 α (θ, θ (0)) 5 Powtarzamy kroki 1-4 z wektorem startowym θ (1). 6 Powtarzamy sekwencj S razy. 15 / 23
Algorytm Metropolisa-Hastingsa przypadek ogólny Rozwa»my wektor parametrów θ = (θ 1, θ 2,..., θ K ) o nieznanej g sto±ci a posteriori p (θ y). Nie znamy równie» rozkªadów warunkowych jednego parametru wzgl dem pozostaªych. 1 Wybieramy wektor startowy θ (0) = (θ 1, θ 2,..., θ K ). 2 Losujemy kandydata ( θ korzystaj c z g sto±ci generuj cej kandydatów, q θ θ (0)). 3 Obliczamy ( prawdopodobie«stwo akceptacji kandydata, α θ, θ (0)). θ z prawdopodobieństwem α (θ, θ (0)) 4 θ (1) = θ (0) z prawdopodobieństwem 1 α (θ, θ (0)) 5 Powtarzamy kroki 1-4 z wektorem startowym θ (1). 6 Powtarzamy sekwencj S razy. 15 / 23
Algorytm MH g sto± generuj ca kandydatów W ogólnym przypadku zakªadamy,»e jest zale»na od bie» cego punktu θ (s). Najcz stsz implementacj ( ) jest Random Walk MH, gdzie losujemy ε N θ (s), Σ i rozwa»amy kandydata: θ = θ (s) + ε 16 / 23
Algorytm MH prawdopodobie«stwo akceptacji α 1 Poniewa» q to funkcja umowna, korzystanie z niej bez dodatkowych korekt nie gwarantuje nam uzyskania sekwencji losowa«przybli»aj cych rozkªad a posteriori. 1 Algorytm bez korekt zbyt cz sto pozostaje w obszarach o wysokiej g sto±ci a posteriori. 2 W zwi zku z tym musimy go skorygowa, by dostatecznie dobrze zwiedzi caª dziedzin parametrów. 2 Korekta polega na nieakceptowaniu wszystkich kandydatów wylosowanych na podstawie g sto±ci q. W przypadku braku akceptacji, kolejnym elementem ªa«cucha jest kopia poprzedniego. 1 Ogólny wzór na prawdopodobie«stwo akceptacji zale»y od g sto±ci a posteriori (p) oraz g sto±ci generuj cej kandydatów (q) dla wektorów: poprzedniego (θ (s) ) oraz kandydata (θ ). 2 W implementacji Random Walk: tylko od p, ale nie q ) [ ] α (θ, θ (0) p(θ = min y) p(θ (s 1) y), 1 17 / 23
Algorytm MH prawdopodobie«stwo akceptacji α 1 Poniewa» q to funkcja umowna, korzystanie z niej bez dodatkowych korekt nie gwarantuje nam uzyskania sekwencji losowa«przybli»aj cych rozkªad a posteriori. 1 Algorytm bez korekt zbyt cz sto pozostaje w obszarach o wysokiej g sto±ci a posteriori. 2 W zwi zku z tym musimy go skorygowa, by dostatecznie dobrze zwiedzi caª dziedzin parametrów. 2 Korekta polega na nieakceptowaniu wszystkich kandydatów wylosowanych na podstawie g sto±ci q. W przypadku braku akceptacji, kolejnym elementem ªa«cucha jest kopia poprzedniego. 1 Ogólny wzór na prawdopodobie«stwo akceptacji zale»y od g sto±ci a posteriori (p) oraz g sto±ci generuj cej kandydatów (q) dla wektorów: poprzedniego (θ (s) ) oraz kandydata (θ ). 2 W implementacji Random Walk: tylko od p, ale nie q ) [ ] α (θ, θ (0) p(θ = min y) p(θ (s 1) y), 1 17 / 23
Algorytm MH α versus q Miar jako±ci wyników jest m.in. ±rednie prawdopodobie«stwo akceptacji ᾱ. Okazuje si,»e optymalne warto±ci ᾱ [0, 2; 0, 4]. Dostatecznie niskie prawdopodobie«stwo akceptacji oznacza,»e dziedzina g sto±ci a posteriori zostaªa dobrze wyeksplorowana. ᾱ to jednak warto± wynikowa i nie mo»emy jej wprost wybra. Zale»y ona przede wszystkim od doboru g sto±ci generuj cej kandydatów q. W przypadku Random Walk MH, sprowadza si to do odpowiedniego ustalenia wariancji kroku ε, czyli Σ. Relacj mi dzy ᾱ a Σ nale»y zbada w ramach dodatkowej procedury iteracyjnej. Zaczynamy w niej od Σ (0) = c (0) I. W przypadku zbyt wysokiego ᾱ (0) zbyt cz sto akceptujemy, a wi c jeste±my zbyt konserwatywni w zwiedzaniu dziedziny, czyli powinnismy ustali c (1) > c (0). 18 / 23
Rozrzedzanie i zwielokrotnienie ªa«cucha Aby unikn efektu silnej autokorelacji w wygenerowanej sekwencji θ (1), θ (2),..., θ (S) decydujemy si czasami na jej rozrzedzanie (thinning), czyli wybór co m-tego elementu. Eliminacja autokorelacji jest istotna, bo pozwala (i) pracowa z równie dªugimi ªa«cuchami ale o lepszej zawarto±ci informacyjnej, (ii) uªatwia kalkulacj miar zwi zanych z diagnostyk zbie»no±ci ªa«cucha (o tym nast pnym razem). Zasadno± tego zabiegu jest jednak czasami przedmiotem kontrowersji w literaturze. Cz sto decydujemy si na u»ycie wi kszej liczby ªa«cuchów ni» tylko jeden (to równie» przydaje si w diagnostyce zbie»no±ci MCMC). 19 / 23
Plan prezentacji 1 Podstawowe zasady wnioskowania bayesowskiego 2 3 4 20 / 23
Podstawowe programy i pakiety Nie istniej na razie pakiety umo»liwiaj ce w peªni ogólne wnioskowanie bayesowskie przeprowadzane wyª cznie za pomoc R. Istniej ce pakiety do symulacji rozkªadu a posteriori s interfejsami do programów zewn trznych, takich jak: STAN (rstan) BUGS / WinBUGS / JAGS (R2WinBUGS, rjags, R2jags, runjags, dclone,...) LaplacesDemon Na podstawie gotowych ªa«cuchów mo»emy wnioskowa z u»yciem pakietu coda. Istniej równie» pakiety umo»liwiaj ce szybk estymacj wielu modeli specjalnych (MCMCpack, BMR, gecon,...). 21 / 23
Analiza z u»yciem BUGS/JAGS Istnieje wiele funkcji, które pozwalaj próbkowa z rozkªadu a posteriori: jags.model + jags.samples (pakiet jags) jags / jags2 / jags.parallel (pakiet R2jags) jags.t / jags.part (pakiet dclone) Posªu»ymy si funkcj jags.parallel z R2jags, której atutem jest wzgl dna szybko±. Niestety, darwinistyczna natura R nie pomaga w szybkim i wiarygodnym zorientowaniu si w dost pnych narz dziach... :) 22 / 23
Praca z rjags / R2jags 1 Deniujemy nasz model w j zyku BUGS, jako funkcj w R (wiersze 46-56 towarzysz cego kodu). 2 Zapisujemy nasz model w pliku zewn trznym (polecenie write.model z pakietu R2WinBUGS, wiersz 59). 3 Nadajemy R dost p do JAGS (wiersz 66; je»eli zainstalowali±my JAGS sami, wówczas ten krok nale»y pomin ). 4 Uruchamiamy symulator a posteriori (70-79). 5 Mo»emy wyznaczy ±redni i dowoln inn statystyk a posteriori, HPDI, numeryczny bª d standardowy. 6 Nale»y równie» zbada zbie»no± i korelacje w ªa«cuchach. 7 Porównania modeli mo»emy dokona za pomoc DIC (deviance information criterion). 23 / 23