Skip to content

Commit

Permalink
BG & JB検定
Browse files Browse the repository at this point in the history
  • Loading branch information
spring-haru committed Jan 3, 2025
1 parent ba114b5 commit 15c3bc1
Showing 1 changed file with 38 additions and 116 deletions.
154 changes: 38 additions & 116 deletions 18_ADAS-1.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -852,6 +852,7 @@
"cell_type": "markdown",
"metadata": {
"editable": true,
"jp-MarkdownHeadingCollapsed": true,
"slideshow": {
"slide_type": ""
},
Expand Down Expand Up @@ -1061,7 +1062,7 @@
"\n",
"* $e_{pt}\\equiv h\\left(a u_{t}+v_{t}\\right)$\n",
"\n",
"説明変数である$p_{t-1}$は誤差項$e_{pt}$とは期間がズレているため$\\text{E}(e_{pt}|p_{t-1})=0$が満たされ,推定値は一致性を満たすことになる(不偏性は満たさない)。\n",
"説明変数である$p_{t-1}$は誤差項$e_{pt}$とは期間がズレているため,仮定に基づくと$\\text{E}(e_{pt}|p_{t-1})=0$が満たされ,推定値は一致性を満たすことになる(不偏性は満たさない)。\n",
"\n",
"まず,`df`のメソッド`.shift()`を使って`deflator_cycle`を1期ずらした列を`deflator_cycle_lag`として`df`に追加しよう。"
]
Expand Down Expand Up @@ -1159,10 +1160,11 @@
"metadata": {},
"source": [
"* 残差の自己相関\n",
" * 式[](eq:18-regression-h)は自己回帰モデルとなるため,ダービン・ワトソン検定統計量($d$検定){glue:}`durbin_watson_h`は無効となる。その代わりに,[付録A](sec:18-1-appendix_A)ではダービンの$H$検定をおこなっているが,残差の自己相関を棄却できない。従って,`t`検定は有効ではない。\n",
" * 式[](eq:18-regression-h)は自己回帰モデルとなるため,ダービン・ワトソン検定統計量($d$検定){glue:}`durbin_watson_h`は無効となる。その代わりに,[付録A](sec:18-1-appendix_A)ではBreusch-Godfrey検定とLjung-Box検定をおこなっているが,残差の自己相関を棄却できない。従って,`t`検定は有効ではない。\n",
"* 残差の均一分散([付録A](sec:18-1-appendix_A)を参照)\n",
" * ブルーシュペーガン検定の$p$値は{glue:}`breuschpagan_h`であり、とホワイト検定の値は{glue:}`white_h`となり,帰無仮説(均一分散)は「通常」の優位性水準では棄却される。\n",
"* 不均一分散自己相関頑健推定(`HAC`)を使うと推定値`h`の`t`検定は有効になるが,その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_h`であり、推定値の統計的優位性は高いことが確認できる。\n",
"* 不均一分散自己相関頑健推定(`HAC`)\n",
" * この手法を使うと推定値`h`の`t`検定は有効になる。その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_h`であり([付録A](sec:18-1-appendix_A)を参照)、推定値の統計的優位性は高いことが確認できる。\n",
"* 定数項なしで推定しても結果は殆ど変わらない。(試してみよう!)"
]
},
Expand Down Expand Up @@ -1209,7 +1211,7 @@
"* $d\\equiv -ch$\n",
"* $e_{yt}\\equiv hu_t-chv_t$\n",
"\n",
"説明変数である$p_{t-1}$は誤差項$e_{yt}$とは期間がズレているため$\\text{E}(e_{yt}|p_{t-1})=0$となり,推定値は一致性を満たすことになる(不偏性は満たさない)。"
"説明変数である$p_{t-1}$は誤差項$e_{yt}$とは期間がズレているため,仮定に基づくと$\\text{E}(e_{yt}|p_{t-1})=0$となり,推定値は一致性を満たすことになる(不偏性は満たさない)。"
]
},
{
Expand Down Expand Up @@ -1285,10 +1287,10 @@
"metadata": {},
"source": [
"* `Durbin-Watson`検定量は{glue:}`durbin_watson_d`であり残差の正の系列相関が疑われる。\n",
" * $t$検定は無効の可能性がある\n",
" * $t$検定は無効の可能性を拭えない\n",
"* 残差の均一分散([付録B](sec:18-1-appendix_B)を参照)\n",
" * ブルーシュペーガン検定の$p$値は{glue:}`breuschpagan_d`であり、帰無仮説(均一分散)は有意水準`5`%で棄却される。一方、ホワイト検定の$p$値は{glue:}`white_d`となり、帰無仮説(均一分散)は有意水準`5`%で棄却できないが、`10`%では棄却される。従って、不均一分散の可能性も残っている。\n",
"* 不均一分散自己相関頑健推定(`HAC`)を使うと推定値`h`の`t`検定は有効になるが,その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_d_hac`であり、推定値の統計的優位性は高いことが確認できる([付録B](sec:18-1-appendix_B)を参照)。この結果に基づき`d`の推定値を採用する。\n",
" * ブルーシュペーガン検定の$p$値は{glue:}`breuschpagan_d`であり、帰無仮説(均一分散)は有意水準`5`%で棄却される。一方、ホワイト検定の$p$値は{glue:}`white_d`となり、帰無仮説(均一分散)は有意水準`5`%で棄却できないが、`10`%では棄却される。従って、不均一分散の可能性も残っている。従って,この理由からも$t$検定は無効になるかも知れない。\n",
"* 不均一分散自己相関頑健推定(`HAC`)を使うと推定値`h`の`t`検定は有効になる。その場合の`deflator_cycle_lag`の$p$値は{glue:}`pval_d_hac`であり、推定値の統計的優位性は高いことが確認できる([付録B](sec:18-1-appendix_B)を参照)。この結果に基づき`d`の推定値を採用する。\n",
"* 定数項なしで推定しても結果は殆ど変わらない。"
]
},
Expand Down Expand Up @@ -1562,7 +1564,9 @@
},
{
"cell_type": "markdown",
"metadata": {},
"metadata": {
"jp-MarkdownHeadingCollapsed": true
},
"source": [
"(sec:18-1-appendix_A)=\n",
"### 付録A"
Expand All @@ -1581,74 +1585,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"式[](eq:18-regression-h)は自己回帰モデルとなるため,(通常の)ダービン・ワトソン検定($d$検定)は無効となる。その代わりに,次の統計量で与えられるダービンの$H$検定を使う。\n",
"\n",
"$$\n",
"H = \n",
"\\left(\n",
"1-\\frac{d}{2}\n",
"\\right)\n",
"\\sqrt{\n",
" \\frac{T}\n",
" {\n",
" 1-T\\times\\widehat{\\text{Var}}\n",
" \\left(\n",
" \\hat{\\beta}\n",
" \\right)\n",
" }\n",
"}\n",
"\\sim{\\cal N}(0,1)\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ここで\n",
"\n",
"* $H$:ダービン$H$検定統計量\n",
"* $d$:ダービン・ワトソン($d$)検定統計量\n",
"* $T$:標本の大きさ\n",
"* $\\widehat{\\text{Var}}\\left(\\hat{\\beta}\\right)$:$p_{t-1}$の係数`h`の分散の推定値\n",
"* 仮定:$1>T\\times\\widehat{\\text{Var}}\\left(\\hat{\\beta}\\right)$\n",
"\n",
"であり,$H$は標準正規分布に従う。\n",
"式[](eq:18-regression-h)は自己回帰モデルとなるため,(通常の)ダービン・ワトソン検定($d$検定)は無効となる。その代わりに,Breusch-Godfrey検定を使う。\n",
"\n",
"<帰無仮説>\n",
"\n",
"$H_0$:自己相関はない"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<両側検定>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import scipy\n",
"cv_10 = scipy.stats.norm.ppf(0.05)\n",
"cv_025 = scipy.stats.norm.ppf(0.025)\n",
"cv_01 = scipy.stats.norm.ppf(0.005)\n",
"print(f'有意水準10%:Hの絶対値が {abs(cv_10):.3f} よりも大きい場合,帰無仮説を棄却する。')\n",
"print(f'有意水準5%:Hの絶対値が {abs(cv_025):.3f} よりも大きい場合,帰無仮説を棄却する。')\n",
"print(f'有意水準1%:Hの絶対値が {abs(cv_01):.3f} よりも大きい場合,帰無仮説を棄却する。')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<$H$検定統計量の計算>\n",
"$$\n",
"e_{pt}=\\rho_{p}e_{pt-1}+e_{pt}\n",
"$$\n",
"\n",
"$d$の計算"
"* $H_0$:$\\rho_{p}=0$\n",
"* $H_A$:$\\rho_{p}\\ne0$"
]
},
{
Expand All @@ -1657,50 +1603,34 @@
"metadata": {},
"outputs": [],
"source": [
"from statsmodels.stats.stattools import durbin_watson\n",
"d = durbin_watson(res_h.resid)\n",
"d"
"from statsmodels.stats.diagnostic import acorr_breusch_godfrey\n",
"\n",
"acorr_breusch_godfrey(res_h, nlags=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"標本の大きさ"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"T = res_h.nobs\n",
"T"
"上から次の値となる。\n",
"* $LM$検定統計量\n",
"* $LM$検定統計量に関する$p$値\n",
"* $F$検定統計量\n",
"* $F$検定統計量に関する$p$値"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\widehat{\\text{Var}}\\left(\\hat{\\beta}\\right)$の計算"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"var_h = res_h.cov_params().loc['deflator_cycle_lag','deflator_cycle_lag']\n",
"var_h"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$H$検定統計量の計算"
"5%の有意水準で帰無仮説を棄却できる。即ち,残差の自己相関があるようだ。\n",
"\n",
"次に,Ljung-Box検定もおこなってみよう。\n",
"\n",
"<帰無仮説>\n",
"\n",
"* $H_0$:残差は独立分布(無相関)\n",
"* $H_A$:$\\rho_{p}\\ne0$"
]
},
{
Expand All @@ -1709,24 +1639,16 @@
"metadata": {},
"outputs": [],
"source": [
"H = ( 1-d/2 ) * ( T /(1-T*var_h) )**(1/2)\n",
"H"
"from statsmodels.stats.diagnostic import acorr_ljungbox\n",
"\n",
"acorr_ljungbox(res_h.resid, lags=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$p$値の計算"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"1-scipy.stats.norm.cdf(H)"
"左の値が検定統計量であり,右の値が$p$値となる。5%の有意水準で帰無仮説を棄却される。自己相関が疑われる結果である。"
]
},
{
Expand Down

0 comments on commit 15c3bc1

Please sign in to comment.