Skip to content

Instantly share code, notes, and snippets.

@tok41
Created April 17, 2018 15:03
Show Gist options
  • Save tok41/05fda5c662b5ecc221e891ff0e98c515 to your computer and use it in GitHub Desktop.
Save tok41/05fda5c662b5ecc221e891ff0e98c515 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 目的\n",
"- チョコボールの数の変遷を調べる"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import sys, os\n",
"import sqlite3\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from datetime import datetime as dt\n",
"\n",
"import ChocoUtils as util\n",
"\n",
"# jupyterの日本語設定\n",
"import matplotlib\n",
"from matplotlib.font_manager import FontProperties\n",
"\n",
"font_path = '/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf'\n",
"font_prop = FontProperties(fname=font_path)\n",
"matplotlib.rcParams['font.family'] = font_prop.get_name()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# seaborneスタイルセット\n",
"import seaborn as sns\n",
"sns.set()\n",
"sns.set_style('darkgrid') # プリセットのスタイル\n",
"sns.set_context(\"paper\") # スケール"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SELECT measure_date, best_before, prd_number, weight, box_weight, ball_number, factory, shop, angel, campaign, taste, buyer, (weight - box_weight), (weight - box_weight)/ball_number FROM measurement WHERE taste = 0 and best_before is not null;\n",
"Shape of MeasurementData(record_num, n_columns) : (130, 14)\n"
]
}
],
"source": [
"db_file = '../data/choco-ball.db'\n",
"f_str = 'taste = 0 and best_before is not null'\n",
"p_data = util.get_data(db_file=db_file, filter_str=f_str)\n",
"data = p_data.drop(columns='shop')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"data_base = data.copy()\n",
"data.sort_values(by='best_before', inplace=True)\n",
"#data = data_base.sort_values(by='measure_date')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# データを眺める\n",
"- 正味の重量には変化が見られない\n",
"- 中央のチョコボールの数は50箱目くらいで数が減ったようにも見える\n",
"- 右図の1個あたり平均重量を見ると40箱目くらいで変わったように見える\n",
" - 全体重量は変わらないので、1個あたり平均重量が増えるということは、粒が大きくなったということを示す"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xo0bcdNNNyEvLw81NTX4wx/+gL/97W/YsGEDXnjhBdmyLL755huMGjUKd9xxBy5cuIABAwYAAIYOHYqPP/4YGzduRFxcHP7zn/9obneCINS55557sGXLFhw/fhw33HADmjRp4v5OTqd56KGH8PHHH2PDhg04efKk25ENAG3btsWGDRuQlpaGzZs3e9yPz1AqLS1FcnIyevTo4f6/bdu2iIqKwtdff42LFy/i448/xtq1a5GXl4fz58+L6pk/fz6WLl2KTz75BOXl5aLvLl++jI8++ggzZ87EO++8g1atWuGBBx7A1KlTsX79erRv315U/urVq1i8eDHef/99/Otf/2IackRgiQi2AERgaNWqFW6++WbRYHH8+HEcOXIE2dnZABq81nfccYdiPTabDS1atMCpU6dQVlaGVq1a4aabbsKpU6dQXFyMhQsXwuFwoLCw0O1Jdjqd6NChg6iewsJC/OY3vwHQkAIgHCw6dOiApKQkAA1546dPn0a7du0U5RLeb9CgQWjatKmGViEIwltYY4oad955JwCgY8eO4DgO0dHR6NixI06fPu0uM3DgQMTExCAmJgadO3fG0aNHUVBQgNLSUnz88ccAGpQP3hkzZMgQREZGetyrsLAQM2bMAACMGjUK77//vreP6r4PAHTu3Nktx6FDh5CZmQkAGDlyJJYsWYJBgwahbdu27jHPbrfLlmUxcOBALF26FC6XCwsXLsTbb7+NqVOnoqSkBK+88gocDgcuXryI5s2b+/Q8BEGI6devH1566SXY7XbcfffdKC0tBQBFnebbb7/FihUrUF1djfPnz6O0tNTtsBaOGadOnfK4X69evZCfn4/o6Gj06NED6enpeP311xEdHe2u49tvv0V+fj4KCgoAABcvXnRnHwFAVVUVnE6nO01z6NCh+Prrr93f86mKXbp0QW5urmobHD9+HB06dEBCQgIA4K677jJVins4QoZaGDF58mQ8/fTT7tQel8uF7t27y65Hk6Nnz5744osv0LJlSwANXqEvvvgCTZs2RfPmzeFwONCqVSusX79etg6XyyVayybcgES4hs1isWjy2EvrIwjC/0jHFKDhN+t0OgHAYyMM3qCyWCyiv+vr691lpL9jjuPgcrnw17/+lbmGQs4po3dM6NChA0pKStzKlRSWvHL1sz5nffbdd9/h+eefBwCPVEyO43DHHXdg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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2045583358>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(15, 3))\n",
"ax = fig.subplots(1, 3)\n",
"\n",
"ax[0].plot(data['net_weight'], 'o')\n",
"ax[0].set_title('Net Weight[g]')\n",
"ax[1].plot(data['ball_number'], 'o')\n",
"ax[1].set_title('Number of Choco-Ball')\n",
"ax[2].plot(data['mean_weight'], 'o')\n",
"ax[2].set_title('Mean Weight[g]')\n",
"\n",
"fig.savefig('./fig/data_plot.png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# チョコボール数の変化点検出"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## モデル\n",
"- pymc本p.16参照\n",
"- ある計測のチョコボールの数はポアソン分布に従うとする\n",
" - $N_i \\sim Poi(\\lambda)$\n",
"- 変化点$\\tau$でポアソン分布のパラメータ$\\lambda$が変化したとする($\\lambda_1 to \\lambda_2$)\n",
"- $\\lambda$は指数分布を事前分布とする\n",
" - $\\lambda_i \\sim Exp(\\alpha)$\n",
"- 変化点$\\tau$は事前分布として一様分布を使う"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import pymc as pm"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# 事前分布のパラメータ$\\alpha$\n",
"alpha = 1.0 / data['ball_number'].mean()\n",
"\n",
"# ポアソン分布のパラメータ$\\lmabda$の初期分布\n",
"lambda_1 = pm.Exponential(\"lambda_1\", alpha)\n",
"lambda_2 = pm.Exponential(\"lambda_2\", alpha)\n",
"\n",
"# 変化点$\\tau$の初期化\n",
"n_data = data.shape[0]\n",
"tau = pm.DiscreteUniform(\"tau\", lower=0, upper=n_data)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# 変化点$\\tau$パラメータが変化したことを表現する\n",
"@pm.deterministic\n",
"def lambda_(tau=tau, lambda_1=lambda_1, lambda_2=lambda_2):\n",
" out = np.zeros(n_data)\n",
" out[:tau] = lambda_1\n",
" out[tau:] = lambda_2\n",
" return out"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" [-----------------100%-----------------] 150000 of 150000 complete in 24.6 sec"
]
}
],
"source": [
"# 観測データを結びつける\n",
"observation = pm.Poisson(\"obs\", lambda_, value=np.array(data['ball_number']), observed=True)\n",
"model = pm.Model([observation, lambda_1, lambda_2, tau])\n",
"\n",
"mcmc = pm.MCMC(model)\n",
"mcmc.sample(150000, 50000)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"lambda_1_sample = mcmc.trace('lambda_1')[:]\n",
"lambda_2_sample = mcmc.trace('lambda_2')[:]\n",
"tau_sample = mcmc.trace('tau')[:]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20116136a0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10, 9))\n",
"ax = fig.subplots(3, 1)\n",
"\n",
"bs = np.arange(12, 23, 0.1)\n",
"sns.distplot(lambda_1_sample, ax=ax[0], bins=bs, label='lambda_1')\n",
"ax[0].set_xlim([12, 23])\n",
"ax[0].set_title('lambda_1 dist.')\n",
"sns.distplot(lambda_2_sample, ax=ax[1], bins=bs, label='lambda_2')\n",
"ax[1].set_xlim([12, 23])\n",
"ax[1].set_title('lambda_2 dist.')\n",
"sns.distplot(tau_sample, ax=ax[2], label='tau')\n",
"ax[2].set_xlim([0, n_data])\n",
"ax[2].set_title('tau dist.')\n",
"fig.savefig('./fig/number_diff.png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 統計的に変化していると言えるのか\n",
"- 2つの分布のパラメータ$\\lambda_1$と$\\lambda_2$に差があるのかを評価\n",
"- 差があることは確信している"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.95706\n"
]
}
],
"source": [
"print((lambda_1_sample > lambda_2_sample).mean())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 平均重量の差異"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# 事前分布のパラメータ$\\alpha$\n",
"o_mu = data['mean_weight'].mean()\n",
"o_var = data['mean_weight'].var()\n",
"\n",
"# ポアソン分布のパラメータ$\\lmabda$の初期分布\n",
"mu_1 = pm.Normal(\"mu_1\", o_mu, 0.01)\n",
"mu_2 = pm.Normal(\"mu_2\", o_mu, 0.01)\n",
"\n",
"# 分散の初期分布(一様分布)\n",
"sig_1 = 1.0 / pm.Uniform(\"std_1\", 0, 100)**2\n",
"sig_2 = 1.0 / pm.Uniform(\"std_2\", 0, 100)**2\n",
"\n",
"# 変化点$\\tau$の初期化\n",
"n_data = data.shape[0]\n",
"tau = pm.DiscreteUniform(\"tau\", lower=0, upper=n_data)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"@pm.deterministic\n",
"def center_(tau=tau, mu_1=mu_1, mu_2=mu_2):\n",
" out = np.zeros(n_data)\n",
" out[:tau] = mu_1\n",
" out[tau:] = mu_2\n",
" return out\n",
"\n",
"@pm.deterministic\n",
"def sig_(tau=tau, sig_1=sig_1, sig_2=sig_2):\n",
" out = np.zeros(n_data)\n",
" out[:tau] = sig_1\n",
" out[tau:] = sig_2\n",
" return out"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" [-----------------100%-----------------] 50000 of 50000 complete in 14.7 sec"
]
}
],
"source": [
"# 観測データを結びつける\n",
"observation = pm.Normal(\"obs\", center_, sig_, value=np.array(data['mean_weight']), observed=True)\n",
"model = pm.Model([observation, mu_1, mu_2, sig_1, sig_2, tau])\n",
"\n",
"mcmc = pm.MCMC(model)\n",
"mcmc.sample(50000, 10000)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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t4vpbiucRJSIiIgogGJvQAIRERFRELG5IiIiIgogNldEFFKDg4P4/9u7/+Co6nv/46/dTTbJJrv5DYQYsYA1GMQA1luozpdre6+j/SKlVgbyLbVTp/02bf3V1h9/MI6ONK0O1Wpro7064tiJWlup5duq97bfy/eKuQhWkpBoAkIgkoRAyI/NJpvsr/P9I2RLSMIm5JyEbJ6PGWbYc/bHe98csq98ztnP5/XXX7fkuTds2KDjx4+rra1N999//5j3e//993XgwAFLagAAwhWAKWVluBoyd+5cPf7442Pu37t3r2pray2tAcDsRbgCMKWefvppHTx4UOvWrdPzzz+vpqYmlZSUaP369fra174WXQ/wjTfe0LZt26KPu+GGGzQwMDDsucLhsLZs2aKbbrpJ99xzT3TqgePHj2vDhg2SpL/85S+6+eabdcstt+iuu+5SW1ubXn31VT377LNat25ddOJEADDLlEwiCgBD7rrrLh09elS/+93vJEl+v1/bt2+X0+lUXV2dtm3bpueff35cz/XOO+/I6/XqrbfeUn19vdavXz/iPuXl5XruuedUUFCgnp4eud1ubdy4UTk5Odq0aZOp7w0AJMIVgGkWDAa1ZcsWHTx4UHa7XV6vd9yP3b9/v2666SZJUmFhYXQSxLMtX75cDz30kNauXTtsXUYAsAqnBQFMq+3bt2vBggX605/+pIqKCgUCAUmDS9ecvTbg0PaznTtN32jT9j3yyCO688471djYqFtvvVWhUMjkdwAAwxGuAEwpl8ul3t7e6G2fz6c5c+bIZrNpx44d0e35+flqaGiQJB04cEDt7e0jnmvFihV66623JA0uwNrY2DjiPsePH9eKFSt07733KhgMqre3d0QNAGAmTgsCmFJZWVlavHix1q5dq3Xr1qmkpER33nmnduzYoeuvvz56v5UrV8rlcumWW27RypUrlZeXN+K5brzxRr333ntau3atli5dqiVLloy4z89+9jM1NTXJMAzdeuutSk9P15o1a3TPPfdo586devLJJ7Vz504tXbpUX/ziFy197wBmB5a/AQAAMBGnBQEAAExEuAIAADAR4QoAAMBEhCsAAAATTcm3Bf3+gHy+gdh3xISkpSXRVwvQV2vQV2vQV2vQV2vMlL7m5ron9fgpGblKSHBMxcvMOvTVGvTVGvTVGvTVGvTVGrOlr5wWBAAA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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f20115084a8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mu_1_sample = mcmc.trace('mu_1')[:]\n",
"mu_2_sample = mcmc.trace('mu_2')[:]\n",
"tau_sample = mcmc.trace('tau')[:]\n",
"\n",
"fig = plt.figure(figsize=(10, 9))\n",
"ax = fig.subplots(3, 1)\n",
"\n",
"sns.distplot(mu_1_sample, ax=ax[0], label='mu_1')\n",
"ax[0].set_xlim([1.6, 2.0])\n",
"ax[1].set_title('mu_1 dist.')\n",
"sns.distplot(mu_2_sample, ax=ax[1], label='mu_2')\n",
"ax[1].set_xlim([1.6, 2.0])\n",
"ax[2].set_title('mu_2 dist.')\n",
"sns.distplot(tau_sample, ax=ax[2], label='tau')\n",
"ax[2].set_xlim([0, n_data])\n",
"ax[2].set_title('tau dist.')\n",
"fig.savefig('./fig/meanweight_diff.png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 統計的に変化していると言えるのか\n",
"- 2つの分布のパラメータ$\\mu_1$と$\\mu_2$に差があるのかを評価\n",
"- 差があることは確信している"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.0\n"
]
}
],
"source": [
"print((mu_1_sample < mu_2_sample).mean())"
]
},
{
"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.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment