Újdonságok a -ben

Bayesian VAR modellek

A vektoros autoregresszív (VAR) modellek több idősor, például a munkanélküliség és az inflációs ráta kapcsolatát vizsgálják, az eredményváltozók késéseinek beépítésével mint modell előrejelzések. Vagyis a jelenlegi munkanélküliségi rátát a korábbi idők munkanélküliségi és inflációs rátáinak felhasználásával modellezi. És ugyanígy a jelenlegi inflációs ráta esetében is.
A VAR modellekről ismert, hogy sok paraméterük van: K eredményváltozóval és p késleltetéssel legalább K (pK + 1) paraméter létezik. A modell paramétereinek megbízható becslése kihívást jelenthet, különösen kis adatkészletek esetén.
Használhatja az új bayes: var parancsot a Bayes-i VAR modellek illesztésére, amelyek segítenek leküzdeni ezeket a kihívásokat azáltal, hogy előzetes információkat tartalmaznak a modell paramétereiről. Ez gyakran stabilizálja a paraméterbecslést. (Gondoljon arra, hogy a modell egy bizonyos mértékű zsugorítást vezet be a modellparaméterekhez.)
Megvizsgálhatja a véletlenszerű-járás feltételezésének az eredményekre gyakorolt hatását az eredeti Minnesota korábbi eloszlás több támogatott variációjának paramétereinek változtatásával. Az új bayesvarstable. paranccsal ellenőrizheti a paraméterek stabilitásának feltételezését. Ha meg van elégedve, akkor a bayesfcast segítségével dinamikus előrejelzéseket generálhat, és a bayesirf használatával elvégezheti az impulzus-válasz függvény (IRF) és az előrejelzés-hiba variancia dekompozíció (FEVD) elemzést.

Kiemelt

Becslések

  • Alapértelmezett vagy egyéni késés
  • Exogén változók
  • Minnesota korábbi disztribúciók
  • Az MCMC mintavétel rugalmas vezérlése
  • Többszörös láncok

Utóbecslések

  • MCMC diagnosztika
  • Ellenőrzi a paraméterek stabilitását
  • Bayesi dinamikus előrejelzések
  • Bayesi IRF és FEVD elemzés
  • One-step-ahead Bayesian előrejelzések
  • Teljes Bayesi utóértékelés támogatás

Lássuk mükődni

  • Becslés
  • A paraméter stabilitásának ellenőrzése
  • Az alapértelmezett előzmény testreszabása
  • A késések számának kiválasztása
  • IRF analízis
  • Dinamikus előrejelzések
  • Letisztázás

Becslés
Tekintsük a Federal Reserve negyedéves gazdasági makroadatait 1954 első negyedévétől 2010 negyedik negyedévéig. Szeretnénk megvizsgálni az infláció, a kibocsátási rés és a szövetségi alapok arányának kapcsolatát. Különösen a politikai döntéshozók által ellenőrzött szövetségi alapkamat hatásai érdekelnek minket. Szintén érdekeltek vagyunk a három eredményváltozó dinamikus előrejelzésében.
Először vessünk egy pillantást az adatainkra.

. webuse usmacro
(Federal Reserve Economic Data - St. Louis Fed)

. tsset

Time variable: date, 1954q3 to 2010q4
        Delta: 1 quarter

. tsline inflation ogap fedfunds

Be akarunk illeszteni egy Bayes-i VAR-modellt a három változó kapcsolatának tanulmányozására. Ha már ismeri a Stata var parancsát, amely illeszkedik a klasszikus VAR modellekhez, a Bayesi modellek alkalmazása különösen egyszerű lesz. Egyszerűen előtagozzuk a var parancsot bayes:. Az alábbiakban megadunk egy véletlenszámú magot is a reprodukálhatóság érdekében.
A bayes: var kimenete hosszú, ezért darabokban fogjuk leírni.

. bayes, rseed(17): var inflation ogap fedfunds

Burn-in ...
Simulation ...

Model summary
Likelihood:
inflation
ogap
fedfunds ~ mvnormal(3,xb_inflation,xb_ogap,xb_fedfunds,{Sigma,m})
 
