aboutsummaryrefslogtreecommitdiff
path: root/statistic/try_random_walk_MH.ipynb
blob: 073ff6ed9f3cc94cb26c9529638ceea40303afde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from collections import deque\n",
    "from scipy import stats\n",
    "import sys"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "alpha = 11\n",
    "_lambda = 13\n",
    "B = 100\n",
    "N = 100000 + B"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return stats.gamma.pdf(x, alpha, scale=1/_lambda)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 提案分布は不要\n",
    "# def q(x):\n",
    "#    return stats.norm.pdf(x, loc=rand_mu, scale=rand_std)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "def r(theta, a):\n",
    "    return (\n",
    "        f(a) / f(theta)\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rand_walk(cur):\n",
    "    return cur + np.random.normal()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "100000 / 100100 99.9 %  \n",
      "acceptance ratio: 0.29137862137862136 \n"
     ]
    }
   ],
   "source": [
    "data = deque([4])\n",
    "accept_count = 1\n",
    "for i in range(2, N):\n",
    "    if not i % 1000: # 進捗用\n",
    "        sys.stdout.write(\"%s / %s %s %%  \\r\" % (i, N, np.round(100 * (i / N), decimals=2)))\n",
    "    prev = data[len(data) - 1]\n",
    "    a = rand_walk(prev)\n",
    "    if f(prev) > f(a): # ∵ q(a|θ) = q(θ|a)\n",
    "        if np.random.rand() < r(prev, a):\n",
    "            data.append(a)\n",
    "            accept_count = accept_count + 1\n",
    "        else:\n",
    "            data.append(prev)\n",
    "    else:\n",
    "        data.append(a)\n",
    "        accept_count = accept_count + 1\n",
    "print(\"\\nacceptance ratio: %s \" % str(accept_count / N))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fb95c1e0e90>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(data).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fb95989d410>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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/M8UFhayc+dO3n333f4iBcjOzmbbtm384Ac/4O677wbgjjvu4KyzzmL79u2sXr26f87zrVu38l//9V9s2bKFjz/+mIceeojt27cDUFRUxE9+8hN27tzJvn37ePLJJ3n//fe5++67+fWvf/2ljKtWreK9996jubmZhIQEPvjgAwDef/99Vq5cicfj4cUXX2Tbtm2888473HTTTUNO8PXhhx+ybt06NmzYwIwZM4Iuc8UVV/Dss8/y4YcfsmTJki9MWgZw8803s3jx4v4vq2ih26TxyBZ8xkF3+vH/ZRpxUuVZzlLPDmpbu4b8h6dUJEybNo3ly5f3P1+/fj1LliwhPz+f3bt3f2Ha28svvxyApUuXUlpaCsDmzZv57ne/C8All1xCVlYWECjbyy67jJSUFFJTU7n88sv752uZPn06CxYswOFwMG/ePM477zxEhAULFvSvd6CVK1eyefNm3n//fS655BJaW1tpb2+ntLSUWbNmYYzh1ltvZeHChZx//vn90+oOtnfvXtauXcsrr7wy7BTg3/rWt3j22Wd56qmnuOqqL19sf9ddd7Fjx47+L6toodvENOygpGsSORljTujna5IKmOA4Qqqpo7Vr6Ft0KRVuA6e5LSkp4e6772bjxo3s3LmTSy655AvT0/YdqfZNrdsn2A0mhjtQGXjE63A4+p87HI6gt6w7/fTTKSws5L333mPVqlXk5+fz0EMPsXTpUuCL0+ru2LGD8ePHB51Wd+LEiXg8nv53CkOZMGECLpeLt956i/POO2/YZa2khW6TjM7dlPhmkuR2ntDP13oC/xCXJu+ltrXbymhKnbDm5mZSUlLIyMigqqqKN954Y8SfWbVqFU888QQAb7zxBg0NDf3ff+mll2hvb6etrY0XX3yRlStXnlAut9vNlClTWL9+PcuXL2flypXcfffd/esLdVrdzMxMXnvtNW699VY2bdo07DbvvPNOfvvb3+J0ntjv+InQYYt26KpnDMc47F9N8gmuoj5xAT5cLEnZxz79YFT1svt6hEWLFpGfn8+8efOYMWMGK1asGPFnbr/9dq666iqWLFnC2Wef3X8qY8mSJVx77bUsW7YMgOuvv578/Pygp1RCsXLlSjZu3EhycjIrV66koqKiv9CvvvpqvvGNb1BQUMDixYuHnVZ3/PjxvPLKK1x00UU88sgjnHHGGUGXO/PMM08o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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1,1,1)\n",
    "sns.distplot(data,bins=100, label='random walk MH', ax=ax)\n",
    "arr = np.arange(0, 2.5, 0.01)\n",
    "sns.lineplot(\n",
    "    data=pd.DataFrame(\n",
    "        data=f(arr),\n",
    "        index=arr,\n",
    "        columns=['theoretical']\n",
    "    ),\n",
    "    ax=ax,\n",
    "    palette=['orange']\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}