Ú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) |
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 | |
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) |
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 | |
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