Priors:
{inflation:L(1 2).inflation} (1)
{inflation:L(1 2).ogap} (1)
{inflation:L(1 2).fedfunds} (1)
{inflation:_cons} (1)
{ogap:L(1 2).inflation} (2)
{ogap:L(1 2).ogap} (2)
{ogap:L(1 2).fedfunds} (2)
{ogap:_cons} (2)
{fedfunds:L(1 2).inflation} (3)
{fedfunds:L(1 2).ogap} (3)
{fedfunds:L(1 2).fedfunds} (3)
{fedfunds:_cons} ~ varconjugate(3,2,1,_b0,{Sigma,m},_Phi0) (3)
{Sigma,m} ~ iwishart(3,5,_Sigma0)
(1) Parameters are elements of the linear form xb_inflation. (2) Parameters are elements of the linear form xb_ogap. (3) Parameters are elements of the linear form xb_fedfunds.

A hagyományos VAR modellhez hasonlóan feltételezzük, hogy a valószínűség többváltozós (a példánkban háromváltozós) normális a hibakovariancia mátrix esetén {Sigma,m}. A hibakovariancia modellparaméter, ezért göndör zárójelben jelenik meg, {}.
A Bayes-i VAR-modellben minden modellparaméterhez meg kell adni a priorokat is. A bayes: var alapértelmezett priorokat ad meg, de módosíthatja őket az elemzéshez való igazodáshoz.
Alapértelmezés szerint a VAR regressziós együtthatók egy úgynevezett konjugált Minnesota előtaghoz vannak rendelve, a hibakovariancia pedig egy inverz Wishhart előtag. A Minnesota-i prioritás mögött az az ötlet áll, hogy egyes értékek (gyakran nulla vagy az első saját késési együtthatók esetén) nulla értékeket szorítanak meg, miközben megőrzik az alapul szolgáló időfüggő kapcsolatokat az adatokban. Erről a priorról többet megtudhat a Minnesota prior magyarázatában a [BAYES] bayes: var.
A következőkben meglehetősen hosszadalmas eredményt kapunk. Amint az IRF elemzésben látni fogjuk, a VAR modell eredményeit általában IRF és más függvények segítségével értelmezik. De a teljesség érdekében az alábbi kimenetet mutatjuk be.
A fejléc az MCMC-eljárással kapcsolatos standard információkat közli: a beégett iterációk száma, az MCMC minta nagysága és így tovább. Az alapértelmezett értékek 2500 beégetéses ismétlések és 10 000 az MCMC mintanagyságnál, de lehet, hogy kevesebbre vagy többre lesz szüksége az elemzés során.
Mivel a bayes: var Gibbs mintavételt használ a szimulációhoz, az MCMC eredmények általában magas hatékonyságúak (közel 1-hez); lásd a kimenetet a Efficiency alatt:.

Bayesian vector autoregression                   MCMC iterations  =     12,500
Gibbs sampling                                   Burn-in          =      2,500
                                                 MCMC sample size =     10,000
Sample: 1956q1 thru 2010q4                       Number of obs    =        220
                                                 Acceptance rate  =          1
                                                 Efficiency:  min =      .9621
                                                              avg =      .9968
Log marginal-likelihood = -803.40081                          max =          1

