Skip to content

Commit 15c3bc1

Browse files
committed
BG & JB検定
1 parent ba114b5 commit 15c3bc1

File tree

1 file changed

+38
-116
lines changed

1 file changed

+38
-116
lines changed

18_ADAS-1.ipynb

Lines changed: 38 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,7 @@
852852
"cell_type": "markdown",
853853
"metadata": {
854854
"editable": true,
855+
"jp-MarkdownHeadingCollapsed": true,
855856
"slideshow": {
856857
"slide_type": ""
857858
},
@@ -1061,7 +1062,7 @@
10611062
"\n",
10621063
"* $e_{pt}\\equiv h\\left(a u_{t}+v_{t}\\right)$\n",
10631064
"\n",
1064-
"説明変数である$p_{t-1}$は誤差項$e_{pt}$とは期間がズレているため$\\text{E}(e_{pt}|p_{t-1})=0$が満たされ,推定値は一致性を満たすことになる(不偏性は満たさない)。\n",
1065+
"説明変数である$p_{t-1}$は誤差項$e_{pt}$とは期間がズレているため,仮定に基づくと$\\text{E}(e_{pt}|p_{t-1})=0$が満たされ,推定値は一致性を満たすことになる(不偏性は満たさない)。\n",
10651066
"\n",
10661067
"まず,`df`のメソッド`.shift()`を使って`deflator_cycle`を1期ずらした列を`deflator_cycle_lag`として`df`に追加しよう。"
10671068
]
@@ -1159,10 +1160,11 @@
11591160
"metadata": {},
11601161
"source": [
11611162
"* 残差の自己相関\n",
1162-
" * 式[](eq:18-regression-h)は自己回帰モデルとなるため,ダービン・ワトソン検定統計量($d$検定){glue:}`durbin_watson_h`は無効となる。その代わりに,[付録A](sec:18-1-appendix_A)ではダービンの$H$検定をおこなっているが,残差の自己相関を棄却できない。従って,`t`検定は有効ではない。\n",
1163+
" * 式[](eq:18-regression-h)は自己回帰モデルとなるため,ダービン・ワトソン検定統計量($d$検定){glue:}`durbin_watson_h`は無効となる。その代わりに,[付録A](sec:18-1-appendix_A)ではBreusch-Godfrey検定とLjung-Box検定をおこなっているが,残差の自己相関を棄却できない。従って,`t`検定は有効ではない。\n",
11631164
"* 残差の均一分散([付録A](sec:18-1-appendix_A)を参照)\n",
11641165
" * ブルーシュペーガン検定の$p$値は{glue:}`breuschpagan_h`であり、とホワイト検定の値は{glue:}`white_h`となり,帰無仮説(均一分散)は「通常」の優位性水準では棄却される。\n",
1165-
"* 不均一分散自己相関頑健推定(`HAC`)を使うと推定値`h`の`t`検定は有効になるが,その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_h`であり、推定値の統計的優位性は高いことが確認できる。\n",
1166+
"* 不均一分散自己相関頑健推定(`HAC`)\n",
1167+
" * この手法を使うと推定値`h`の`t`検定は有効になる。その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_h`であり([付録A](sec:18-1-appendix_A)を参照)、推定値の統計的優位性は高いことが確認できる。\n",
11661168
"* 定数項なしで推定しても結果は殆ど変わらない。(試してみよう!)"
11671169
]
11681170
},
@@ -1209,7 +1211,7 @@
12091211
"* $d\\equiv -ch$\n",
12101212
"* $e_{yt}\\equiv hu_t-chv_t$\n",
12111213
"\n",
1212-
"説明変数である$p_{t-1}$は誤差項$e_{yt}$とは期間がズレているため$\\text{E}(e_{yt}|p_{t-1})=0$となり,推定値は一致性を満たすことになる(不偏性は満たさない)。"
1214+
"説明変数である$p_{t-1}$は誤差項$e_{yt}$とは期間がズレているため,仮定に基づくと$\\text{E}(e_{yt}|p_{t-1})=0$となり,推定値は一致性を満たすことになる(不偏性は満たさない)。"
12131215
]
12141216
},
12151217
{
@@ -1285,10 +1287,10 @@
12851287
"metadata": {},
12861288
"source": [
12871289
"* `Durbin-Watson`検定量は{glue:}`durbin_watson_d`であり残差の正の系列相関が疑われる。\n",
1288-
" * $t$検定は無効の可能性がある\n",
1290+
" * $t$検定は無効の可能性を拭えない\n",
12891291
"* 残差の均一分散([付録B](sec:18-1-appendix_B)を参照)\n",
1290-
" * ブルーシュペーガン検定の$p$値は{glue:}`breuschpagan_d`であり、帰無仮説(均一分散)は有意水準`5`%で棄却される。一方、ホワイト検定の$p$値は{glue:}`white_d`となり、帰無仮説(均一分散)は有意水準`5`%で棄却できないが、`10`%では棄却される。従って、不均一分散の可能性も残っている。\n",
1291-
"* 不均一分散自己相関頑健推定(`HAC`)を使うと推定値`h`の`t`検定は有効になるが,その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_d_hac`であり、推定値の統計的優位性は高いことが確認できる([付録B](sec:18-1-appendix_B)を参照)。この結果に基づき`d`の推定値を採用する。\n",
1292+
" * ブルーシュペーガン検定の$p$値は{glue:}`breuschpagan_d`であり、帰無仮説(均一分散)は有意水準`5`%で棄却される。一方、ホワイト検定の$p$値は{glue:}`white_d`となり、帰無仮説(均一分散)は有意水準`5`%で棄却できないが、`10`%では棄却される。従って、不均一分散の可能性も残っている。従って,この理由からも$t$検定は無効になるかも知れない。\n",
1293+
"* 不均一分散自己相関頑健推定(`HAC`)を使うと推定値`h`の`t`検定は有効になる。その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_d_hac`であり、推定値の統計的優位性は高いことが確認できる([付録B](sec:18-1-appendix_B)を参照)。この結果に基づき`d`の推定値を採用する。\n",
12921294
"* 定数項なしで推定しても結果は殆ど変わらない。"
12931295
]
12941296
},
@@ -1562,7 +1564,9 @@
15621564
},
15631565
{
15641566
"cell_type": "markdown",
1565-
"metadata": {},
1567+
"metadata": {
1568+
"jp-MarkdownHeadingCollapsed": true
1569+
},
15661570
"source": [
15671571
"(sec:18-1-appendix_A)=\n",
15681572
"### 付録A"
@@ -1581,74 +1585,16 @@
15811585
"cell_type": "markdown",
15821586
"metadata": {},
15831587
"source": [
1584-
"式[](eq:18-regression-h)は自己回帰モデルとなるため,(通常の)ダービン・ワトソン検定($d$検定)は無効となる。その代わりに,次の統計量で与えられるダービンの$H$検定を使う。\n",
1585-
"\n",
1586-
"$$\n",
1587-
"H = \n",
1588-
"\\left(\n",
1589-
"1-\\frac{d}{2}\n",
1590-
"\\right)\n",
1591-
"\\sqrt{\n",
1592-
" \\frac{T}\n",
1593-
" {\n",
1594-
" 1-T\\times\\widehat{\\text{Var}}\n",
1595-
" \\left(\n",
1596-
" \\hat{\\beta}\n",
1597-
" \\right)\n",
1598-
" }\n",
1599-
"}\n",
1600-
"\\sim{\\cal N}(0,1)\n",
1601-
"$$"
1602-
]
1603-
},
1604-
{
1605-
"cell_type": "markdown",
1606-
"metadata": {},
1607-
"source": [
1608-
"ここで\n",
1609-
"\n",
1610-
"* $H$:ダービン$H$検定統計量\n",
1611-
"* $d$:ダービン・ワトソン($d$)検定統計量\n",
1612-
"* $T$:標本の大きさ\n",
1613-
"* $\\widehat{\\text{Var}}\\left(\\hat{\\beta}\\right)$:$p_{t-1}$の係数`h`の分散の推定値\n",
1614-
"* 仮定:$1>T\\times\\widehat{\\text{Var}}\\left(\\hat{\\beta}\\right)$\n",
1615-
"\n",
1616-
"であり,$H$は標準正規分布に従う。\n",
1588+
"式[](eq:18-regression-h)は自己回帰モデルとなるため,(通常の)ダービン・ワトソン検定($d$検定)は無効となる。その代わりに,Breusch-Godfrey検定を使う。\n",
16171589
"\n",
16181590
"<帰無仮説>\n",
16191591
"\n",
1620-
"$H_0$:自己相関はない"
1621-
]
1622-
},
1623-
{
1624-
"cell_type": "markdown",
1625-
"metadata": {},
1626-
"source": [
1627-
"<両側検定>"
1628-
]
1629-
},
1630-
{
1631-
"cell_type": "code",
1632-
"execution_count": null,
1633-
"metadata": {},
1634-
"outputs": [],
1635-
"source": [
1636-
"import scipy\n",
1637-
"cv_10 = scipy.stats.norm.ppf(0.05)\n",
1638-
"cv_025 = scipy.stats.norm.ppf(0.025)\n",
1639-
"cv_01 = scipy.stats.norm.ppf(0.005)\n",
1640-
"print(f'有意水準10%:Hの絶対値が {abs(cv_10):.3f} よりも大きい場合,帰無仮説を棄却する。')\n",
1641-
"print(f'有意水準5%:Hの絶対値が {abs(cv_025):.3f} よりも大きい場合,帰無仮説を棄却する。')\n",
1642-
"print(f'有意水準1%:Hの絶対値が {abs(cv_01):.3f} よりも大きい場合,帰無仮説を棄却する。')"
1643-
]
1644-
},
1645-
{
1646-
"cell_type": "markdown",
1647-
"metadata": {},
1648-
"source": [
1649-
"<$H$検定統計量の計算>\n",
1592+
"$$\n",
1593+
"e_{pt}=\\rho_{p}e_{pt-1}+e_{pt}\n",
1594+
"$$\n",
16501595
"\n",
1651-
"$d$の計算"
1596+
"* $H_0$:$\\rho_{p}=0$\n",
1597+
"* $H_A$:$\\rho_{p}\\ne0$"
16521598
]
16531599
},
16541600
{
@@ -1657,50 +1603,34 @@
16571603
"metadata": {},
16581604
"outputs": [],
16591605
"source": [
1660-
"from statsmodels.stats.stattools import durbin_watson\n",
1661-
"d = durbin_watson(res_h.resid)\n",
1662-
"d"
1606+
"from statsmodels.stats.diagnostic import acorr_breusch_godfrey\n",
1607+
"\n",
1608+
"acorr_breusch_godfrey(res_h, nlags=1)"
16631609
]
16641610
},
16651611
{
16661612
"cell_type": "markdown",
16671613
"metadata": {},
16681614
"source": [
1669-
"標本の大きさ"
1670-
]
1671-
},
1672-
{
1673-
"cell_type": "code",
1674-
"execution_count": null,
1675-
"metadata": {},
1676-
"outputs": [],
1677-
"source": [
1678-
"T = res_h.nobs\n",
1679-
"T"
1615+
"上から次の値となる。\n",
1616+
"* $LM$検定統計量\n",
1617+
"* $LM$検定統計量に関する$p$値\n",
1618+
"* $F$検定統計量\n",
1619+
"* $F$検定統計量に関する$p$値"
16801620
]
16811621
},
16821622
{
16831623
"cell_type": "markdown",
16841624
"metadata": {},
16851625
"source": [
1686-
"$\\widehat{\\text{Var}}\\left(\\hat{\\beta}\\right)$の計算"
1687-
]
1688-
},
1689-
{
1690-
"cell_type": "code",
1691-
"execution_count": null,
1692-
"metadata": {},
1693-
"outputs": [],
1694-
"source": [
1695-
"var_h = res_h.cov_params().loc['deflator_cycle_lag','deflator_cycle_lag']\n",
1696-
"var_h"
1697-
]
1698-
},
1699-
{
1700-
"cell_type": "markdown",
1701-
"metadata": {},
1702-
"source": [
1703-
"$H$検定統計量の計算"
1626+
"5%の有意水準で帰無仮説を棄却できる。即ち,残差の自己相関があるようだ。\n",
1627+
"\n",
1628+
"次に,Ljung-Box検定もおこなってみよう。\n",
1629+
"\n",
1630+
"<帰無仮説>\n",
1631+
"\n",
1632+
"* $H_0$:残差は独立分布(無相関)\n",
1633+
"* $H_A$:$\\rho_{p}\\ne0$"
17041634
]
17051635
},
17061636
{
@@ -1709,24 +1639,16 @@
17091639
"metadata": {},
17101640
"outputs": [],
17111641
"source": [
1712-
"H = ( 1-d/2 ) * ( T /(1-T*var_h) )**(1/2)\n",
1713-
"H"
1642+
"from statsmodels.stats.diagnostic import acorr_ljungbox\n",
1643+
"\n",
1644+
"acorr_ljungbox(res_h.resid, lags=1)"
17141645
]
17151646
},
17161647
{
17171648
"cell_type": "markdown",
17181649
"metadata": {},
17191650
"source": [
1720-
"$p$値の計算"
1721-
]
1722-
},
1723-
{
1724-
"cell_type": "code",
1725-
"execution_count": null,
1726-
"metadata": {},
1727-
"outputs": [],
1728-
"source": [
1729-
"1-scipy.stats.norm.cdf(H)"
1651+
"左の値が検定統計量であり,右の値が$p$値となる。5%の有意水準で帰無仮説を棄却される。自己相関が疑われる結果である。"
17301652
]
17311653
},
17321654
{

0 commit comments

Comments
 (0)