Equal-tailed
Mean Std. dev. MCSE Median [95% cred. interval]
inflation
inflation
L1. 1.050509 .0406623 .000407 1.050519 .9709674 1.131497
L2. -.0983798 .038157 .000382 -.0982178 -.1732963 -.0242587
ogap
L1. .0738608 .0326438 .000318 .0738179 .011719 .1383346
L2. -.0047669 .0299874 .000296 -.0044935 -.06365 .0537368
fedfunds
L1. .0717713 .031543 .000315 .0715381 .0111944 .1340734
L2. -.054096 .0285518 .000286 -.0542693 -.1101743 .0019505
_cons .1360559 .0870247 .00087 .1357733 -.0358968 .3071866
ogap
inflation
L1. -.070946 .0504929 .000515 -.0713239 -.1695751 .0279189
L2. .0080639 .0471388 .000471 .0084353 -.0845188 .1001178
ogap
L1. 1.034557 .040881 .000409 1.034394 .9533511 1.113827
L2. -.1038247 .0379861 .00038 -.103874 -.1776099 -.0288752
fedfunds
L1. .0361347 .0388217 .000388 .0359872 -.0390069 .1130978
L2. -.0450505 .0351746 .000352 -.0447803 -.1138243 .0243874
_cons .2129268 .1080613 .001081 .2122609 -.0000164 .4277089
fedfunds
inflation
L1. .0259699 .0538047 .000527 .0256361 -.077736 .1331889
L2. .0468066 .0500692 .000501 .0470046 -.0512646 .1447051
ogap
L1. .1545118 .0437399 .000437 .1542643 .0695918 .2404831
L2. -.0954632 .0401437 .000401 -.0949833 -.1751912 -.0169302
fedfunds
L1. .998348 .0419964 .000425 .998391 .917987 1.080904
L2. -.0806434 .0380157 .00038 -.0804814 -.1541685 -.0075734
_cons .2036804 .1155176 .001155 .2048609 -.0246111 .4297876
Sigma_1_1 .4384999 .0416187 .000422 .435944 .3634841 .5272232
Sigma_2_1 .0569301 .0369788 .00037 .0569781 -.0143685 .1305416
Sigma_3_1 .1559746 .0407611 .000408 .1547395 .079231 .2400816
Sigma_2_2 .6777257 .0647212 .000647 .6736507 .5615162 .8158431
Sigma_3_2 .2506655 .0518798 .000519 .2481628 .1547145 .3596628
Sigma_3_3 .7746199 .0724508 .000725 .7701015 .6465796 .9287891

Alapértelmezés szerint a bayes: var két késleltetést tartalmaz minden kimeneti változóhoz, de a lags() opcióban megadhat más késéseket; lásd: A késések számának kiválasztása.
Szimuláció után érdemes elmenteni az MCMC eredményeit a további utóértékelés elemzéséhez. bayes, esetén ez a becslés alatt vagy után is elvégezhető.

. bayes, saving(bvarsim2)
note: file bvarsim2.dta saved.

Tároljuk a jelenlegi bayes: var becslési eredményeket is a későbbi modell-összehasonlítás céljából.

. estimates store lag2

Mint minden MCMC módszer esetében, az egyéb elemzésekre való áttérés előtt ellenőriznünk kell, hogy az MCMC konvergált-e. Használhatunk grafikus ellenőrzéseket,

. bayesgraph diagnostics {inflation:L1.ogap}

vagy több lánc segítségével kiszámíthatjuk a Gelman – Rubin konvergencia statisztikát. A nyomvonal nem mutat trendet, és az autokorreláció alacsony. Úgy tűnik, hogy az MCMC konvergál.

A paraméter stabilitásának ellenőrzése

A VAR modell következtetése a paraméterek stabilitásának feltételezésén alapul, amelyet egy Bayes VAR modell után ellenőrizhet az új bayesvarstable paranccsal.

. bayesvarstable

Eigenvalue stability condition                   Companion matrix size =     6
                                                 MCMC sample size      = 10000

Eigenvalue Equal-tailed
modulus Mean Std. dev. MCSE Median [95% cred. interval]
1 .9529782 .01603 .00016 .9533415 .920918 .9840033
2 .9486492 .0188851 .000189 .9504839 .9058018 .9807103
3 .8867184 .0361654 .000362 .8893334 .8093261 .9464411
4 .1746283 .0438198 .000438 .1709831 .0996019 .2688087
5 .1091889 .0400347 .0004 .1057698 .0401139 .1913403
6 .0519465 .0354457 .000354 .0472559 .0019949 .1240763
Pr(eigenvalues lie inside the unit circle) = 0.9978

Az egyes sajátérték modulok 95% -os hiteles intervallumai nem tartalmaznak egynél nagyobb vagy egyenlő értékeket, ami jó jel. És annak az utólagos valószínűsége, hogy az összes sajátérték az egységkörben fekszik, közel egy. Nincs okunk feltételezni a stabilitási feltételezés megsértését.
Erről a feltételezésről a [BAYES] bayesvarstable-ban olvashat bővebben.

Az alapértelmezett előzmény testreszabása

By default, the conjugate Minnesota prior of bayes: var shrinks the first own-lag coefficients toward one. (A first own-lag coefficient is a coefficient for the first lag of the outcome variable in its own equation. In our example, there are three such coefficients: {inflation:L1.inflation}, {ogap:L1.ogap}, and {fedfunds:L1.fedfunds}.)

Alapértelmezés szerint a bayes: var var konjugált Minnesota-előtagja csökkenti az első saját késési együtthatókat egy felé. (Az első saját késési együttható az eredményváltozó első lemaradásának együtthatója a saját egyenletében. Példánkban három ilyen együttható létezik: {inflation:L1.inflation}, {ogap:L1.ogap}, és {fedfunds:L1.fedfunds}.)
Az alapértelmezett előzetes egy véletlenszerű-séta feltételezését támogatja az eredményváltozó esetében. Ez a feltételezés lehet, hogy nem az, amit vártunk, az adattípustól függően. Például differenciált adatokkal érdemes az összes együtthatót nullára csökkenteni.
Ezt úgy tehetjük meg, hogy módosítjuk a minnconjugate() opció alapértelmezett specifikációját, amely meghatározza a Minnesota előtagot. Az alapértelmezett előzetes csak az első saját lemaradási együtthatók esetén feltételezi azok előzetes középértékeit. A többi együttható korábbi középértékei már nullák. Tehát csak a három első saját késleltetési együtthatóhoz kell megadnunk nulla átlagot. Megtehetjük, ha megadunk egy 0-ból 3 hosszúságú vektort a minnconjprior() suboption mean().

. bayes, rseed(17) minnconjprior(mean(J(1,3,0))): var inflation ogap fedfunds

Burn-in ...
Simulation ...

Model summary
Likelihood:
inflation
ogap
fedfunds ~ mvnormal(3,xb_inflation,xb_ogap,xb_fedfunds,{Sigma,m})
 
Priors:
{inflation:L(1 2).inflation} (1)
{inflation:L(1 2).ogap} (1)
{inflation:L(1 2).fedfunds} (1)
{inflation:_cons} (1)
{ogap:L(1 2).inflation} (2)
{ogap:L(1 2).ogap} (2)
{ogap:L(1 2).fedfunds} (2)
{ogap:_cons} (2)
{fedfunds:L(1 2).inflation} (3)
{fedfunds:L(1 2).ogap} (3)
{fedfunds:L(1 2).fedfunds} (3)
{fedfunds:_cons} ~ varconjugate(3,2,1,(J(1,3,0)),{Sigma,m},_Phi0) (3)
{Sigma,m} ~ iwishart(3,5,_Sigma0)
(1) Parameters are elements of the linear form xb_inflation. (2) Parameters are elements of the linear form xb_ogap. (3) Parameters are elements of the linear form xb_fedfunds. Bayesian vector autoregression MCMC iterations = 12,500 Gibbs sampling Burn-in = 2,500 MCMC sample size = 10,000 Sample: 1956q1 thru 2010q4 Number of obs = 220 Acceptance rate = 1 Efficiency: min = .9633 avg = .9969 Log marginal-likelihood = -921.66714 max = 1
Equal-tailed
Mean Std. dev. MCSE Median [95% cred. interval]
inflation
inflation
L1. .8857357 .0485368 .000485 .885746 .790685 .9824396
L2. .0269907 .0455449 .000455 .0271839 -.0626737 .1155095
ogap
L1. .0761181 .0389651 .00038 .0760672 .0019879 .1531618
L2. .001521 .0357946 .000354 .0018469 -.0686749 .0713939
fedfunds
L1. .098638 .037651 .000377 .0983597 .0262863 .1730537
L2. -.055385 .0340805 .000341 -.0555918 -.1224443 .0115358
_cons .1544722 .1038773 .001039 .1541354 -.0510049 .3581968
ogap
inflation
L1. -.0675691 .0598816 .00061 -.0680522 -.1848906 .0498421
L2. -.0150082 .0559096 .000559 -.0145887 -.1250453 .0939403
ogap
L1. .8719911 .0484592 .000485 .871777 .7757726 .966344
L2. .0249191 .0450373 .00045 .0248376 -.0625478 .1135304
fedfunds
L1. .0631993 .0460222 .00046 .0629379 -.0258211 .1543138
L2. -.0643443 .0417046 .000417 -.0641588 -.1458078 .0178974
_cons .2199806 .128148 .001281 .2193497 -.0318993 .4743479
fedfunds
inflation
L1. .0734435 .0630289 .000617 .073388 -.0487301 .1981055
L2. .0493568 .0586613 .000587 .0494503 -.0655153 .1640052
ogap
L1. .1859435 .0512156 .000512 .185431 .0871488 .2868869
L2. -.1102205 .0469907 .00047 -.1097752 -.203735 -.0180675
fedfunds
L1. .8202078 .049201 .000497 .8202937 .7256878 .9166404
L2. .0450037 .0445312 .000445 .0450415 -.0415155 .1307499
_cons .308838 .1353585 .001354 .310172 .0415897 .5746537
Sigma_1_1 .6247714 .0593237 .000601 .6212457 .5183145 .7517009
Sigma_2_1 .0657255 .0522565 .000523 .0660805 -.034914 .1691783
Sigma_3_1 .1959076 .0566382 .000566 .1943097 .0884963 .3126778
Sigma_2_2 .9525887 .0909202 .000909 .9473281 .7902117 1.146957
Sigma_3_2 .3194013 .0714681 .000715 .3163695 .1868128 .468176
Sigma_3_3 1.062408 .0993678 .000994 1.056211 .8867977 1.273854

Úgy tűnik, hogy az új korábbi specifikáció nem sokat változtatott az eredményeken. Ez azt jelenti, hogy a megfigyelt adatokban szereplő információk a modell paramétereiről uralják az előzetes információinkat.

A késések számának kiválasztása

A késleltetés kiválasztása fontos szempont a VAR modelleknél. A hagyományos módszerek, például az AIC kritériumot alkalmazók, gyakran túlértékelik a lemaradások számát. A Bayes-analízis lehetővé teszi az egyes modellek tényleges valószínűségének kiszámítását a megfigyelt adatokra tekintettel – a modell utólagos valószínűségét.
A modell utólagos valószínűségeinek kiszámításához először be kell illesztenünk az összes kívánt modellt. Vegyünk egy, két és három lemaradást itt, de annyi modellt adhat meg, amennyit csak szeretne a saját elemzésében.
A modell eredményeit már két késéssel tároltuk lag2. -ként. Most egy és három késéssel rendelkező modelleket illesztünk, és elmentjük a megfelelő eredményeket. Csendesen működtetjük a modelleket.

. quietly bayes, rseed(17) saving(bvarsim1): var inflation ogap fedfunds, lags(1/1)
. estimates store lag1
. quietly bayes, rseed(17) saving(bvarsim3): var inflation ogap fedfunds, lags(1/3)
. estimates store lag3

Most a bayestest model használjuk az utólagos valószínűségek kiszámításához. Feltételezzük, hogy mindegyik modell a priori egyformán valószínű (alapértelmezett).

. bayestest model lag1 lag2 lag3

Bayesian model tests

log(ML) P(M) P(M|y)
lag1 -814.4808 0.3333 0.0000
lag2 -803.4008 0.3333 0.0047
lag3 -798.0420 0.3333 0.9953
Note: Marginal likelihood (ML) is computed using Laplace–Metropolis approximation.

A három lemaradással rendelkező modell utólagos valószínűsége a legnagyobb a három figyelembe vett modell közül.

IRF analízis

A VAR modellek sok regressziós együtthatót tartalmaznak, ami megnehezíti ezen modellek eredményeinek értelmezését. Egyedi együtthatók helyett IRF-eket használnak az eredmények összegzésére. Az IRF-ek egy változóban, egy impulzus változóban lévő sokk hatását mérik egy adott válaszváltozóra egy adott időszakban.
Példánkban arra kíváncsi vagyunk, hogy a szövetségi alapok aránya milyen hatással van a modell többi eredményére. Használjunk IRF-eket ennek a változónak a hatásához. Itt az előző szakaszban kiválasztott három késéssel rendelkező modellt használjuk.

. estimates restore lag3
(results lag3 are active now)

Csakúgy, mint a Stata standard IRF elemzésénél, először IRF eredményeket hozunk létre, és későbbi elemzés céljából IRF adatkészletbe mentjük őket. A bayes: var, utáni IRF elemzéshez az új bayesirf parancsot használjuk a meglévő irf parancs helyett.
Az új parancsra a klasszikus és a bayesi IRF közötti különbségek miatt van szükség. Egy adott impulzus és válasz változó pár esetében a gyakoriságú IRF egyetlen funkció, míg a Bayes-i IRF-ek a függvények hátsó MCMC-mintájának felelnek meg. Ezt a mintát összefoglalva egyetlen függvényt kapunk. A utólagos átlag IRF alapértelmezés szerint jelentésre kerül, de helyette kiszámíthatja a hátsó medián IRF értéket.
Először a bayesirf create segítségével készítjük a birf nevű IRF eredményeket, és elmentjük őket a birfex.irf IRF fájlba.

. bayesirf create birf, set(birfex)
(file birfex.irf created)
(file birfex.irf now active)
(file birfex.irf updated)

IRF-eket ábrázolunk fedfunds -al, mint impulzus változóval.

. bayesirf graph irf, impulse(fedfunds)

Ez az IRF grafikon azt mutatja, hogy a szövetségi alapok sokkja pozitív hatással van önmagára, amely idővel csökken, de 8 negyedév után is pozitív. A szövetségi alapkamat-sokk csekély hatással van a kibocsátási résre, és csekély pozitív hatással van az inflációra, amely 2 negyedév után eloszlik.
Lásd még a Bayesi IRF és FEVD elemzést.

Dinamikus előrejelzés

Az előrejelzéshez általában a VAR modelleket használják. Itt bemutatjuk, hogyan lehet kiszámítani a Bayesi dinamikus előrejelzéseket egy Bayes-i VAR modell beillesztése után.
Előrejelzéseket készítünk a bayes: var után, ahogyan a var, után is, csakhogy a fcast helyett bayesfcast -ot használunk.
A Bayesi IRF-ekhez hasonlóan a Bayesi előrejelzések megegyeznek az MCMCelőrejelzések utólagos mintájával az egyes időszakokra vonatkozóan. Az utólagos átlag előrejelzést alapértelmezés szerint jelentik, de helyette kiszámíthatja az utólagos közép előrejelzést.
Számítsunk ki egy Bayes-féle dinamikus előrejelzést 10 időszakra.

. bayesfcast compute f_, step(10)

A utólagos átlag előrejelzéseket, más előrejelzési változókkal együtt, az f_ előtagú eredménynevekkel rendelkező változókba menti az adatkészlet.
A számított előrejelzések ábrázolásához a bayesfcast graph -ot használhatjuk.

. bayesfcast graph f_inflation f_ogap f_fedfunds

Ebből a grafikonból az inflációs előrejelzésünk kicsi az első negyedévre, de ezt követően statisztikailag nem szignifikáns. (A 95% -ban hiteles sávok nulla értéket tartalmaznak.) Az előrejelzett kibocsátási rés negatív az első évre, és ezt követően nullához közelít. Az előrejelzések szerint a szövetségi alapok aránya kicsi és nullához közeli lesz minden időszakra.
Lásd még a Bayesi dinamikus előrejelzést.

Letisztázás

Az elemzés után ne felejtse el eltávolítani a bayes: var és bayesirf, által generált adatkészleteket, amelyekre már nincs szüksége.

. erase bvarsim1.dta
. erase bvarsim2.dta
. erase bvarsim3.dta
. erase birfex.irf