{ "metadata": { "name": "", "signature": "sha256:bcee9a68240988abd6ff7fd59beac15c9ffae2c0fad443cd058b603f3449eece" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Probabilistic Programming\n", "=====\n", "and Bayesian Methods for Hackers \n", "========\n", "\n", "#####Version 0.1\n", "Welcome to *Bayesian Methods for Hackers*. The full Github repository is available at [github/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers). The other chapters can be found on the project's [homepage](camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/). We hope you enjoy the book, and we encourage any contributions!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u7b2c1\u7ae0\n", "======\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u30d9\u30a4\u30ba\u63a8\u8ad6\u306e\u8003\u3048\u65b9\n", "------\n", "\n", "\n", "> \u3042\u306a\u305f\u306f\u512a\u79c0\u306a\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u3060\uff0e\u3057\u304b\u3057\uff0c\u3060\u308c\u3057\u3082\u66f8\u3044\u305f\u30b3\u30fc\u30c9\u306b\u30d0\u30b0\u306f\u3042\u308b\uff0e\u5b9f\u88c5\u3059\u308b\u306e\u304c\u975e\u5e38\u306b\u96e3\u3057\u3044\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u30b3\u30fc\u30c9\u3092\u306a\u3093\u3068\u304b\u66f8\u3044\u305f\u5f8c\uff0c\u305d\u306e\u30b3\u30fc\u30c9\u304c\u6b63\u3057\u3044\u304b\u3069\u3046\u304b\u3092\u7c21\u5358\u306a\u4f8b\u984c\u3067\u30c6\u30b9\u30c8\u3057\u3088\u3046\u3068\u8003\u3048\u305f\uff0eOK\uff0c\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3057\u305f\uff0e\u6b21\u306b\u3082\u3063\u3068\u96e3\u3057\u3044\u554f\u984c\u3067\u30b3\u30fc\u30c9\u3092\u30c6\u30b9\u30c8\u3057\u305f\uff0e\u4eca\u5ea6\u3082\u30d1\u30b9\u3057\u305f\uff0e\u305d\u3057\u3066\uff0c\u306a\u3093\u3068*\u3082\u3063\u3068\u3082\u3063\u3068\u96e3\u3057\u3044\u554f\u984c*\u3067\u3082\uff0c\u30d1\u30b9\u3057\u305f\uff01\u3000\u3060\u304b\u3089\u3042\u306a\u305f\u306f\uff0c\u3053\u306e\u30b3\u30fc\u30c9\u306b\u306f\u30d0\u30b0\u306f\u306a\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3068\u601d\u3044\u59cb\u3081\u3066\u3057\u307e\u3063\u305f\uff0e\uff0e\uff0e\n", "\n", "\n", "\u3082\u3057\u3053\u306e\u3088\u3046\u306b\u8003\u3048\u305f\u3053\u3068\u304c\u3042\u308b\u306e\u306a\u3089\uff0c\u304a\u3081\u3067\u3068\u3046\uff01\u3000\u3042\u306a\u305f\u306f\u30d9\u30a4\u30ba\u7684\u306b\u8003\u308b\u4eba\u306e\u4ef2\u9593\u5165\u308a\u3060\uff0e\u30d9\u30a4\u30ba\u63a8\u8ad6\u3068\u306f\uff0c\n", "\u65b0\u3057\u3044\u8a3c\u62e0\u304c\u5f97\u3089\u308c\u308b\u305f\u3073\u306b\u81ea\u5206\u306e\u8003\u3048\u3092\u6539\u3081\u308b\u3068\u3044\u3046\u3082\u306e\u3067\u3042\u308b\uff0e\n", "\u30d9\u30a4\u30ba\u7684\u306b\u8003\u3048\u308b\u4eba\u306f\uff0c\u3042\u308b\u7d50\u679c\u304c\u5fc5\u305a\u8d77\u3053\u308b\u3068\u306f\u8003\u3048\u306a\u3044\uff0e\u305f\u3076\u3093\u8d77\u3053\u308b\u3060\u308d\u3046\u3068\u8003\u3048\u308b\u306e\u3067\u3042\u308b\uff0e\n", "\u4e0a\u306e\u4f8b\u306e\u3088\u3046\u306b\uff0c\u666e\u901a\u306f\uff0c\u30d7\u30ed\u30b0\u30e9\u30e0\u306b100%\u307e\u3063\u305f\u304f\u30d0\u30b0\u304c\u306a\u3044\u3068\u306f\u8003\u3048\u306a\u3044\uff0e\n", "\u306a\u3044\u3068\u8a00\u3044\u5207\u308b\u306b\u306f\uff0c\u5b9f\u969b\u306b\u306f\u3042\u308a\u3048\u306a\u3044\u3088\u3046\u306a\u5834\u5408\u3082\u542b\u3081\u3066\uff0c\u3059\u3079\u3066\u306e\u5834\u5408\u306b\u3064\u3044\u3066\u30c1\u30a7\u30c3\u30af\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3060\u308d\u3046\uff0e\n", "\u305d\u308c\u3088\u308a\u3082\uff0c\u305f\u304f\u3055\u3093\u306e\u554f\u984c\u306b\u305f\u3044\u3057\u3066\u30c6\u30b9\u30c8\u3057\u3066\uff0c\u305d\u308c\u3089\u5168\u3066\u306b\u30d1\u30b9\u3057\u305f\u3089\uff0c\n", "\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u30d0\u30b0\u306f\u300c\u305f\u3076\u3093\u306a\u3044\u3060\u308d\u3046\u300d\u3068\u601d\u3046\u306e\u3067\u3042\u308b\uff0e\u3057\u304b\u3057\u300c\u307e\u3063\u305f\u304f\u306a\u3044\u300d\u3068\u306f\u8a00\u3044\u5207\u308c\u306a\u3044\uff0e\n", "\u30d9\u30a4\u30ba\u63a8\u8ad6\u3082\u540c\u3058\u3067\u3042\u308b\uff0e\u60c5\u5831\u304c\u5f97\u3089\u308c\u305f\u3089\u4fe1\u5ff5\u3092\u66f4\u65b0\u3059\u308b\uff0e\u3059\u3079\u3066\u306e\u53ef\u80fd\u306a\u5834\u5408\u3092\u30c1\u30a7\u30c3\u30af\u3057\u306a\u3051\u308c\u3070\uff0c\u7d76\u5bfe\u306b\uff0c\u3068\u306f\u8a00\u308f\u306a\u3044\u306e\u3067\u3042\u308b\uff0e\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \u8003\u3048\u65b9\u306e\u30d9\u30a4\u30ba\u7684\u306a\u8003\u3048\u65b9\n", "\n", "\n", "\u30d9\u30a4\u30b9\u63a8\u8ad6\u304c\u4f1d\u7d71\u7684\u306a\u7d71\u8a08\u7684\u63a8\u8ad6\u3068\u7570\u306a\u308b\u306e\u306f\uff0c\n", "\u300c\u4e0d\u78ba\u5b9f\u300d\u306a\u3082\u306e\u306f\u4e0d\u78ba\u5b9f\u306a\u307e\u307e\u306b\u3059\u308b\u3068\u3044\u3046\u70b9\u3067\u3042\u308b\uff0e\n", "\u4e0d\u78ba\u5b9f\u306a\u307e\u307e\u3068\u3044\u3046\u3053\u3068\u306b\uff0c\u6700\u521d\u306f\u30c0\u30e1\u306a\u65b9\u6cd5\u3060\u3068\u601d\u3046\u304b\u3082\u3057\u308c\u306a\u3044\uff0e\n", "\u7d71\u8a08\u3068\u306f\u30e9\u30f3\u30c0\u30e0\u306a\u73fe\u8c61\u304b\u3089\u78ba\u5b9f\u3055\u3092\u5f15\u304d\u51fa\u3059\u3082\u306e\u3067\u306f\u306a\u304b\u3063\u305f\u306e\u304b\uff1f\n", "\u3053\u308c\u3092\u7406\u89e3\u3059\u308b\u306b\u306f\uff0c\u30d9\u30a4\u30ba\u7684\u306b\u8003\u3048\u308b\u3053\u3068\u304c\u5fc5\u8981\u306b\u306a\u308b\uff0e\n", "\n", "\n", "\n", "\u30d9\u30a4\u30ba\u7684\u306a\u8003\u3048\u65b9\uff0c\u3064\u307e\u308a\u30d9\u30a4\u30ba\u4e3b\u7fa9(Bayesian)\u3067\u306f\uff0c\n", "\u78ba\u7387\u3092\u300c\u3042\u308b\u51fa\u6765\u4e8b\u304c\u3069\u306e\u304f\u3089\u3044\u4fe1\u983c\u3067\u304d\u308b\u304b\u300d\u3092\u8868\u3059\u6307\u6a19\u3068\u89e3\u91c8\u3059\u308b\uff0e\n", "\u3064\u307e\u308a\uff0c\u3042\u308b\u4e8b\u8c61\u304c\u751f\u3058\u308b\u3068\u3044\u3046\u3053\u3068\u3092\uff0c\n", "\u3069\u306e\u304f\u3089\u3044\u78ba\u304b\u3060\u3068\u601d\u3063\u3066\u3044\u308b\u306e\u304b\u8868\u3059\u3082\u306e\u3068\u8003\u3048\u308b\uff0e\n", "\u3059\u3050\u3042\u3068\u3067\u898b\u308b\u3088\u3046\u306b\uff0c\u5b9f\u969b\u306b\u3053\u308c\u304c\u78ba\u7387\u3092\u89e3\u91c8\u3059\u308b\u81ea\u7136\u306a\u65b9\u6cd5\u3067\u3042\u308b\uff0e\n", "\n", "\n", "\u3053\u306e\u89e3\u91c8\u3092\u3082\u3063\u3068\u5206\u304b\u308a\u3084\u3059\u304f\u3059\u308b\u305f\u3081\u306b\uff0c\n", "\u78ba\u7387\u306e\u3082\u3046\u4e00\u3064\u306e\u89e3\u91c8\u3092\u8003\u3048\u3066\u307f\u3088\u3046\uff0e\n", "\u305d\u308c\u306f\u300c\u983b\u5ea6\u4e3b\u7fa9\u300d(*Frequentist*)\u3068\u3044\u3046\u3082\u306e\u3067\u3042\u308a\uff0c\n", "\u3082\u3063\u3068*\u53e4\u5178\u7684*\u306a\u7d71\u8a08\u5b66\u3067\u3042\u308b\uff0e\n", "\u983b\u5ea6\u4e3b\u7fa9\u3067\u306f\uff0c\u78ba\u7387\u3092\u300c\u9577\u671f\u9593\u306b\u304a\u3051\u308b\u4e8b\u8c61\u306e\u983b\u5ea6\u300d\u3068\u307f\u306a\u3059\n", "\uff08\u3060\u304b\u3089\u300c\u983b\u5ea6\u4e3b\u7fa9\u300d\u3068\u3044\u3046\u540d\u524d\u3067\u547c\u3070\u308c\u3066\u3044\u308b\uff09\uff0e\n", "\u305f\u3068\u3048\u3070\uff0c*\u98db\u884c\u6a5f\u4e8b\u6545\u306e\u78ba\u7387*\u3092\u983b\u5ea6\u4e3b\u7fa9\u3067\u8003\u3048\u308c\u3070\uff0c\n", "\u300c\u9577\u671f\u9593\u306b\u304a\u3051\u308b\u98db\u884c\u6a5f\u4e8b\u6545\u306e\u983b\u5ea6\u300d\u306b\u306a\u308b\uff0e\n", "\u3053\u306e\u8003\u3048\u65b9\u306f\uff0c\u591a\u304f\u306e\u5834\u5408\uff0c\u4e8b\u8c61\u306e\u78ba\u7387\u3068\u3057\u3066\u610f\u5473\u304c\u3042\u308b\uff0e\n", "\u3057\u304b\u3057\u9577\u671f\u9593\u306b\u308f\u305f\u3063\u3066\u4e8b\u8c61\u304c\u767a\u751f\u3057\u306a\u3044\u3088\u3046\u306a\u5834\u5408\u306b\u306f\uff0c\n", "\u7406\u89e3\u3059\u308b\u3053\u3068\u304c\u96e3\u3057\u304f\u306a\u308b\uff0e\n", "\u4f8b\u3048\u3070\u5927\u7d71\u9818\u9078\u6319\u306e\u7d50\u679c\u306e\u78ba\u7387\u3092\u8a08\u7b97\u3057\u3088\u3046\u3068\u3057\u3066\u3082\uff0c\n", "\u3042\u308b\u7279\u5b9a\u306e\u9078\u6319\u306f1\u56de\u304d\u308a\u3057\u304b\u884c\u308f\u308c\u306a\u3044\u306e\u3060\uff01\n", "\u983b\u5ea6\u4e3b\u7fa9\u3067\u3053\u306e\u554f\u984c\u3092\u907f\u3051\u308b\u306b\u306f\uff0c\n", "\u4ed6\u306e\u3059\u3079\u3066\u306e\u9078\u6319\u3082\u8003\u616e\u3057\u3066\uff0c\n", "\u3053\u308c\u3089\u306e\u767a\u751f\u3059\u308b\u983b\u5ea6\u3067\u78ba\u7387\u3092\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u306b\u306a\u308b\uff0e\n", "\n", "\n", "\n", "\u4e00\u65b9\u306e\u30d9\u30a4\u30ba\u4e3b\u7fa9\u3067\u306f\uff0c\u3082\u3063\u3068\u76f4\u611f\u7684\u306b\u8003\u3048\u308b\uff0e\n", "\u30d9\u30a4\u30ba\u4e3b\u7fa9\u3067\u306f\uff0c\u78ba\u7387\u3092\uff0c\n", "\u3042\u308b\u4e8b\u8c61\u304c\u767a\u751f\u3059\u308b\u4fe1\u5ff5(*belief*)\n", "\u3082\u3057\u304f\u306f\u78ba\u4fe1(confidence)\u306e\u5ea6\u5408\u3044\u3068\u307f\u306a\u3059\uff0e\n", "\u78ba\u7387\u3068\u306f\uff0c\u601d\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u8981\u7d04\u3057\u305f\u3082\u306e\u3067\u3042\u308b\u3060\u3051\u306a\u306e\u3067\u3042\u308b\uff0e\n", "\u3042\u308b\u4eba\u304c\uff0c\u3042\u308b\u4e8b\u8c61\u306e\u4fe1\u5ff5\u30920\u3060\u3068\u601d\u3063\u3066\u3044\u308b\u5834\u5408\uff0c\n", "\u305d\u306e\u4e8b\u8c61\u304c\u767a\u751f\u3059\u308b\u3068\u306f\u8003\u3048\u3066\u3044\u306a\u3044\u3053\u3068\u306b\u306a\u308b\uff0e\n", "\u53cd\u5bfe\u306b\uff0c\u3042\u308b\u4e8b\u8c61\u306e\u4fe1\u5ff5\u30921\u3060\u3068\u601d\u3063\u3066\u3044\u308b\u5834\u5408\uff0c\n", "\u305d\u306e\u4e8b\u8c61\u304c\u5fc5\u305a\u767a\u751f\u3059\u308b\u3068\u8003\u3048\u3066\u3044\u308b\u3053\u3068\u306b\u306a\u308b\uff0e\n", "\u4fe1\u5ff5\u30920\u304b\u30891\u306e\u5b9f\u6570\u5024\u3067\u8868\u305b\u3070\uff0c\u305d\u308c\u3092\u4f7f\u3063\u3066\n", "\u4ed6\u306e\u7d50\u679c\u306b\u91cd\u307f\u3092\u4ed8\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e\n", "\u3053\u306e\u5b9a\u7fa9\u3092\u4f7f\u3048\u3070\uff0c\u98db\u884c\u6a5f\u4e8b\u6545\u306e\u78ba\u7387\u306e\u4f8b\u3092\n", "\u3046\u307e\u304f\u8868\u73fe\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e\n", "\u98db\u884c\u6a5f\u4e8b\u6545\u306e\u983b\u5ea6\u304c\u5f97\u3089\u308c\u305f\u6642\u306b\uff0c\u4ed6\u306e\u60c5\u5831\u304c\u4f55\u3082\u306a\u3051\u308c\u3070\uff0c\n", "\u3042\u308b\u4eba\u306e\u4fe1\u5ff5\u306f\u305d\u306e\u983b\u5ea6\u306b\u4e00\u81f4\u3059\u308b\u3079\u304d\u3067\u3042\u308b\uff0e\n", "\u540c\u69d8\u306b\uff0c\u78ba\u7387\u304c\u4fe1\u5ff5\u3067\u3042\u308b\u3068\u3044\u3046\u5b9a\u7fa9\u3092\u4f7f\u3048\u3070\uff0c\n", "\u5927\u7d71\u9818\u9078\u6319\u306e\u7d50\u679c\u306e\u78ba\u7387\uff08\u4fe1\u5ff5\uff09\u3068\u3044\u3046\u3082\u306e\u3092\u8003\u3048\u3066\u3082\u3088\u3044\u3060\u308d\u3046\uff0e\n", "\u3064\u307e\u308a\uff0c\u3042\u308b\u5019\u88dc\u8005A\u304c\u5f53\u9078\u3059\u308b\u3053\u3068\u3092\u3069\u306e\u304f\u3089\u3044\u78ba\u4fe1\u3057\u3066\u3044\u308b\u306e\u304b\uff0c\n", "\u3092\u8868\u3057\u3066\u3044\u308b\u306e\u3067\u3042\u308b\uff0e\n", "\n", "\n", "\n", "\u4e0a\u306e\u30d1\u30e9\u30b0\u30e9\u30d5\u3067\u306f\uff0c\u4e00\u822c\u7684\u306a\u4fe1\u5ff5\uff08\u78ba\u7387\uff09\u3067\u306f\u306a\u304f\uff0c\n", "\u300c\u3042\u308b\u4eba\u300d\u306e\u4fe1\u5ff5\uff08\u78ba\u7387\uff09\u3068\u3044\u3046\u3082\u306e\u3092\u8aac\u660e\u3057\u3066\u3044\u305f\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u6b32\u3057\u3044\uff0e\n", "\u3053\u308c\u304c\u9762\u767d\u3044\u306e\u306f\uff0c\u4eba\u306b\u3088\u3063\u3066\u4fe1\u5ff5\u304c\u9055\u3046\u3068\u3044\u3046\u3053\u3068\u3092\u5b9a\u7fa9\u304c\u8a31\u3057\u3066\u3044\u308b\u3053\u3068\u306b\u306a\u308b\u70b9\u3067\u3042\u308b\uff0e\n", "\u3053\u308c\u306f\u65e5\u5e38\u3067\u306f\u898b\u304b\u3051\u308b\uff0e\u3053\u306e\u4e16\u754c\u306b\u3064\u3044\u3066\u6301\u3063\u3066\u3044\u308b\u60c5\u5831\u306f\u4eba\u305d\u308c\u305e\u308c\u9055\u3046\u306e\u3067\uff0c\n", "\u3042\u308b\u4eba\u306e\u4fe1\u5ff5\u306f\u5225\u306e\u4eba\u306e\u4fe1\u5ff5\u3068\u306f\u9055\u3046\u306e\u3067\u3042\u308b\uff0e\n", "\u4fe1\u5ff5\u304c\u9055\u3063\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u306f\uff0c\u300c\u8ab0\u304b\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u300d\u3068\u3044\u3046\u3053\u3068\u3067\u306f\u306a\u3044\uff0e\n", "\u4ee5\u4e0b\u306e\u4f8b\u3067\uff0c\u5404\u500b\u4eba\u304c\u6301\u3063\u3066\u3044\u308b\u4fe1\u5ff5\u3068\u78ba\u7387\u3068\u306e\u95a2\u4fc2\u3092\u8003\u3048\u3066\u307f\u3066\u307f\u3088\u3046\uff0e\n", "\n", "\n", "\n", "- \u79c1\u304c\u30b3\u30a4\u30f3\u3092\u6295\u3052\u3066\uff0c\u8868\u304c\u51fa\u308b\u304b\u88cf\u304c\u51fa\u308b\u304b\uff0c\u308f\u305f\u3057\u3068\u3042\u306a\u305f\u304c\u8ced\u3051\u3066\u3044\u308b\u3068\u3057\u3088\u3046\uff0e\u30a4\u30ab\u30b5\u30de\u306e\u30b3\u30a4\u30f3\u3067\u306a\u3051\u308c\u3070\uff0c\u8868\u304c\u51fa\u308b\u78ba\u7387\u306f1/2\u3067\u3042\u308b\uff0e\u3053\u308c\u306f\u308f\u305f\u3057\u3082\u3042\u306a\u305f\u3082\u540c\u610f\u3057\u3066\u3044\u308b\uff0e\u3053\u3053\u3067\uff0c\u79c1\u3060\u3051\u304c\u30b3\u30a4\u30f3\u306e\u7d50\u679c\u3092\u9664\u3044\u3066\u307f\u305f\u3068\u3059\u308b\uff0e\u305d\u3046\u3059\u308b\u3068\uff0c\u79c1\u306b\u3068\u3063\u3066\u306f\u8868\u304b\u88cf\u306e\u78ba\u7387\u306e\u3069\u3061\u3089\u304b\u304c1.0\u306b\u306a\u308b\uff08\u30b3\u30a4\u30f3\u306e\u7d50\u679c\u306b\u3088\u308b\uff09\uff0e\u3067\u306f\u300c\u30b3\u30a4\u30f3\u304c\u8868\u3067\u3042\u308b\u300d\u306b\u3064\u3044\u3066\uff0c\u3042\u306a\u305f\u306e\u4fe1\u5ff5\u306f\u3069\u3046\u3060\u308d\u3046\uff1f\u3000\u79c1\u304c\u30b3\u30a4\u30f3\u306e\u7d50\u679c\u3092\u77e5\u3063\u3066\u3082\uff0c\u30b3\u30a4\u30f3\u306e\u7d50\u679c\u306f\u5909\u308f\u3089\u306a\u3044\uff0e\u79c1\u3068\u3042\u306a\u305f\u306e\u4fe1\u5ff5\u306f\uff0c\u540c\u3058\u3067\u306f\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3063\u305f\uff0e\n", "- \u3042\u306a\u305f\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306f\u30d0\u30b0\u304c\u3042\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u3057\uff0c\u306a\u3044\u304b\u3082\u3057\u308c\u306a\u3044\uff0e\u3042\u306a\u305f\u3082\u79c1\u3082\uff0c\u3069\u3061\u3089\u304c\u6b63\u3057\u3044\u306e\u304b\u5206\u304b\u3089\u306a\u3044\u304c\uff0c\u30d0\u30b0\u304c\u3042\u308b\u306e\u304b\u306a\u3044\u306e\u304b\u306b\u3064\u3044\u3066\u306e\u4fe1\u5ff5\u306f\u6301\u3063\u3066\u3044\u308b\uff0e\n", "- \u75c5\u9662\u306b\u304a\u3044\u3066\uff0c\u3042\u308b\u60a3\u8005\u304cx\uff0cy\uff0cz\u3068\u3044\u3046\u75c7\u72b6\u3092\u81ea\u899a\u3057\u3066\u3044\u308b\uff0e\u305d\u308c\u3089\u306e\u75c7\u72b6\u3092\u767a\u751f\u3059\u308b\u75c5\u6c17\u306f\u305f\u304f\u3055\u3093\u3042\u308b\u304c\uff0c\u3069\u308c\u304b\u4e00\u3064\u306e\u75c5\u6c17\u304c\u539f\u56e0\u3067\u3042\u308b\uff0e\u3042\u308b\u533b\u5e2b\u306f\u305d\u306e\u539f\u56e0\u304c\u3042\u308b\u75c5\u6c17\u3060\u308d\u3046\u3068\u3044\u3046\u601d\u3063\u3066\u3044\u308b\u304c\uff0c\u5225\u306e\u533b\u5e2b\u306f\u3059\u3053\u3057\u9055\u3063\u305f\u539f\u56e0\u3092\u601d\u3063\u3066\u3044\u308b\u304b\u3082\u3057\u308c\u306a\u3044\uff0e\n", "\n", "\n", "\n", "\u4eba\u9593\u306b\u3068\u3063\u3066\u306f\uff0c\u78ba\u7387\u3092\u4fe1\u5ff5\u306e\u3088\u3046\u306b\u6271\u3046\u3068\u3044\u3046\u3053\u3068\u306f\u81ea\u7136\u306a\u3084\u308a\u65b9\u3067\u3042\u308b\uff0e\u3053\u306e\u4e16\u306e\u4e2d\u3067\u751f\u304d\u3066\u3044\u304f\u305f\u3081\u306b\uff0c\u3044\u3064\u3082\u3053\u306e\u3088\u3046\u306a\u3084\u308a\u65b9\u3092\u3057\u3066\u3044\u308b\u3057\uff0c\u771f\u5b9f\u3068\u3044\u3046\u3082\u306e\u304c\u5b8c\u5168\u3067\u306f\u306a\u3044\u3068\u3044\u3046\u4f8b\u3082\u305f\u304f\u3055\u3093\u898b\u3066\u3044\u308b\uff0e\u305d\u308c\u3067\u3082\u4fe1\u5ff5\u304b\u3089\u4f55\u304b\u60c5\u5831\u304c\u3048\u3089\u308c\u306a\u3044\u304b\u3068\u8003\u3048\u3066\u3082\u3044\u308b\uff0e\u3082\u3057\u983b\u5ea6\u4e3b\u7fa9\u306e\u3088\u3046\u306b\u8003\u3048\u308b\u3068\u3059\u308b\u306a\u3089\uff0c\u304b\u306a\u308a\u8a13\u7df4\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3060\u308d\u3046\uff0e\n", "\n", "\n", "\n", "\u5f93\u6765\u306e\u78ba\u7387\u8ad6\u306e\u8a18\u6cd5\u306b\u5f93\u3063\u3066\uff0c\n", "\u3042\u308b\u4e8b\u8c61$A$\u304c\u751f\u3058\u308b\u3068\u3044\u3046\u4fe1\u5ff5\u3092$P(A)$\u3068\u8868\u3057\uff0c\n", "\u4e8b\u524d\u78ba\u7387(*prior probability*)\u3068\u547c\u3076\u3053\u3068\u306b\u3059\u308b\uff0e\n", "\n", "\n", "\n", "\u5049\u5927\u306a\u7d4c\u6e08\u5b66\u8005\u3067\u3042\u308a\u601d\u60f3\u5bb6\u3067\u3042\u308b\u30b8\u30e7\u30f3\u30fb\u30e1\u30a4\u30ca\u30fc\u30c9\u30fb\u30b1\u30a4\u30f3\u30ba\u66f0\u304f\uff0c\n", "\u300c\u4e8b\u5b9f\u304c\u5909\u308f\u3063\u305f\u306a\u3089\u3070\uff0c\u308f\u305f\u3057\u306f\u8003\u3048\u3092\u6539\u3081\u308b\uff0e\u3042\u306a\u305f\u306f\u3069\u3046\u3057\u307e\u3059\u304b\uff1f\u300d\n", "\u3053\u308c\u306f\u8a3c\u62e0\u304c\u5f97\u3089\u308c\u305f\u5f8c\u306b\u4fe1\u5ff5\u3092\u66f4\u65b0\u3059\uff0c\u30d9\u30a4\u30ba\u4e3b\u7fa9\u7684\u306a\u3084\u308a\u65b9\u3067\u3042\u308b\uff0e\n", "\u3082\u3057\uff0c\u305d\u306e\u8a3c\u62e0\u304c\u6700\u521d\u306b\u601d\u3063\u3066\u3044\u305f\u4fe1\u5ff5\u3068\u76f8\u53cd\u3059\u308b\u3053\u3068\u3067\u3042\u3063\u305f\u3068\u3057\u3066\u3082\uff0c\n", "\u8a3c\u62e0\u3092\u7121\u8996\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\uff0e\n", "\u3053\u306e\u66f4\u65b0\u3055\u308c\u305f\u4fe1\u5ff5\u3092$P(A |X )$\u3068\u8868\u3057\uff0c\n", "\u8a3c\u62e0$X$\u304c\u4e0e\u3048\u3089\u308c\u305f\u6642\u306e$A$\u306e\u78ba\u7387\u3067\u3042\u308b\uff0c\u3068\u89e3\u91c8\u3059\u308b\uff0e\n", "\u4e8b\u524d\u78ba\u7387\u306b\u5bfe\u5fdc\u3057\u3066\uff0c\u3053\u306e\u66f4\u65b0\u3055\u308c\u305f\u4fe1\u5ff5\u3092\u4e8b\u5f8c\u78ba\u7387(*posterior probability*)\u3068\u547c\u3076\uff0e\n", "\u4f8b\u3048\u3070\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\uff0c\u8a3c\u62e0$X$\u304c\u5f97\u3089\u308c\u305f\u5f8c\u306e\u4e8b\u5f8c\u78ba\u7387\uff08\u4e8b\u5f8c\u4fe1\u5ff5\u3068\u8a00\u3063\u3066\u3082\u3088\u3044\uff09\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308b\uff0e\n", "\n", "\n", "\n", "1\\. $P(A): \\;\\;$ \u30b3\u30a4\u30f3\u306e\u8868\u304c\u51fa\u308b\u78ba\u7387\u306f50\u30d1\u30fc\u30bb\u30f3\u30c8\u3067\u3042\u308b\uff0e$P(A | X):\\;\\;$ \u30b3\u30a4\u30f3\u306e\u7d50\u679c\u3092\u307f\u3066\u8868\u304c\u51fa\u3066\u3044\u305f\u3068\u3059\u308b\uff0e\u3053\u306e\u60c5\u5831\u3092$X$\u3068\u3059\u308b\uff0e\u660e\u3089\u304b\u306b\uff0c\u8868\u306e\u4e8b\u5f8c\u78ba\u7387\u306f1.0\u3067\uff0c\u88cf\u306e\u4e8b\u5f8c\u78ba\u7387\u306f0.0\u3067\u3042\u308b\uff0e\n", "\n", "2\\. $P(A): \\;\\;$ \u3053\u306e\u8907\u96d1\u3067\u5de8\u5927\u306a\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306f\u305f\u3076\u3093\u30d0\u30b0\u304c\u3042\u308b\uff0e$P(A | X): \\;\\;$ \u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3059\u3079\u3066\u306e\u30c6\u30b9\u30c8$X$\u306b\u30d1\u30b9\u3057\u305f\uff0e\u305f\u3076\u3093\u30d0\u30b0\u304c\u3042\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u304c\uff0c\u305d\u306e\u53ef\u80fd\u6027\u306f\u975e\u5e38\u306b\u5c0f\u3055\u3044\u3060\u308d\u3046\uff0e\n", "\n", "3\\. $P(A):\\;\\;$ \u3042\u308b\u60a3\u8005\u304c\u75c5\u6c17\u306b\u304b\u304b\u3063\u3066\u3044\u308b\uff0e$P(A | X):\\;\\;$ \u8840\u6db2\u691c\u67fb\u306e\u7d50\u679c\uff0c$X$\u3068\u3044\u3046\u8a3c\u62e0\u304c\u5f97\u3089\u308c\u305f\u306e\u3067\uff0c\u3044\u304f\u3064\u304b\u306e\u75c5\u6c17\u306e\u53ef\u80fd\u6027\u306f\u6392\u9664\u3057\u3066\u3082\u3088\u3044\u3060\u308d\u3046\uff0e\n", "\n", "\n", "\n", "\u3053\u308c\u3089\u306e\u4f8b\u304b\u3089\u660e\u3089\u304b\u306a\u3088\u3046\u306b\uff0c\u65b0\u3057\u3044\u8a3c\u62e0$X$\u304c\u5f97\u3089\u308c\u305f\u3068\u3057\u3066\u3082\uff0c\n", "\u4e8b\u524d\u306e\u4fe1\u5ff5\u3092\u5b8c\u5168\u306b\u5426\u5b9a\u3059\u308b\u3053\u3068\u306f\u306a\u304f\uff0c\u65b0\u3057\u3044\u8a3c\u62e0\u3092\u4e8b\u524d\u78ba\u7387\u306e\u91cd\u307f\u3068\u3057\u3066\u4f7f\u3063\u3066\u3044\u308b\n", "\uff08\u3064\u307e\u308a\uff0c\u3042\u308b\u4fe1\u5ff5\u306b\u306f\u3088\u308a\u5927\u304d\u3044\u91cd\u307f\uff0c\u3064\u307e\u308a\u78ba\u4fe1\u5ea6\u3092\u4e0e\u3048\u308b\u306e\u3067\u3042\u308b\uff09\uff0e\n", "\n", "\n", "\u4e8b\u524d\u306b\u3042\u308b\u4e8b\u8c61\u304c\u3069\u306e\u304f\u3089\u3044\u751f\u3058\u308b\u306e\u304b\u3068\u3044\u3046\u3053\u3068\u3092\u8003\u3048\u3066\u3082\uff0c\u305d\u308c\u306f\u975e\u5e38\u306b\u4e0d\u78ba\u5b9f\u3067\u3042\u308b\uff0e\n", "\u3057\u305f\u304c\u3063\u3066\uff0c\u3069\u3093\u306a\u7d50\u679c\u3092\u4e88\u60f3\u3057\u305f\u3068\u3057\u3066\u3082\uff0c\u9593\u9055\u3063\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u9ad8\u3044\uff0e\n", "\u30c7\u30fc\u30bf\u3084\u8a3c\u62e0\u3084\u60c5\u5831\u304c\u5f97\u3089\u308c\u308c\u3070\uff0c\u4fe1\u5ff5\u3092\u66f4\u65b0\u3057\u3066\uff0c\n", "\u9593\u9055\u3063\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3082\u3063\u3068\u5c11\u306a\u3044\u4e88\u6e2c\u3092\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\uff0e\n", "\u30b3\u30a4\u30f3\u306e\u88cf\u8868\u3092\u4e88\u6e2c\u3059\u308b\u3053\u3068\u4f8b\u3067\u306f\uff0c\u6b63\u3057\u3044\u4e88\u6e2c\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\uff0e\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### \u5b9f\u7528\u7684\u306a\u30d9\u30a4\u30ba\u63a8\u8ad6\n", "\n", "\n", "\u983b\u5ea6\u4e3b\u7fa9\u3068\u30d9\u30a4\u30b9\u4e3b\u7fa9\u304c\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u306e\u95a2\u6570\u3060\u3063\u305f\u3089\uff0c\u7d71\u8a08\u7684\u306a\u554f\u984c\u3092\u5165\u529b\u3059\u308b\u3068\uff0c\u30e6\u30fc\u30b6\u30fc\u306b\u8fd4\u3055\u308c\u308b\u7d50\u679c\u306f\u540c\u3058\u3067\u306f\u306a\u3044\u3060\u308d\u3046\uff0e\n", "\u983b\u5ea6\u4e3b\u7fa9\u306e\u63a8\u8ad6\u95a2\u6570\u306e\u623b\u308a\u5024\u306f\uff0c\u63a8\u5b9a\u5024\u3092\u8868\u3059\u6570\u5024\u3067\u3042\u308b\uff08\u6a19\u672c\u5e73\u5747\u306a\u3069\u306e\u8981\u7d04\u7d71\u8a08\u91cf\u3067\u3042\u308b\u3053\u3068\u304c\u591a\u3044\uff09\uff0e\n", "\u4e00\u65b9\u3067\u30d9\u30a4\u30ba\u4e3b\u7fa9\u306e\u63a8\u8ad6\u95a2\u6570\u306f\uff0c\u300c\u78ba\u7387\u300d\u3092\u8fd4\u3059\uff0e\n", "\n", "\n", "\u4f8b\u3048\u3070\u30c7\u30d0\u30c3\u30b0\u306e\u4f8b\u984c\u3067\u3042\u308c\u3070\uff0c\u983b\u5ea6\u4e3b\u7fa9\u95a2\u6570\u306e\u5f15\u6570\u306b\n", "\u300c\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u30c6\u30b9\u30c8$X$\u306e\u3059\u3079\u3066\u3092\u30d1\u30b9\u3057\u305f\u3093\u3060\uff0e\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306f\u30d0\u30b0\u304c\u306a\u3044\u304b\u306a\uff1f\u300d\u3092\u6e21\u3059\u3068\uff0c\n", "\u623b\u308a\u5024\u306f\u300c\u30d0\u30b0\u306f\u3042\u308a\u307e\u305b\u3093\u300d\u3060\u308d\u3046\uff0e\n", "\u3057\u304b\u3057\u30d9\u30a4\u30ba\u4e3b\u7fa9\u95a2\u6570\u306b\n", "\u300c\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f8\u304f\u3068\u3044\u3064\u3082\u30d0\u30b0\u304c\u3042\u308b\u3093\u3060\uff0e\n", "\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u30c6\u30b9\u30c8$X$\u306e\u3059\u3079\u3066\u3092\u30d1\u30b9\u3057\u305f\u3093\u3060\uff0e\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306f\u30d0\u30b0\u304c\u306a\u3044\u304b\u306a\uff1f\u300d\u3068\u3044\u3046\u5f15\u6570\u3092\u6e21\u3059\u3068\uff0c\n", "\u300c\u30d0\u30b0\u306f\u3042\u308a\u307e\u305b\u3093\u300d\u3068\u300c\u30d0\u30b0\u304c\u3042\u308a\u307e\u3059\u300d\u306e\u7b54\u3048\u306e\u305d\u308c\u305e\u308c\u306b\u78ba\u7387\u304c\u8fd4\u3055\u308c\u308b\uff0e\n", "\n", "\n", "\n", "> \u30d0\u30b0\u304c\u306a\u3044\u78ba\u7387\u306f0.8\uff0c\u30d0\u30b0\u304c\u3042\u308b\u78ba\u7387\u306f0.2\u3067\u3059\uff0e\n", "\n", "\n", "\u3053\u306e\u623b\u308a\u5024\u306f\u983b\u5ea6\u4e3b\u7fa9\u95a2\u6570\u306e\u623b\u308a\u5024\u3068\u306f\u307e\u3063\u305f\u304f\u9055\u3046\u3082\u306e\u3067\u3042\u308b\uff0e\n", "\u30d9\u30a4\u30ba\u4e3b\u7fa9\u95a2\u6570\u306f\u5f15\u6570\u306b\u300c\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f8\u304f\u3068\u3044\u3064\u3082\u30d0\u30b0\u304c\u3042\u308b\u3093\u3060\u300d\u3068\u3044\u3046\u60c5\u5831\u3092\u8ffd\u52a0\u3057\u3066\u3044\u308b\u3053\u3068\u306b\u6c17\u304c\u3064\u3044\u3066\u307b\u3057\u3044\uff0e\n", "\u3053\u308c\u304c**\u4e8b\u524d\u60c5\u5831**(prior)\u3067\u3042\u308b\uff0e\n", "\u3053\u306e\u4e8b\u524d\u60c5\u5831\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u5f15\u6570\u306b\u4e0e\u3048\u308b\u3053\u3068\u3067\uff0c\u4eca\u306e\u72b6\u6cc1\u306b\u3064\u3044\u3066\u306e\u4fe1\u5ff5\u3092\u30d9\u30a4\u30ba\u4e3b\u7fa9\u95a2\u6570\u306b\u4f1d\u3048\u3066\u3044\u308b\uff0e\n", "\u3053\u308c\u3092\u4e0e\u3048\u308b\u304b\u3069\u3046\u304b\u306f\u30e6\u30fc\u30b6\u30fc\u306e\u81ea\u7531\u3060\u304c\uff0c\u4e0e\u3048\u306a\u3044\u5834\u5408\u306b\u306f\u5225\u306e\u7d50\u679c\u304c\u5f97\u3089\u308c\u308b\u3053\u3068\u306b\u306a\u308b\uff0e\n", "\u305d\u306e\u4f8b\u306f\u5f8c\u3067\u898b\u308b\u3053\u3068\u306b\u3057\u3088\u3046\uff0e\n", "\n", "\n", "#### \u8a3c\u62e0\u3092\u53d6\u308a\u5165\u308c\u308b\n", "\n", "\n", "\u8a3c\u62e0\u3092\u305f\u304f\u3055\u3093\u624b\u306b\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u308c\u3070\uff0c\u4e8b\u524d\u306e\u4fe1\u5ff5\u306f\uff0c\u305d\u306e\u591a\u6570\u306e\u8a3c\u62e0\u306b\u304b\u304d\u6d88\u3055\u308c\u3066\u3057\u307e\u3046\uff0e\n", "\u3053\u308c\u306f\u60f3\u50cf\u3067\u304d\u308b\u3060\u308d\u3046\uff0e\n", "\u4f8b\u3048\u3070\uff0c\u3042\u306a\u305f\u304c\u300c\u4eca\u65e5\uff0c\u592a\u967d\u304c\u7206\u767a\u3059\u308b\u3093\u3058\u3083\u306a\u3044\u304b\u300d\u3068\u3044\u3046\u4e8b\u524d\u4fe1\u5ff5\u3092\u6301\u3063\u3066\u3044\u305f\u3068\u3059\u308c\u3070\uff0c\u65e5\u306b\u65e5\u306b\u305d\u306e\u4fe1\u5ff5\u306f\u63fa\u3089\u3044\u3067\u3044\u304d\uff0c\n", "\u305d\u3057\u3066\uff0c\u3069\u3093\u306a\u63a8\u8ad6\u3067\u3082\u3044\u3044\u304b\u3089\u81ea\u5206\u306e\u9593\u9055\u3044\u3092\u6b63\u3057\u3066\u304f\u308c\uff0c\u5c11\u306a\u304f\u3068\u3082\u3053\u306e\u4fe1\u5ff5\u3092\u3082\u3063\u3068\u30de\u30b7\u306a\u3082\u306e\u306b\u3057\u3066\u304f\u308c\uff0c\n", "\u3068\u601d\u3046\u3088\u3046\u306b\u306a\u308b\uff08\u304b\u3082\u3057\u308c\u306a\u3044\uff09\uff0e\n", "\u305d\u3057\u3066\u30d9\u30a4\u30ba\u63a8\u8ad6\u306f\uff0c\u305d\u306e\u4fe1\u5ff5\u3092\u6b63\u3057\u3066\u304f\u308c\u308b\uff0e\n", "\n", "\n", "$N$\u3092\u624b\u306b\u5165\u308b\u8a3c\u62e0\u306e\u6570\u3068\u3059\u308b\uff0e\u3082\u3057\u7121\u9650\u500b\u306e\u8a3c\u62e0\u304c\u624b\u306b\u5165\u308c\u3070\uff0c\u3064\u307e\u308a$N \\rightarrow \\infty$\u306a\u3089\u3070\uff0c\n", "\u30d9\u30a4\u30ba\u63a8\u8ad6\u306e\u7d50\u679c\u306f\u983b\u5ea6\u4e3b\u7fa9\u306e\u7d50\u679c\u3068\uff08\u591a\u304f\u306e\u5834\u5408\uff09\u4e00\u81f4\u3059\u308b\uff0e\n", "\u3057\u305f\u304c\u3063\u3066$N$\u304c\u5927\u304d\u304f\u306a\u308c\u3070\uff0c\u7d71\u8a08\u7684\u63a8\u8ad6\u306f\u5ba2\u89b3\u7684\u306a\u3082\u306e\u306b\u306a\u308b\uff0e\n", "\u53cd\u5bfe\u306b$N$\u304c\u5c0f\u3055\u3051\u308c\u3070\uff0c\u63a8\u8ad6\u306f*\u4e0d\u5b89\u5b9a*\u306a\u3082\u306e\u306b\u306a\u308b\uff0e\n", "\u983b\u5ea6\u4e3b\u7fa9\u306e\u63a8\u5b9a\u5024\u306f\u5206\u6563\u3082\u4fe1\u983c\u533a\u9593\u3082\u5927\u304d\u304f\u306a\u308b\uff0e\n", "\u305d\u3093\u306a\u6642\u306b\u306f\u30d9\u30a4\u30ba\u63a8\u8ad6\u306e\u51fa\u756a\u3067\u3042\u308b\uff0e\n", "\u4e8b\u524d\u5206\u5e03\u3092\u5f15\u6570\u306b\u3068\u308a\uff0c\u7d50\u679c\u306b\uff08\u63a8\u5b9a\u5024\u3067\u306f\u306a\u304f\uff09\u78ba\u7387\u3092\u51fa\u529b\u3059\u308b\uff0e\n", "\u3053\u308c\u306f\uff0c$N$\u306e\u5c0f\u3055\u3044\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306b\u5bfe\u3059\u308b\u7d71\u8a08\u7684\u63a8\u8ad6\u306e\u4e0d\u5b89\u5b9a\u3055\u3092\u53cd\u6620\u3057\u305f\uff0c\u4e0d\u78ba\u5b9f\u3055\u3092\u8868\u3059\u3082\u306e\u306b\u306a\u3063\u3066\u3044\u308b\uff0e\n", "\n", "\n", "\n", "$N$\u304c\u975e\u5e38\u306b\u5927\u304d\u3044\u5834\u5408\u306f\uff0c\u983b\u5ea6\u4e3b\u7fa9\u3068\u30d9\u30a4\u30ba\u4e3b\u7fa9\u306f\u4f3c\u305f\u3088\u3046\u306a\u63a8\u8ad6\u7d50\u679c\u3092\u51fa\u3057\u3066\u304f\u308b\u306e\u3067\uff0c\u4e8c\u3064\u306e\u533a\u5225\u306f\u3064\u304b\u306a\u304f\u306a\u308b\u3060\u308d\u3046\uff0e\n", "\u305d\u306e\u305f\u3081\uff0c\u5c11\u306a\u3044\u8a08\u7b97\u3067\u6e08\u3080\u983b\u5ea6\u4e3b\u7fa9\u3092\u7528\u3044\u305f\u304f\u306a\u308b\u304b\u3082\u3057\u308c\u306a\u3044\uff0e\n", "\u3082\u3057\u305d\u3093\u306a\u72b6\u6cc1\u306b\u3042\u308b\u306e\u3067\u3042\u308c\u3070\uff0c\u305d\u3046\u3059\u308b\u524d\u306b\u4ee5\u4e0b\u306e\n", "[Andrew Gelman (2005)][1]\u306e\u6587\u7ae0\u3092\u8aad\u3093\u3067\u307b\u3057\u3044\uff0e\n", "\n", "\n", "\n", "> \u30b5\u30f3\u30d7\u30eb\u6570\u304c\u5927\u304d\u3044\u5834\u5408\uff0c\u3068\u3044\u3046\u3082\u306e\u306f\u5b58\u5728\u3057\u306a\u3044\uff0e\u3082\u3057$N$\u304c\u5c0f\u3055\u3059\u304e\u3066\u5341\u5206\u306b\u6b63\u78ba\u306a\u63a8\u5b9a\u5024\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u306e\u3067\u3042\u308c\u3070\uff0c\u30c7\u30fc\u30bf\u3092\u3082\u3063\u3068\u5897\u3084\u3059\uff08\u3082\u3057\u304f\u306f\u3082\u3063\u3068\u591a\u304f\u306e\u4eee\u5b9a\u3092\u4f7f\u3046\uff09\u5fc5\u8981\u304c\u3042\u308b\uff0e\u3057\u304b\u3057\uff0c\u3082\u3057$N$\u304c\u300c\u5341\u5206\u306b\u5927\u304d\u3044\u300d\u306e\u3067\u3042\u308c\u3070\uff0c\u30c7\u30fc\u30bf\u3092\u5206\u5272\u3057\u3066\u3082\u3063\u3068\u591a\u304f\u306e\u60c5\u5831\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3060\u308d\u3046\uff08\u4f8b\u3048\u3070\u4e16\u8ad6\u8abf\u67fb\u306e\u5834\u5408\u306b\u306f\uff0c\u5168\u56fd\u533a\u3067\u306e\u826f\u3044\u63a8\u5b9a\u5024\u304c\u5f97\u3089\u308c\u305f\u3089\uff0c\u6b21\u306f\u7537\u5973\u5225\uff0c\u5730\u57df\u5225\uff0c\u5e74\u9f62\u5225\u306e\u63a8\u5b9a\u5024\u3092\u5f97\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3060\u308d\u3046\uff09\uff0e$N$\u304c\u5341\u5206\u3067\u3042\u308b\u3053\u3068\u306f\u306a\u3044\uff0e\u3082\u3057\u300c\u5341\u5206\u300d\u3060\u3068\u3057\u305f\u3089\uff0c\u3042\u306a\u305f\u306f\u3082\u3046\u3059\u3067\u306b\u3082\u3063\u3068\u591a\u304f\u306e\u30c7\u30fc\u30bf\u3092\u5fc5\u8981\u3068\u3059\u308b\u6b21\u306e\u554f\u984c\u306b\u53d6\u308a\u7d44\u3093\u3067\u3044\u308b\u306e\u3060\uff0e\n", "\n", "\n", "\n", "\n", "### \u3058\u3083\u3042\u983b\u5ea6\u4e3b\u7fa9\u306f\u9593\u9055\u3063\u3066\u3044\u308b\u306e\uff1f\n", "\n", "\n", "\n", "**\u9593\u9055\u3063\u3066\u306f\u3044\u306a\u3044\uff0e**\n", "\n", "\n", "\u983b\u5ea6\u4e3b\u7fa9\u306e\u65b9\u6cd5\u306f\u4eca\u3067\u3082\u591a\u304f\u306e\u5206\u91ce\u3067\u6709\u7528\u3067\u3042\u308a\uff0c\u6700\u5148\u7aef\u3067\u4f7f\u308f\u308c\u308c\u3044\u308b\uff0e\n", "\u6700\u5c0f\u4e8c\u4e57\u56de\u5e30\u3084lasso\u56de\u5e30\uff0cEM\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306a\u3069\u306e\u30c4\u30fc\u30eb\u306f\u3069\u308c\u3082\u512a\u308c\u3066\u3044\u3066\u51e6\u7406\u3082\u901f\u3044\uff0e\n", "\u30d9\u30a4\u30ba\u4e3b\u7fa9\u306e\u624b\u6cd5\u306f\uff0c\u305d\u308c\u3089\u306e\u624b\u6cd5\u3092\u88dc\u3046\u3082\u306e\u3067\u3042\u308b\uff0e\n", "\u305d\u308c\u3089\u306e\u624b\u6cd5\u304c\u9069\u7528\u3067\u304d\u306a\u3044\u554f\u984c\u3092\u89e3\u3044\u305f\u308a\uff0c\n", "\u3082\u3063\u3068\u67d4\u8edf\u306a\u30e2\u30c7\u30eb\u5316\u3067\u96a0\u308c\u305f\u69cb\u9020\u3092\u89e3\u304d\u660e\u304b\u3057\u305f\u308a\u3059\u308b\u306e\u3067\u3042\u308b\uff0e\n", "\n", "\n", "### \u300c\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u300d\u306b\u3064\u3044\u3066\n", "\n", "\n", "\u9006\u8aac\u7684\u306b\u805e\u3053\u3048\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u304c\uff0c\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u3067\u4e88\u6e2c\u3057\u305f\u308a\u89e3\u6790\u3057\u305f\u308a\u3059\u308b\u554f\u984c\u306b\u306f\uff0c\n", "\u5b9f\u969b\u306b\u306f\u6bd4\u8f03\u7684\u5358\u7d14\u306a\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u304c\u4f7f\u308f\u308c\u3066\u3044\u308b[2][4]\uff0e\n", "\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u3092\u7528\u3044\u305f\u4e88\u6e2c\u306e\u96e3\u3057\u3055\u306f\uff0c\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306b\u3042\u308b\u306e\u3067\u306f\u306a\u3044\uff0e\n", "\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u8aad\u307f\u51fa\u3059\u30b9\u30c8\u30ec\u30fc\u30b8\u3084\n", "\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3059\u308b\u6642\u306e\u8a08\u7b97\u91cf\u304c\u5927\u5909\u306a\u306e\u3067\u3042\u308b\uff0e\n", "\uff08\u4e0a\u8ff0\u306eGelman\u306e\u6587\u7ae0\u3092\u8aad\u3093\u3067\u300c\u81ea\u5206\u306f\u672c\u5f53\u306b\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u3092\u6301\u3063\u3066\u3044\u308b\u306e\u3060\u308d\u3046\u304b\uff1f\u300d\u3068\u8003\u3048\u3066\u307f\u3066\u307b\u3057\u3044\uff09\n", "\n", "\n", "\u89e3\u6790\u3059\u308b\u306e\u304c\u3082\u3063\u3068\u96e3\u3057\u3044\u554f\u984c\u306f\uff0c\u300c\u30df\u30c7\u30a3\u30a2\u30e0\u306a\u30c7\u30fc\u30bf\u300d\u306e\u5834\u5408\u3067\u3042\u308a\uff0c\n", "\u7279\u306b\u554f\u984c\u3068\u306a\u308b\u306e\u306f\u300c\u30b9\u30e2\u30fc\u30eb\u30c7\u30fc\u30bf\u300d\u306e\u5834\u5408\u3067\u3042\u308b\uff0e\n", "Gelman\u306e\u6587\u7ae0\u3092\u501f\u308a\u308b\u306a\u3089\uff0c\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u306e\u554f\u984c\u304c\u300c\u5341\u5206\u306b\u30d3\u30c3\u30b0\u300d\u3067\u5b9f\u969b\u306b\u306f\u89e3\u3051\u306a\u3044\u306e\u3067\u3042\u308c\u3070\uff0c\n", "\u300c\u305d\u308c\u307b\u3069\u5341\u5206\u306b\u30d3\u30c3\u30b0\u3067\u306f\u306a\u3044\u300d\u30c7\u30fc\u30bf\u3092\u6271\u3048\u3070\u3088\u3044\u306e\u3067\u3042\u308b\uff0e\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### \u3053\u3053\u3067\u306e\u30d9\u30a4\u30ba\u63a8\u8ad6\u306e\u67a0\u7d44\u307f\n", "\n", "\n", "\n", "\u8a08\u7b97\u3059\u308b\u3079\u304d\u4fe1\u5ff5\u306f\uff0c\u30d9\u30a4\u30ba\u7684\u306b\u8003\u3048\u305f\u78ba\u7387\u3068\u89e3\u91c8\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e\n", "\u3053\u3053\u3067\uff0c\u3042\u308b\u4e8b\u8c61$A$\u306b\u3064\u3044\u3066\u300c\u4e8b\u524d\u300d\u4fe1\u5ff5\u3092\u6301\u3063\u3066\u3044\u308b\u3068\u3057\u3088\u3046\n", "\uff08\u4f8b\u3048\u3070\uff0c\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u524d\u306b\uff0c\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u30d0\u30b0\u304c\u3042\u308a\u305d\u3046\u304b\u3069\u3046\u304b\u306b\u3064\u3044\u3066\u306e\u4fe1\u5ff5\uff09\uff0e\n", "\n", "\n", "\n", "\u6b21\u306f\uff0c\u5f97\u3089\u308c\u305f\u8a3c\u62e0\u3092\u4f7f\u304a\u3046\uff0e\u30d0\u30b0\u3042\u308a\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4f8b\u3092\u4f7f\u3048\u3070\uff0c\n", "\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u30c6\u30b9\u30c8$X$\u306b\u30d1\u30b9\u3057\u305f\u306e\u3067\uff0c\u305d\u306e\u60c5\u5831\u3092\u53d6\u308a\u5165\u308c\u3066\u4fe1\u5ff5\u3092\u66f4\u65b0\u3057\u305f\u3044\uff0e\n", "\u3053\u306e\u66f4\u65b0\u3055\u308c\u305f\u65b0\u3057\u3044\u4fe1\u5ff5\u3092\u300c\u4e8b\u5f8c\u300d\u4fe1\u5ff5\u3068\u547c\u3076\u3053\u3068\u306b\u3059\u308b\uff0e\n", "\u4ee5\u4e0b\u306e\u5f0f\u3092\u4f7f\u3048\u3070\uff0c\u4fe1\u5ff5\u3092\u66f4\u65b0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e\n", "\u3053\u306e\u5f0f\u306f\uff0c\u767a\u898b\u8005\u306e\u30c8\u30fc\u30de\u30b9\u30fb\u30d9\u30a4\u30ba\u306b\u3061\u306a\u3093\u3067\uff0c\u30d9\u30a4\u30ba\u306e\u5b9a\u7406\u3068\u547c\u3070\u308c\u3066\u3044\u308b\uff0e\n", "\n", "\n", "\\begin{align}\n", " P( A | X ) = & \\frac{ P(X | A) P(A) } {P(X) } \\\\\\\\[5pt]\n", "& \\propto P(X | A) P(A)\\;\\; (\\propto \\text{\u306f\u6bd4\u4f8b\u3092\u8868\u3059} )\n", "\\end{align}\n", "\n", "\n", "\n", "\u3053\u306e\u516c\u5f0f\u306f\u30d9\u30a4\u30ba\u63a8\u8ad6\u3060\u3051\u306e\u3082\u306e\u3067\u306f\u306a\u3044\uff0e\u30d9\u30a4\u30ba\u63a8\u8ad6\u4ee5\u5916\u3067\u3082\u4f7f\u308f\u308c\u3066\u3044\u308b\u6570\u5b66\u7684\u4e8b\u5b9f\u3067\u3042\u308b\uff0e\n", "\u30d9\u30a4\u30ba\u63a8\u8ad6\u3067\u306f\uff0c\u5358\u306b\u3053\u306e\u5f0f\u3092\u4f7f\u3063\u3066\n", "\u521d\u671f\u306e\u4e8b\u524d\u78ba\u7387$P(A)$\u3068\u66f4\u65b0\u5f8c\u306e\u4e8b\u5f8c\u78ba\u7387$P(A | X)$\u3092\u7d50\u3073\u3064\u3051\u3066\u3044\u308b\u3060\u3051\u3067\u3042\u308b\uff0e\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### \u4f8b\u984c\uff1a\u3060\u308c\u3082\u304c\u4e00\u5ea6\u306f\u3084\u308b\u300c\u30b3\u30a4\u30f3\u6295\u3052\u300d\u306e\u554f\u984c\n", "\n", "\n", "\u7d71\u8a08\u5b66\u306e\u30c6\u30ad\u30b9\u30c8\u3067\u3042\u308c\u3070\uff0c\u30b3\u30a4\u30f3\u6295\u3052\u306e\u554f\u984c\u3092\u6271\u3063\u3066\u3044\u306a\u3044\u672c\u306f\u306a\u3044\uff0e\n", "\u3061\u3087\u3063\u3068\u5909\u308f\u3063\u305f\u3084\u308a\u65b9\u3067\u3053\u306e\u554f\u984c\u3092\u6271\u3063\u3066\u307f\u3088\u3046\uff0e\n", "\u3042\u306a\u305f\u306f\uff0c\u30b3\u30a4\u30f3\u306e\u8868\u304c\u51fa\u308b\u78ba\u7387\u304c\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3068\u3059\u308b\uff08\u672c\u5f53\u306f50%\uff09\uff0e\n", "\u4f55\u3089\u304b\u306e\u6bd4\u7387\uff08\u3053\u3053\u3067\u306f$p$\u3068\u3059\u308b\uff09\u3067\u8868\u88cf\u304c\u3067\u308b\u3068\u3044\u3046\u3053\u3068\u306b\u3064\u3044\u3066\u306f\u4fe1\u3058\u3066\u3044\u308b\u304c\uff0c\n", "\u305d\u306e$p$\u304c\u3069\u306e\u304f\u3089\u3044\u306a\u306e\u304b\u306b\u3064\u3044\u3066\u306f\uff0c\u307e\u3063\u305f\u304f\u60c5\u5831\u3092\u6301\u3063\u3066\u3044\u306a\u3044\uff0e\n", "\n", "\n", "\u3067\u306f\u30b3\u30a4\u30f3\u6295\u3052\u3092\u521d\u3081\u3066\uff0c\u8868$H$\u304c\u51fa\u305f\u306e\u304b\u88cf$T$\u304c\u51fa\u305f\u306e\u304b\u3092\u8a18\u9332\u3059\u308b\u3053\u3068\u306b\u3059\u308b\uff0e\n", "\u3053\u3053\u3067\u3061\u3087\u3063\u3068\u8003\u3048\u3066\u307f\u3088\u3046\uff0e\n", "\u30c7\u30fc\u30bf\u304c\u5897\u3048\u308b\u306b\u3064\u308c\u3066\uff0c\u63a8\u8ad6\u7d50\u679c\u306f\u3069\u306e\u3088\u3046\u306b\u5909\u308f\u3063\u3066\u3044\u304f\u306e\u3060\u308d\u3046\u304b\uff1f\n", "\u3082\u3063\u3068\u6b63\u78ba\u306b\u8a00\u3048\u3070\uff0c\u30c7\u30fc\u30bf\u304c\u5c11\u306a\u3044\u6642\u3068\u30c7\u30fc\u30bf\u304c\u591a\u3044\u6642\u3068\u3067\uff0c\u4e8b\u5f8c\u78ba\u7387\u306f\u3069\u306e\u3088\u3046\u306b\u9055\u3046\u306e\u3060\u308d\u3046\u304b\uff1f\n", "\n", "\n", "\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u306f\uff0c\n", "\uff08\u30b3\u30a4\u30f3\u6295\u3052\u306e\uff09\u30c7\u30fc\u30bf\u304c\u5897\u3048\u308b\u305f\u3073\u306b\u66f4\u65b0\u3055\u308c\u308b\u4e8b\u5f8c\u78ba\u7387\u306e\u7cfb\u5217\u3092\u30d7\u30ed\u30c3\u30c8\u3059\u308b\u3082\u306e\u3067\u3042\u308b\uff0e\n", "\n", "\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\"\"\"\n", "\u672c\u66f8\u3067\u306fmatplotlib\u306e\u30b0\u30e9\u30d5\u306e\u30b9\u30bf\u30a4\u30eb\u3092\u5909\u66f4\u3059\u308b\u305f\u3081\u306b\uff0cmatplotlibrc\u30d5\u30a1\u30a4\u30eb\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u3066\u3044\u308b\uff0e\n", "\u672c\u66f8\u3092\u5b9f\u884c\u3057\u3066\uff0c\u672c\u66f8\u306e\u30b9\u30bf\u30a4\u30eb\u3092\u4f7f\u3044\u305f\u3044\u306e\u3067\u3042\u308c\u3070\uff0c\u4ee5\u4e0b\u306e2\u3064\u306e\u65b9\u6cd5\u304c\u3042\u308b\uff0e\n", " 1. \u672c\u66f8\u306e style/ \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308brc\u30d5\u30a3\u30a2\u30eb\u3067\uff0c\u81ea\u5206\u306e\u74b0\u5883\u306ematplotlibrc\u3092\u66f8\u304d\u63db\u3048\u308b\uff0e\n", " http://matplotlib.org/users/customizing.html\u3092\u53c2\u7167\uff0e\n", " 2. \u30b9\u30bf\u30a4\u30eb\u306fbmh_matplotlibrc.json\u30d5\u30a1\u30a4\u30eb\u306b\u3082\u3042\u308b\uff0e\u3053\u308c\u3092\u4f7f\u3063\u3066\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3059\u308c\u3070\uff0c\n", " \u672c\u66f8\u306b\u3060\u3051\u30b9\u30bf\u30a4\u30eb\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e\n", " import json\n", " s = json.load( open(\"../styles/bmh_matplotlibrc.json\") )\n", " matplotlib.rcParams.update(s)\n", "\"\"\"\n", "\n", "# \u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u306f\u8aad\u307f\u98db\u3070\u3057\u3066\u69cb\u308f\u306a\u3044\uff0e\u3053\u3053\u3067\u306f\u3042\u307e\u308a\u91cd\u8981\u3067\u306f\u306a\u3044\u3057\uff0c\n", "# \u307e\u3060\u8aac\u660e\u3057\u3066\u3044\u306a\u3044\u9032\u3093\u3060\u5185\u5bb9\u3082\u542b\u3093\u3067\u3044\u308b\uff0e\u305d\u306e\u4e0b\u306e\u30b0\u30e9\u30d5\u3092\u898b\u3066\uff01\n", "%matplotlib inline\n", "from IPython.core.pylabtools import figsize\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "figsize(11, 9)\n", "\n", "import scipy.stats as stats\n", "\n", "dist = stats.beta\n", "n_trials = [0, 1, 2, 3, 4, 5, 8, 15, 50, 500]\n", "data = stats.bernoulli.rvs(0.5, size=n_trials[-1])\n", "x = np.linspace(0, 1, 100)\n", "\n", " \n", "# \u5206\u304b\u3063\u3066\u3044\u308b\u4eba\u3078\uff1a\u3053\u3053\u3067\u306f\u4e8c\u9805\u5206\u5e03\u306e\u5171\u5f79\u4e8b\u524d\u5206\u5e03\u3092\u4f7f\u3063\u3066\u3044\u308b\uff0e\n", "for k, N in enumerate(n_trials):\n", " sx = plt.subplot(len(n_trials) / 2, 2, k + 1)\n", " # u\"$p$, \u8868\u304c\u51fa\u308b\u78ba\u7387\"\n", " plt.xlabel(\"$p$, probability of heads\") \\\n", " if k in [0, len(n_trials) - 1] else None\n", " plt.setp(sx.get_yticklabels(), visible=False)\n", " heads = data[:N].sum()\n", " y = dist.pdf(x, 1 + heads, 1 + N - heads)\n", " plt.plot(x, y, label=\"observe %d tosses,\\n %d heads\" % (N, heads)) # u\"%d\u56de\u6295\u3052\u3066, \\n \u8868\u306f%d\u56de\"\n", " plt.fill_between(x, 0, y, color=\"#348ABD\", alpha=0.4)\n", " plt.vlines(0.5, 0, 4, color=\"k\", linestyles=\"--\", lw=1)\n", "\n", " leg = plt.legend()\n", " leg.get_frame().set_alpha(0.4)\n", " plt.autoscale(tight=True)\n", "\n", "\n", "plt.suptitle(\"Bayesian updating of posterior probabilities\", # u\"\u30d9\u30a4\u30ba\u63a8\u8ad6\u306b\u3088\u308b\u4e8b\u5f8c\u78ba\u7387\u306e\u66f4\u65b0\"\n", " y=1.02,\n", " fontsize=14)\n", "\n", "plt.tight_layout()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nAIqqnirVCJnSR/Hx8bh8+TL69euHLl264Ntvv63rMM3KlD6aOHEi4uLi4OPjg44dO+KTTz6p6zDr\nvdr4zGZuMI65wTjmBuOYG4xjbqi56nxeV1l+mfoPVco8SuJe+gd+J8e6c+dOfP3119i7d+9djKj+\nMaWPpk6div/85z9QKBQQkXLnVGNnSh8VFxfj6NGj2L59O27cuIEePXqge/fuaNWqVR1EaH6m9NG8\nefMQFhaGmJgYJCYm4qGHHsKJEyfg5ORUBxE2HDX9zGZuMI65wTjmBuOYG4xjbqgdd/p5XWUB4evr\ni/Pnz+t/Pn/+vH6IrLI26enp8PX1NTnghs6UPgKAP//8ExMnTsTWrVurHEZqjEzpoyNHjmDkyJEA\ndJOdfvnlF1hbW+Oxxx6r01jNxZQ+8vf3R9OmTWFvbw97e3v06dMHJ06cuGeShCl9tG/fPrz99tsA\ndE/XbNGiBc6ePYsuXbrUaaz1WW18ZjM3GMfcYBxzg3HMDcYxN9RctT6vq5ogUVxcLIGBgZKcnCw3\nb940OlFu//7999wkMFP6KDU1VYKCgmT//v1mitK8TOmj0saNGyfr1q2rwwjNz5Q+On36tPTv31/U\narVcv35dQkJCJC4uzkwR1z1T+ujll1+W6OhoERHJysoSX19fuXTpkjnCNavk5GSTJstV9zObucE4\n5gbjmBuMY24wjrnBNLWdF6ocgbCyssJnn32Ghx9+GBqNBhMmTEC7du2wePFiAMCzzz6LRx99FFu2\nbEHLli3h6OiI5cuX17wUakBM6aNZs2YhNzdXfw2ntbU1Dh06ZM6w65QpfXSvM6WP2rZti4EDB6JD\nhw6wsLDAxIkTERwcbObI644pffTWW2/h6aefRseOHaHVajF//ny4urqaOfK6NWrUKOzatQs5OTnw\n9/fHzJkzUVxcDKD2PrOZG4xjbjCOucE45gbjmBuMuxt5QSFyj11QSERERERE1cYnURMRERERkclY\nQBARERERkclYQBARERERkclYQBARERERkclYQBARERERkclYQBARERERkclYQBARERERkclYQBAR\nERERkclYQFCDkJKSgtDQ0Fpr37NnTwCAUqkstywvLw9ffPFFNSMt79NPP0VwcDDGjBlzRzFWV3R0\nND788MNa3y4RERERwAKC6hERQV09GH3v3r0AAIVCUW5Zbm4uPv/881rb1xdffIHff/8d3377ba1t\n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\n", "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u4e8b\u5f8c\u78ba\u7387\u306f\u66f2\u7dda\u3067\u8868\u3055\u308c\u3066\u3044\u308b\uff0e\n", "\u4e0d\u78ba\u5b9f\u3055\u306f\uff0c\u3053\u306e\u66f2\u7dda\u306e\u5e83\u304c\u308a\u5177\u5408\u306b\u6bd4\u4f8b\u3057\u3066\u3044\u308b\uff0e\n", "\u4e0a\u306e\u30b0\u30e9\u30d5\u3092\u898b\u308c\u3070\u5206\u304b\u308b\u3088\u3046\u306b\uff0c\n", "\u30c7\u30fc\u30bf\u304c\u5897\u3048\u308b\u305f\u3073\u306b\u4e8b\u5f8c\u78ba\u7387\u306e\u66f2\u7dda\u306f\u53f3\u3078\u5de6\u3078\u3068\u52d5\u304d\u56de\u308b\uff0e\n", "\u6700\u7d42\u7684\u306b\uff0c\u30c7\u30fc\u30bf\u304c\u305f\u304f\u3055\u3093\u624b\u306b\u5165\u308c\u3070\uff08\u305f\u304f\u3055\u3093\u30b3\u30a4\u30f3\u3092\u6295\u3052\u305f\u3089\uff09\uff0c\n", "\u4e8b\u5f8c\u78ba\u7387\u66f2\u7dda\u306f\uff0c\u771f\u306e\u78ba\u7387\u3067\u3042\u308b$p=0.5$\u306b\u6b21\u7b2c\u306b\u96c6\u307e\u3063\u3066\u304f\u308b\uff0e\n", "\n", "\n", "\u306a\u304a\uff0c\u66f2\u7dda\u306e\u30d4\u30fc\u30af\u306e\u4f4d\u7f6e\u306f0.5\u3067\u306f\u306a\u3044\u3057\uff0c\u305d\u3046\u3067\u3042\u308b\u7406\u7531\u3082\u306a\u3044\uff0e$p$\u306e\u5024\u306b\u3064\u3044\u3066\u306f\u4f55\u3082\u77e5\u3089\u306a\u3044\uff0c\u3068\u3044\u3046\u524d\u63d0\u3060\u3063\u305f\u306e\u3060\u304b\u3089\uff0e\n", "\u5b9f\u969b\u306e\u3068\u3053\uff52\uff0c\u30b3\u30a4\u30f3\u6295\u3052\u306e\u7d50\u679c\u304c\u6975\u7aef\u306a\uff0c\u305f\u3068\u3048\u30708\u56de\u6295\u3052\u3066\u8868\u304c1\u56de\u3057\u304b\u306a\u304b\u3063\u305f\u3088\u3046\u306a\u5834\u5408\u306b\u306f\uff0c\n", "\u4e8b\u5f8c\u78ba\u7387\u66f2\u7dda\u306e\u30d4\u30fc\u30af\u306f0.5\u304b\u3089\u975e\u5e38\u306b\u96e2\u308c\u3066\u3044\u308b\u3060\u308d\u3046\n", "\uff08\u4e8b\u524d\u60c5\u5831\u304c\u306a\u3044\u306e\u3060\u304b\u3089\uff0c8\u56de\u6295\u3052\u3066\u8868\u304c1\u56de\u3057\u304b\u51fa\u306a\u3044\u30b3\u30a4\u30f3\u306b\u30a4\u30ab\u30b5\u30de\u306f\u306a\u3044\u3068\uff0c\u3069\u306e\u304f\u3089\u3044\u78ba\u4fe1\u3067\u304d\u308b\u3060\u308d\u3046\uff1f\uff09\uff0e\n", "\u3082\u3063\u3068\u30c7\u30fc\u30bf\u304c\u5897\u3048\u308c\u3070\uff0c\u78ba\u7387\u306f\u3082\u3063\u3068$p=0.5$\u306b\u8fd1\u304f\u306a\u308b\u3060\u308d\u3046\uff0e\n", "\n", "\n", "\u6b21\u306e\u4f8b\u3067\uff0c\u6570\u5b66\u304c\u30d9\u30a4\u30ba\u63a8\u8ad6\u3067\u3069\u306e\u3088\u3046\u306b\u4f7f\u308f\u308c\u308b\u306e\u304b\u898b\u3066\u307f\u3088\u3046\uff0e\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### \u4f8b\u984c\uff1a\u30d0\u30b0\u304b\uff0c\u4ed5\u69d8\u304b\uff1f\n", "\n", "\n", "\u300c\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306f\u30d0\u30b0\u304c\u306a\u3044\u300d\u3068\u3044\u3046\u4e8b\u8c61\u3092$A$\u3068\u3059\u308b\uff0e\n", "\u300c\u3053\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3059\u3079\u3066\u306e\u30c7\u30d0\u30c3\u30b0\u30c6\u30b9\u30c8\u306b\u30d1\u30b9\u3059\u308b\u300d\u3068\u3044\u3046\u4e8b\u8c61\u3092$X$\u3068\u3059\u308b\uff0e\n", "\u3068\u308a\u3042\u3048\u305a\uff0c\u30d0\u30b0\u304c\u306a\u3044\u3068\u3044\u3046\u4e8b\u524d\u78ba\u7387$P(A)$\u3092\u5909\u6570$p$\u306b\u3057\u3066\u304a\u3053\u3046\uff0e\n", "\u3064\u307e\u308a$P(A) = p$\u3068\u3059\u308b\uff0e\n", "\n", "\n", "\u4eca\u304b\u3089\u8003\u3048\u308b\u306e\u306f\u3053\u306e$P(A|X)$\u3060\uff0e\n", "\u3064\u307e\u308a\uff0c\u300c\u30c7\u30d0\u30c3\u30b0\u30c6\u30b9\u30c8$X$\u3092\u30d1\u30b9\u3057\u305f\u6642\u306b\uff0c\u30d0\u30b0\u304c\u306a\u3044\u300d\u78ba\u7387\u3067\u3042\u308b\uff0e\n", "\u4e0a\u306e\u516c\u5f0f\u3092\u4f7f\u3046\u305f\u3081\u306b\uff0c\u3044\u304f\u3064\u304b\u8a08\u7b97\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\uff0e\n", "\n", "\n", "\u3067\u306f$P(X | A)$\u3068\u306f\u4f55\u3060\u308d\u3046\uff1f\u3000\u3053\u308c\u306f\uff0c\u300c\u30d0\u30b0\u304c\u306a\u3044\u6642\u306b\u3059\u3079\u3066\u306e\u30c6\u30b9\u30c8$X$\u3092\u30d1\u30b9\u3059\u308b\u300d\u78ba\u7387\u3067\u3042\u308b\uff0e\u660e\u3089\u304b\u306b\uff0c\u3053\u308c\u306f1\u3067\u3042\u308b\uff0e\u30d0\u30b0\u304c\u306a\u3051\u308c\u3070\uff0c\u3069\u3093\u306a\u30c6\u30b9\u30c8\u306b\u3082\u30d1\u30b9\u3059\u308b\u304b\u3089\u3060\uff0e\n", "\n", "\n", "\u305d\u308c\u3088\u308a\u3082\u5384\u4ecb\u306a\u306e\u306f$P(X)$\u3067\u3042\u308b\uff0e\u4e8b\u8c61$X$\u304c\u8d77\u304d\u308b\u53ef\u80fd\u6027\u306f2\u3064\u3042\u308b\uff0e\n", "\u5b9f\u306f\u30d0\u30b0\u304c\u3042\u308b\uff08\u3053\u308c\u3092$\\sim A$\u3084$\\lnot A$\u3068\u66f8\u3044\u3066*not $A$*\u3068\u8aad\u3080\uff09\u306b\u3082\u95a2\u308f\u3089\u305a\u4e8b\u8c61$X$\u304c\u8d77\u3053\u3063\u3066\u3044\u308b\u306e\u304b\uff0c\u305d\u308c\u3068\u3082\u30d0\u30b0\u304c\u306a\u3044\u304b\u3089\u4e8b\u8c61$X$\u304c\u8d77\u304d\u3066\u3044\u308b\u306e\u304b\uff0c\u3067\u3042\u308b\uff0e\n", "\u3059\u308b\u3068\uff0c$P(X)$\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u89e3\u91c8\u3067\u304d\u308b\uff0e\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\\begin{align}\n", "P(X ) & = P(X \\text{ and } A) + P(X \\text{ and } \\sim A) \\\\\\\\[5pt]\n", " & = P(X|A)P(A) + P(X | \\sim A)P(\\sim A)\\\\\\\\[5pt]\n", "& = P(X|A)p + P(X | \\sim A)(1-p)\n", "\\end{align}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u3059\u3067\u306b$P(X|A)$\u306f\u8a08\u7b97\u3057\u3066\u3042\u308b\uff0e\u3057\u304b\u3057$P(X | \\sim A)$\u3092\u3069\u3046\u3059\u308b\u304b\u306f\uff0c\u4e3b\u89b3\u7684\u3067\u3042\u308b\uff0e\n", "\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u30c6\u30b9\u30c8\u3092\u30d1\u30b9\u3057\u305f\u304c\uff0c\u305d\u308c\u3067\u3082\u30d0\u30b0\u304c\u3042\u308b\u306e\u3060\uff0e\n", "\u3057\u304b\u3057\u30d0\u30b0\u304c\u3042\u308b\u78ba\u7387\u306f\u5c0f\u3055\u304f\u306a\u3063\u3066\u3044\u308b\uff0e\n", "\u3053\u308c\u306f\u5b9f\u884c\u3057\u305f\u30c6\u30b9\u30c8\u306e\u6570\u3084\uff0c\u30c6\u30b9\u30c8\u304c\u3069\u308c\u3060\u3051\u7cbe\u5de7\u306a\u306e\u304b\u306b\u3082\u4f9d\u5b58\u3059\u308b\uff0e\n", "\u3053\u3053\u3067\u306f\u63a7\u3048\u3081\u306b\u8003\u3048\u3066\uff0c$P(X|\\sim A) = 0.5$\u3068\u3057\u3088\u3046\uff0e\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308b\uff0e\n", "\n", "\\begin{align}\n", "P(A | X) & = \\frac{1\\cdot p}{ 1\\cdot p +0.5 (1-p) } \\\\\\\\\n", "& = \\frac{ 2 p}{1+p}\n", "\\end{align}\n", "\u3053\u308c\u304c\u4e8b\u5f8c\u78ba\u7387\u3067\u3042\u308b\uff0e\u3053\u308c\u3092\u4e8b\u524d\u78ba\u7387\u30d1\u30e9\u30e1\u30fc\u30bf$p \\in [0,1]$\u306e\u95a2\u6570\u3068\u3057\u3066\u307f\u305f\u3089\uff0c\n", "\u3069\u3093\u306a\u5f62\u3092\u3057\u3066\u3044\u308b\u3060\u308d\u3046\uff1f\n", "" ] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(12.5, 4) # \u30b0\u30e9\u30d5\u306e\u7e26\u6a2a\u30b5\u30a4\u30ba\u309212.5:4\u306b\u3059\u308b\n", "p = np.linspace(0, 1, 50) # 0\u304b\u30891\u307e\u3067\u309250\u70b9\u306b\u5206\u5272\n", "plt.plot(p, 2 * p / (1 + p), color=\"#348ABD\", lw=3) # \u4e8b\u5f8c\u78ba\u7387\u3092\u30d7\u30ed\u30c3\u30c8\uff0e\u8272\u306f\u9752\u7cfb\uff0c\u7dda\u5e45\u306f3\n", "# plt.fill_between(p, 2*p/(1+p), alpha=.5, facecolor=[\"#A60628\"]) # \u30b3\u30e1\u30f3\u30c8\u3092\u5916\u3057\u3066\u8a66\u3057\u3066\u307f\u3088\u3046\n", "plt.scatter(0.2, 2 * (0.2) / 1.2, s=140, c=\"#348ABD\") # p=0.2\u306e\u3068\u3053\u308d\u306b\u70b9\u3092\u63cf\u753b\uff0e\u8272\u306f\u9752\u7cfb\uff0c\u30b5\u30a4\u30ba\u306f140\n", "plt.xlim(0, 1) # x\u8ef8\u306e\u7bc4\u56f2\u3092(0,1)\u306b\u8a2d\u5b9a\n", "plt.ylim(0, 1) # y\u8ef8\u306e\u7bc4\u56f2\u3092(0,1)\u306b\u8a2d\u5b9a\n", "plt.xlabel(\"Prior, $P(A) = p$\") # x\u8ef8\u30e9\u30d9\u30eb u\"\u4e8b\u524d\u78ba\u7387$P(A) = p$\"\n", "plt.ylabel(\"Posterior, $P(A|X)$, with $P(A) = p$\") # y\u8ef8\u30e9\u30d9\u30eb u\"$P(A) = p$\u306e\u6642\u306e\u4e8b\u5f8c\u78ba\u7387$P(A|X)$\"\n", "plt.title(\"Are there bugs in my code?\") # \u30b0\u30e9\u30d5\u306e\u30bf\u30a4\u30c8\u30eb u\"\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u30d0\u30b0\u304c\u3042\u308b\u304b\uff1f\"" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\newAAAMAP/D8ijDuRH54ADgAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u4e8b\u524d\u78ba\u7387$p$\u304c\u5c0f\u3055\u3044\u6642\u306f\uff0c\u30c6\u30b9\u30c8$X$\u306b\u30d1\u30b9\u3057\u305f\u3068\u3044\u3046\u8a3c\u62e0\u304c\u975e\u5e38\u306b\u52b9\u3044\u3066\u3044\u308b\uff0e\n", "\u3053\u3053\u3067\u4e8b\u524d\u78ba\u7387\u306e\u5024\u3092\u4e00\u3064\u6c7a\u3081\u3066\u307f\u3088\u3046\uff0e\n", "\u79c1\u306f\u512a\u79c0\u306a\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u306a\u306e\u3067\uff08\u81ea\u5206\u3067\u306f\u305d\u3046\u601d\u3063\u3066\u3044\u308b\uff09\uff0c0.20\u3067\u3082\u73fe\u5b9f\u7684\u3060\u308d\u3046\uff0e\n", "\u3064\u307e\u308a\uff0c20%\u306e\u78ba\u7387\u3067\u30d0\u30b0\u306e\u306a\u3044\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u308b\uff0c\u3068\u3044\u3046\u308f\u3051\u3060\uff0e\n", "\u3082\u3063\u3068\u3082\u73fe\u5b9f\u7684\u306b\u306f\uff0c\u3053\u306e\u4e8b\u524d\u78ba\u7387\u306f\n", "\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u3069\u308c\u3060\u3051\u8907\u96d1\u3067\u5927\u898f\u6a21\u306a\u306e\u304b\u306b\u3082\u3088\u308b\u306e\u3060\u304c\uff0c\n", "\u3068\u308a\u3042\u3048\u305a0.20\u3068\u3057\u3066\u304a\u3053\u3046\uff0e\n", "\u3059\u308b\u3068\uff0c\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u306f\u30d0\u30b0\u304c\u306a\u3044\u3068\u3044\u3046\u66f4\u65b0\u3055\u308c\u305f\u4fe1\u5ff5\u306f0.33\u3068\u306a\u308b\uff0e\n", "\n", "\n", "\u3053\u3053\u3067\u4e8b\u524d\u78ba\u7387\u306f\u78ba\u7387\u3067\u3042\u308b\uff0c\u3068\u3044\u3046\u3053\u3068\u3092\u601d\u3044\u51fa\u3057\u3066\u304a\u3053\u3046\uff0e\n", "$p$\u306f\u30d0\u30b0\u304c\u306a\u3044\u4e8b\u524d\u78ba\u7387\u3067\uff0c$1-p$\u306f\u30d0\u30b0\u304c\u3042\u308b\u4e8b\u524d\u78ba\u7387\u3067\u3042\u308b\n", "\n", "\n", "\u540c\u69d8\u306b\uff0c\u4e8b\u5f8c\u78ba\u7387\u3082\u78ba\u7387\u3067\u3042\u308b\uff0e\n", "$P(A | X)$\u306f\u300c\u3059\u3079\u3066\u306e\u30c6\u30b9\u30c8\u3092\u30d1\u30b9\u3057\u3066\u30d0\u30b0\u304c\u306a\u3044\u300d\u78ba\u7387\uff0c\n", "$1-P(A|X)$\u306f\u300c\u3059\u3079\u3066\u306e\u30c6\u30b9\u30c8\u3092\u30d1\u30b9\u3057\u3066\u30d0\u30b0\u304c\u3042\u308b\u300d\u78ba\u7387\u3067\u3042\u308b\uff0e\n", "\u3053\u306e\u4e8b\u5f8c\u78ba\u7387\u306f\u3069\u3093\u306a\u5024\u3060\u308d\u3046\u304b\uff1f\n", "\u4ee5\u4e0b\u306e\u30b0\u30e9\u30d5\u306f\uff0c\u4e8b\u524d\u78ba\u7387\u3068\u4e8b\u5f8c\u78ba\u7387\u3092\u8a08\u7b97\u3057\u305f\u3082\u306e\u3067\u3042\u308b\uff0e\n", "" ] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(12.5, 4)\n", "colours = [\"#348ABD\", \"#A60628\"]\n", "\n", "prior = [0.20, 0.80]\n", "posterior = [1. / 3, 2. / 3]\n", "plt.bar([0, .7], prior, alpha=0.70, width=0.25,\n", " color=colours[0], label=\"prior distribution\", # u\"\u4e8b\u524d\u78ba\u7387\"\n", " lw=\"3\", edgecolor=colours[0])\n", "\n", "plt.bar([0 + 0.25, .7 + 0.25], posterior, alpha=0.7,\n", " width=0.25, color=colours[1],\n", " label=\"posterior distribution\", # u\"\u4e8b\u5f8c\u78ba\u7387\"\n", " lw=\"3\", edgecolor=colours[1])\n", "\n", "plt.xticks([0.20, .95], [\"Bugs Absent\", \"Bugs Present\"]) # u\"\u30d0\u30b0\u304c\u306a\u3044\", u\"\u30d0\u30b0\u304c\u3042\u308b\n", "plt.title(\"Prior and Posterior probability of bugs present\") # u\"\u30d0\u30b0\u304c\u3042\u308b\u4e8b\u524d\u78ba\u7387\u3068\u4e8b\u5f8c\u78ba\u7387\"\n", "plt.ylabel(\"Probability\") # u\"\u78ba\u7387\"\n", "plt.legend(loc=\"upper left\"); # \u51e1\u4f8b\u306e\u4f4d\u7f6e\u306f\u5de6\u4e0a" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nfv31V3zzzTc4fvw43n///YaokYiIiIioRVHV1WDbtm1YsGABBg0aZPR869at8e9//1uxwoiIiIiI\nWqo6j6Q7OTlVCeivvvoqAOCxxx5TpioiIiIiohaszpD+7bffVnlu9+7d9eo8Pj4enp6e8PDwQHh4\neJX1CQkJaNu2LXx9feHr64ulS5fWq18iIiIiouasxtNdPv74Y6xduxZpaWl46KGH5OcLCwvRv3//\nOjs2GAwIDQ3Fvn37oNFo4O/vjzFjxsDLy8uo3eDBg7F9+/Z72AUiIiIioualxpA+ZcoUBAYG4rXX\nXkN4eDiEEAAAtVoNBweHOjtOTEyEu7s7dDodACAoKAhxcXFVQnplv0REREREdEuNp7tIkgSdTod/\n/etfUKvVsLW1ha2tLSRJQl5eXp0dZ2VlwdXVVV7WarXIysqqMsbPP/8MHx8fjBw5EidPnryHXSEi\nIiIiah5qPJI+efJk7Nq1C71794YkSVXWnzt3rtaOq9vmTr169YJer0fr1q3xzTffYNy4cUhJSalH\n2UREREREzVeNIX3Xrl0AgPT09L/UsUajgV6vl5f1ej20Wq1RG7VaLT8ODAzEc889h7y8PNjb21fp\nLywsTH4cEBCAgICAv1QXEREREVFjSLqShaM52QCAkmuXa21bY0j//fffa92wV69eta738/NDamoq\n0tPT4eLigtjYWMTExBi1uXTpEjp06ABJkpCYmAghRLUBHTAO6URERERETY2vowa+jhoAQO71E/ii\nUF9j2xpD+sKFC2s9ZeXAgQO1FqFSqRAREYHhw4fDYDAgODgYXl5eiIyMBACEhITgyy+/xMcffwyV\nSoXWrVtjy5YttfZJRERERNQSSKIJXF5FkiReBYaIiO6bBduO4UphKS4XlcLb2baxy6EmqOOSd9G2\n8Bqsr+VDN6D2swuIqpN75AQmnP+pxoxb45H0/fv3Y+jQofjvf/9b7RH18ePH378qiYiIiIhIVmNI\n//777zF06FDs2LGDIZ2IiIiIqAHVGNLffvttAEBUVFRD1UJERERERKjlZkaVcnJyMH/+fPj6+qJX\nr1548cUXkZub2xC1ERERERG1SHWG9KCgIHTo0AHbtm3Dl19+CUdHRzz11FMNURsRERERUYtU4+ku\nlS5evIjFixfLy4sWLUJsbKyiRRERERERtWR1HkkfNmwYYmJiUFFRgYqKCsTGxmLYsGENURsRERER\n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\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u8a3c\u62e0\u3068\u306a\u308b\u4e8b\u8c61$X$\u304c\u5f97\u3089\u308c\u305f\u5f8c\u3067\u306f\uff0c\u30d0\u30b0\u304c\u306a\u3044\u3068\u3044\u3046\u78ba\u7387\u304c\u5927\u304d\u304f\u306a\u3063\u3066\u3044\u308b\uff0e\n", "\u30c6\u30b9\u30c8\u306e\u6570\u3092\u5897\u3084\u305b\u3070\uff0c\u30d0\u30b0\u304c\u306a\u3044\uff08\u78ba\u73871\uff09\u3068\u3044\u3046\u3053\u3068\u3092\u78ba\u4fe1\u3067\u304d\u308b\u3060\u308d\u3046\uff0e\n", "\n", "\n", "\u3053\u308c\u306f\u30d9\u30a4\u30ba\u63a8\u8ad6\u3068\u30d9\u30a4\u30ba\u5247\u306e\u975e\u5e38\u306b\u5358\u7d14\u306a\u4f8b\u3067\u3042\u308b\uff0e\n", "\u6b8b\u5ff5\u306a\u304c\u3089\uff0c\u3082\u3046\u5c11\u3057\u8907\u96d1\u306a\u30d9\u30a4\u30ba\u63a8\u8ad6\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u6570\u5b66\u306f\uff0c\n", "\u975e\u5e38\u306b\u8abf\u6574\u3055\u308c\u305f\u4f8b\u984c\u3067\u306a\u3051\u308c\u3070\uff0c\u3082\u3063\u3068\u3082\u3063\u3068\u96e3\u3057\u304f\u306a\u3063\u3066\u3057\u307e\u3046\uff0e\n", "\u3042\u3068\u3067\u898b\u308b\u3088\u3046\u306b\uff0c\u3053\u306e\u624b\u306e\u6570\u5b66\u7684\u306a\u89e3\u6790\u306f\u5b9f\u969b\u306b\u306f\u5fc5\u8981\u306a\u3044\uff0e\n", "\u3044\u308d\u3044\u308d\u306a\u30e2\u30c7\u30eb\u5316\u306e\u305f\u3081\u306e\u30c4\u30fc\u30eb\u3092\u77e5\u308b\u307b\u3046\u304c\u5148\u3067\u3042\u308b\uff0e\n", "\u6b21\u306e\u7bc0\u306f\u300c\u78ba\u7387\u5206\u5e03\u300d\u3092\u6271\u3046\uff0e\u3082\u3057\u3088\u304f\u77e5\u3063\u3066\u3044\u308b\u306a\u3089\uff0c\n", "\u8aad\u307f\u98db\u3070\u3057\u3066\uff08\u3082\u3057\u304f\u306f\u659c\u3081\u8aad\u307f\u3057\u3066\uff09\u3082\u3088\u3044\uff0e\n", "\u3088\u304f\u77e5\u3089\u306a\u3051\u308c\u3070\uff0c\u975e\u5e38\u306b\u91cd\u8981\u306a\u306e\u3067\u3088\u304f\u7406\u89e3\u3057\u3066\u307b\u3057\u3044\uff0e\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_______\n", "\n", "## \u78ba\u7387\u5206\u5e03\n", "\n", "\n", "\n", "**\u78ba\u7387\u5206\u5e03\u3068\u306f\u4f55\u304b\u3092\u7c21\u5358\u306b\u304a\u3055\u3089\u3044\u3057\u3088\u3046\uff0e**\n", "$Z$\u3092\u78ba\u7387\u5909\u6570\u3068\u3059\u308b\uff0e\n", "$Z$\u304c\u53d6\u308b\u5024\u305d\u308c\u305e\u308c\u306b\u78ba\u7387\u3092\u4e0e\u3048\u308b\u306e\u304c\u78ba\u7387\u5206\u5e03\u3067\u3042\u308b\uff0e\n", "\u30b0\u30e9\u30d5\u3067\u63cf\u3051\u3070\uff0c\u78ba\u7387\u5206\u5e03\u306f\u66f2\u7dda\u3067\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u3066\uff0c\n", "\u305d\u306e\u66f2\u7dda\u306e\u9ad8\u3055\u306b\u6bd4\u4f8b\u3057\u3066\u78ba\u7387\u304c\u5927\u304d\u304f\u306a\u308b\uff0e\n", "\u3059\u3067\u306b\u3053\u306e\u7ae0\u306e\u6700\u521d\u306e\u56f3\u3067\uff0c\u78ba\u7387\u5206\u5e03\u306e\u66f2\u7dda\u306e\u4f8b\u3092\u8aac\u660e\u3057\u3066\u3044\u308b\uff0e\n", "\n", "\n", "\u78ba\u7387\u5909\u6570\u306b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b3\u7a2e\u985e\u3042\u308b\uff0e\n", "\n", "\n", "- **$Z$\u304c\u96e2\u6563\u306e\u5834\u5408**\uff1a\u96e2\u6563\u78ba\u7387\u5909\u6570\u306f\uff0c\u4e0e\u3048\u3089\u308c\u305f\u5024\u306e\u30ea\u30b9\u30c8\u306e\u4e2d\u306e\u3069\u308c\u304b\u4e00\u3064\u306e\u5024\u3092\u53d6\u308b\uff0e\u4eba\u53e3\uff0c\u6620\u753b\u306e\u8a55\u4fa1\uff0c\u5f97\u7968\u6570\u306a\u3069\u306f\u96e2\u6563\u78ba\u7387\u5909\u6570\u306e\u4f8b\u3067\u3042\u308b\uff0e\u96e2\u6563\u78ba\u7387\u5909\u6570\u306f\uff0c\u4ee5\u4e0b\u306e\u9023\u7d9a\u306e\u5834\u5408\u3068\u5bfe\u6bd4\u3059\u308b\u3068\u5206\u304b\u308a\u3084\u3059\u3044\uff0e\n", "- **$Z$\u304c\u9023\u7d9a\u306e\u5834\u5408**\uff1a\u9023\u7d9a\u78ba\u7387\u5909\u6570\u306f\u4efb\u610f\u7cbe\u5ea6\u306e\u5024\u3092\u53d6\u308b\uff0e\u4f8b\u3048\u3070\u6e29\u5ea6\uff0c\u901f\u5ea6\uff0c\u6642\u9593\uff0c\u8272\u306a\u3069\u306f\u9023\u7d9a\u78ba\u7387\u5909\u6570\u3067\u30e2\u30c7\u30eb\u5316\u3055\u308c\u308b\uff0e\u3053\u308c\u3089\u306e\u5024\u306f\uff0c\u3044\u304f\u3089\u3067\u3082\u7cbe\u5ea6\u3088\u304f\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u304b\u3089\u3060\uff0e\n", "- **$Z$\u304c\u6df7\u5408\u578b\u306e\u5834\u5408**\uff1a\u6df7\u5408\u578b\u306e\u78ba\u7387\u5909\u6570\u306f\uff0c\u96e2\u6563\u3068\u9023\u7d9a\u306e\u3069\u3061\u3089\u306e\u5024\u3082\u53d6\u308b\uff0e\u4e0a\u306e2\u3064\u306e\u30bf\u30a4\u30d7\u306e\u7d44\u307f\u5408\u308f\u305b\u3067\u3042\u308b\uff0e\n", "\n", "\n", "\n", "\n", "###\u96e2\u6563\u306e\u5834\u5408\n", "\n", "\n", "\u3082\u3057$Z$\u304c\u96e2\u6563\u306a\u3089\uff0c\u78ba\u7387\u5206\u5e03\u306f*\u78ba\u7387\u8cea\u91cf\u95a2\u6570*\u3068\u547c\u3070\u308c\u308b\uff0e\n", "\u3053\u308c\u306f$Z$\u304c\u5024$k$\u3092\u53d6\u308b\u78ba\u7387\u3092$P(Z=k)$\u3067\u8868\u3059\uff0e\n", "\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u306f\u78ba\u7387\u5909\u6570$Z$\u3092\u5b8c\u5168\u306b\u6c7a\u5b9a\u3059\u308b\uff0e\u3064\u307e\u308a\n", "\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u304c\u5206\u304b\u308c\u3070$Z$\u304c\u3069\u306e\u3088\u3046\u306b\u632f\u308b\u821e\u3046\u306e\u304b\u304c\u5206\u304b\u308b\u306e\u3067\u3042\u308b\uff0e\n", "\u3053\u306e\u5148\u3088\u304f\u767b\u5834\u3059\u308b\u6709\u540d\u306a\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u304c\u3044\u304f\u3064\u304b\u3042\u308b\u304c\uff0c\n", "\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u7d39\u4ecb\u3059\u308b\uff0e\u4e00\u756a\u6700\u521d\u306b\u7d39\u4ecb\u3059\u308b\u6709\u7528\u306a\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u306f\uff0c\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u3067\u3042\u308b\uff0e\n", "$Z$\u306e\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u304c\u4ee5\u4e0b\u306e\u5f0f\u306e\u6642\uff0c$Z$\u306f\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u306b\u5f93\u3046\u3068\u8a00\u3046\uff0e\n", "\n", "\n", "$$P(Z = k) =\\frac{ \\lambda^k e^{-\\lambda} }{k!}, \\; \\; k=0,1,2, \\dots $$\n", "\n", "$\\lambda$\u306f\u5206\u5e03\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\uff0c\u5206\u5e03\u306e\u5f62\u72b6\u3092\u6c7a\u3081\u308b\uff0e\n", "\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u306e\u5834\u5408\uff0c$\\lambda$\u306f\u4efb\u610f\u306e\u6b63\u306e\u5b9f\u6570\u3067\u3042\u308b\uff0e\n", "$\\lambda$\u3092\u5927\u304d\u304f\u3059\u308b\u3068\u5927\u304d\u306a\u5024\u306e\u78ba\u7387\u304c\u9ad8\u304f\u306a\u308a\uff0c\n", "$\\lambda$\u3092\u5c0f\u3055\u304f\u3059\u308b\u3068\u5c0f\u3055\u306a\u5024\u306e\u78ba\u7387\u304c\u9ad8\u304f\u306a\u308b\uff0e\n", "\u305d\u306e\u305f\u3081\uff0c$\\lambda$\u306f\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u306e\u300c\u5f37\u5ea6\u300d\u3068\u8003\u3048\u3066\u3082\u3088\u3044\uff0e\n", "\n", "\n", "\u4efb\u610f\u306e\u6b63\u306e\u5b9f\u6570\u3067\u3042\u308b$\\lambda$\u3068\u306f\u7570\u306a\u308a\uff0c\u4e0a\u306e\u5f0f\u3067\u306e$k$\u306e\u5024\u306f\u6b63\u306e\u6574\u6570\uff0c\u3064\u307e\u308a0, 1, 2, ... \u3067\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\uff0e\u3053\u308c\u306f\u91cd\u8981\u306a\u4e8b\u3067\u3042\u308b\uff0e\u4eba\u6570\u3092\u30e2\u30c7\u30eb\u5316\u3057\u3088\u3046\u3068\u3059\u308b\u306a\u3089\uff0c4.25\u4eba\u3068\u304b5.612\u4eba\u3068\u3044\u3046\u306e\u306f\u610f\u5473\u304c\u7121\u3044\u306e\u3060\u304b\u3089\uff0e\n", "\n", "\n", "\u3082\u3057\u78ba\u7387\u5909\u6570$Z$\u304c\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u306b\u5f93\u3046\u306a\u3089\uff0c\u305d\u308c\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u66f8\u304f\uff0e\n", "\n", "\n", "$$Z \\sim \\text{Poi}(\\lambda) $$\n", "\n", "\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u306e\u4fbf\u5229\u306a\u6027\u8cea\u306e\u4e00\u3064\u306f\uff0c\u671f\u5f85\u5024\u304c\u5206\u5e03\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u7b49\u3057\u3044\u3068\u3044\u3046\u3053\u3068\u3067\u3042\u308b\uff0e\n", "\n", "\n", "$$E[ \\;Z\\; | \\; \\lambda \\;] = \\lambda $$\n", "\n", "\n", "\u3053\u306e\u5148\u3053\u306e\u6027\u8cea\u3092\u5229\u7528\u3059\u308b\u306e\u3067\u899a\u3048\u3066\u304a\u3044\u3066\u307b\u3057\u3044\uff0e\n", "\u4ee5\u4e0b\u306e\u30b0\u30e9\u30d5\u306f\uff0c\u3044\u304f\u3064\u304b\u306e$\\lambda$\u306e\u5024\u306b\u3064\u3044\u3066\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u3092\u30d7\u30ed\u30c3\u30c8\u3057\u305f\u3082\u306e\u3067\u3042\u308b\uff0e\n", "\u3053\u306e\u30b0\u30e9\u30d5\u3067\u6ce8\u610f\u3057\u3066\u307b\u3057\u3044\u3053\u3068\u306f2\u3064\uff0e1\u3064\u76ee\u306f$\\lambda$\u3092\u5927\u304d\u304f\u3059\u308c\u3070\uff0c\n", "\u5927\u304d\u306a\u5024\u306e\u78ba\u7387\u304c\u9ad8\u304f\u306a\u308b\u3053\u3068\uff0e2\u3064\u76ee\u306f\uff0c\u30b0\u30e9\u30d5\u306e\u6a2a\u8ef8\u306f15\u3067\u7d42\u308f\u3063\u3066\u3044\u308b\u304c\uff0c\n", "\u5206\u5e03\u306f\u305d\u3046\u3067\u306f\u306a\u3044\uff0e\u3059\u3079\u3066\u306e\u6b63\u306e\u6574\u6570\u306b\u5bfe\u3057\u3066\u78ba\u7387\u304c\u5272\u308a\u5f53\u3066\u3089\u308c\u3066\u3044\u308b\uff0e\n", "" ] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(12.5, 4)\n", "\n", "import scipy.stats as stats\n", "a = np.arange(16)\n", "poi = stats.poisson\n", "lambda_ = [1.5, 4.25]\n", "colours = [\"#348ABD\", \"#A60628\"]\n", "\n", "plt.bar(a, poi.pmf(a, lambda_[0]), color=colours[0],\n", " label=\"$\\lambda = %.1f$\" % lambda_[0], alpha=0.60,\n", " edgecolor=colours[0], lw=\"3\")\n", "\n", "plt.bar(a, poi.pmf(a, lambda_[1]), color=colours[1],\n", " label=\"$\\lambda = %.1f$\" % lambda_[1], alpha=0.60,\n", " edgecolor=colours[1], lw=\"3\")\n", "\n", "plt.xticks(a + 0.4, a)\n", "plt.legend()\n", "plt.ylabel(\"probability of $k$\") # u\"$k$\u306e\u78ba\u7387\"\n", "plt.xlabel(\"$k$\")\n", "plt.title(\"Probability mass function of a Poisson random variable; differing \\\n", "$\\lambda$ values\") # u\"\u3044\u304f\u3064\u304b\u306e$\\lambda$\u306b\u5bfe\u3059\u308b\u30dd\u30ef\u30bd\u30f3\u5206\u5e03\u306e\u78ba\u7387\u8cea\u91cf\u95a2\u6570\"" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\neLVs2VKjRo3S9u3bna6Pj4+Pzp8/r927d+vChQvq1KmTunTpIkny9vZ2+Jo9houXQVzaVx07dlRQ\nUJDuuusu2zW4OTk5Kiws1OzZs3XdddepZcuWGjhwoEvLdWWfO+rXleVcvo9rW9/ajp/LOTquv/zy\nS5dySHK4Hx3tQ1fX0ZXtVX3bXvr9c2UbOFp2dna2Kisr9eSTT8rb21v33HOP+vXr53T/VN/Pdfnd\nqK5Tp07q06ePVq5cKUlat26dWrVqpf79+ztdJ3vboDpn28PV95UtW7bo+PHjeumll+Tj46POnTvr\n0Ucf1fLly+2uU3XOtq09jo5zV3JU3yZ+fn52l2PvOMjOzpbVatUTTzwhb29vjRo1yrYPnJkwYYIW\nL17s8PX67GNnLm2r2rZNbe+5gD0U82hWLBaL0tPTdfLkSR06dEjz5s2r8aEZGRlp+7mgoKDGtCTd\ncMMNKigosNu+U6dONV577733lJCQoKCgIAUFBWnXrl06fvy4S/NerYcfflhLliyRJC1ZskTjx4+v\ntX1ISIjt5+uuu67GtJ+fn86ePet0fbp27ao333xT06ZNU0hIiO6//34VFhZKkqKjox2+Zk9dvhh2\n6cPyUvZLWfPy8nTDDTfIy6vub1+u7HNH/bqynPz8/BrP1ba+9rb3iRMn7LZ1dFy7mkOSw/3oaB+6\numxXttclly/P2e+Qo2UXFBQoPDz8imyXuLKf6/K7cblx48bZiuilS5fqgQcecHmdLs9VnSvHhCvv\nK4cPH1ZBQYFtOUFBQXrttdf0ww8/OOz7Emfb1h5Hx7mrOWrbJlLN46BVq1Y6e/asCgsLr8gZGRnp\n0gmDY8eOqaysrNYCvD77uDaXtlVt26a291zAHop5XFOqf+iEhYUpLy+vxpv/4cOHa3xA5Obm1vg5\nLCzM1u7xxx/XH//4RxUXF+vkyZPq0aNHjWU5mvdq80rS3XffrZ07d2rXrl36+9//XuMDxhWOPuic\nrc/999+vDRs26PDhw7JYLHr++edt89b2Wm1atWqlsrIy27SrH1aRkZHKzc2V1Wq1+3ptBbQr+9yV\nZTlaTkREhCur4NLx44q65nC0r+w9Hx4eXud1dPbHWvXX67MNQkNDr/ij4vDhw7af67qfpbp9eXbM\nmDHKyspSfn6+Vq1apXHjxrm8TrUVvq5sj8vfV+ytU2RkpDp37qyTJ0/aHmfOnNEnn3zidN2cbdu6\ncDXH1Yz+Yi9nbm6u02VlZmYqJydHL730kt59912H7eqzjy+p7T3O2ba52vdVXJso5nHNuvnmm9Wq\nVSvNmjVLFy5cUFZWlj755BONHTtW0sUP9z/+8Y/Kz89XcXGxfvvb39peKy0tlcViUYcOHVRVVaV3\n3323xpBqtc1bFyEhIdq/f79t+rrrrtM999yjcePGKSkpyeXi0Zna1uff//631q1bp/Pnz6tly5by\n8/OTt7e309fsqf6B17t3b73//vuyWq3KzMx0eWzp/v37KzQ0VC+88ILKyspUXl6uf/3rX7bXL99m\n1SUlJdW6z2vLW52zY8fZ/M6OH1e5mkNyvK8cPV/XbVXb+jb0NhgwYIB8fHw0d+5cXbhwQR999JG2\nbNlie/1qstdFcHCwkpOTNWHCBHXp0kU33XRTvdfJlXntva/85Cc/uWJZSUlJti/Nnzt3TlarVbt2\n7dLWrVslXbzM5JFHHrGb45Zbbql129pz+X6/NO0sx9W4tOwBAwbI29tb8+bNU2VlpdLT053mXLp0\nqdatW6cnnnhC9957r1avXn3FF6cvaYh9XNt7XP/+/R1um7q+rwIU87hm+fr6avXq1fr0008VHBys\nKVOm6C9/+YtuvPFGSRfPFj3wwAO644471LVrV8XExOill16SJHXr1k3PPvusBgwYoI4dO2rXrl26\n9dZbbcuubd66ePHFF/Wb3/xGQUFB+v3vfy/p4qU2u3btcnqJjT3Vz1pVHw+5tvU5f/68XnzxRQUH\nBys0NFTHjx/Xa6+95vQ1Z/3PmTNHq1evVlBQkJYuXapRo0bVOt+leb29vbV69Wp9//336tSpkyIj\nI/XBBx/Y2lbfZm+88UaNPlu0aFHrPq+t3+qcHTv21rc6Z8ePq1zNITneV46er8uyq6+vq2dZ67oN\nqi+7RYsW+uijj7R48WK1b99eH3zwge655x5b27ru50vLr8t6jBs3Tp9//rntjO3VrFN1rszr6vuK\nl5eXPvnkE+3YsUNdunRRcHCwHn/8cZ05c0bSxUvVHOXy9fWtddvac/m2ujTtLMfVuLRvLuVcuHCh\ngoKC9P777+vHP/6xWrRoYXe+7OxsrV27VrNmzZIk+fv7a+TIkbV+j6C++7i29zhvb2+H26au76uA\nxajr/3XrITMzU0899ZSsVqseffTRK/5tlJ6erldeeUVeXl7y8vLS7NmzbTd+iYqKUkBAgLy9veXr\n6+vyl02A5iYvL0+xsbE6evSo2rRpY3YcAB6koqJCCQkJ2rlzZ7M725uUlKSf/exnevjhh82OAriV\n24p5q9Wqm266SWvXrlV4eLj69eunZcuWKS4uztamtLTUdkfDb775RqNGjbKNz9y5c2d99dVXateu\nnTviAk1SVVWVnnnmGZ09e1YLFiwwOw4AmOaLL77QjTfeqA4dOuj999/Xz372Mx04cKDGl5mBa4GP\nuzrKyclRdHS0oqKiJEljx45Venp6jWK++q3Jz549qw4dOtRYhhv/iQA0OaWlpQoJCVHnzp2VmZlp\ndhwAMNXevXt13333qbS0VF27dtVf//pXCnlck9xWzOfn59cYfioiIkKbN2++ot2qVav04osvqrCw\nUGvWrLE9b7FYNHToUHl7eystLU2PPfaYW3IDTUXr1q1rHS4PAK4ljz32GLUAIDcW865+KWrkyJEa\nOXKkNmzYoPHjx2vv3r2SpE2bNik0NFTHjh3TsGHDFBsbq0GDBjVmZAAAAKBJc1sxf2nM4kvy8vJq\nHVZv0KBBqqys1IkTJ9S+fXuFhoZKujhc1KhRo5STk3NFMd+7d299/fXXjbMCAAAAgEni4+Pt3mXb\nbUNTJiYmat++fTp06JAqKiq0YsUKpaam1mizf/9+23Xx27ZtkyS1b99eZWVlKikpkXTxuuE1a9ao\nZ8+eV/Tx9ddfyzCMej9effXVBlmOOx6elNXT8npSVvKS1VPzelJW8pLVU/N6UlbyOn44OmHttjPz\nPj4+mjdvnlJSUmS1WjVp0iTFxcVp/vz5kqS0tDT97W9/03vvvSdfX1+1adPGNv5rUVGRRo8eLUmq\nrKy0jbMLAAAAXMvcVsxL0vDhwzV8+PAaz6Wlpdl+/sUvfqFf/OIXV8zXpUsXu/9WAAAAAK5l3AHW\njuTkZLMjuMyTskqeldeTskrkbUyelFXyrLyelFUib2PypKySZ+X1pKwSeevKrXeAbWwWi0XNaHUA\nAAAASY7rXLdeZgMAAIDmrV27djp58qTZMTxWUFCQiouLXW7PmXkAAAA0GOqx+nG0/Tgz38RsPlSs\nDfuPq6KyyuwokqQWPl4a1LWDkqLamR0FAAAALqKYN8mG/cdVXFqhkvOVZkeRJPm39NGG/ccp5gEA\nADwIxbxJKiqrVHK+UkVnys2OclGAn9q05HAAAADwJFRvTUBCRFtT+99+5JSp/QMAgObLHZcWX8uX\n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\ngwcVHBysRx55RH369NFjjz2msrIys2M5tXz5co0bN87sGLVq166dnn32WXXq1ElhYWFq27athg4d\nanYsu3r06KENGzaouLhYZWVl+vvf/96kijdHjh49qpCQEElSSEiIjh49anKi5mnRokUaMWKE2TGc\n+tWvfqVOnTrpz3/+s1544QWz4ziUnp6uiIgI9erVy+woLnvrrbcUHx+vSZMmmXI5m2d8+ruBqze1\nQv2cPXtWY8aM0Zw5c9SmTRuz4zjk5eWlHTt26MiRI/riiy+UlZVldiS7PvnkE11//fVKSEgw/cyA\nqzZt2qTt27fr008/1R//+Edt2LDB7EgOVVZWatu2bfrZz36mbdu2qXXr1nr99dfNjlWriooKrV69\nWvfee6/ZUWq1f/9+vfnmmzp06JAKCgp09uxZvf/++2bHsis2NlbPP/+87rjjDg0fPlwJCQke88fz\nJRaLhc+5RvDb3/5WLVq0aPJ/PEsXs+bm5mrChAl6+umnzY5jV1lZmWbMmKHp06fbnmvqn22TJ0/W\nwYMHtWPHDoWGhurZZ591ewbPejdqROHh4TW+EJKXl6eIiAgTEzU/Fy5c0D333KMHH3xQI0eONDuO\nSwIDA/Vf//Vf2rp1q9lR7PrXv/6ljz/+WJ07d9b999+vdevW6aGHHjI7Vq1CQ0MlScHBwRo1apRy\ncnJMTuRYRESEIiIi1K9fP0nSmDFjmtQX8+z59NNP1bdvXwUHB5sdpVZbt27VLbfcovbt28vHx0ej\nR4/Wv/5V/zvBNpaJEydq69atWr9+vdq2baubbrrJ7EhOhYSEqKioSJJUWFio66+/3uREzcvixYuV\nkZHRZP8IdWTcuHHasmWL2THs2r9/vw4dOqT4+Hh17txZR44cUd++ffXDDz+YHc2h66+/3vbH8qOP\nPmrKZxrF/H9Uv6lVRUWFVqxYodTUVLNjNRuGYWjSpEnq1q2bnnrqKbPj1Or48eO2f5OdO3dO//jH\nP5SQkGByKvtmzJihvLw8HTx4UMuXL9eQIUP03nvvmR3LobKyMpWUlEiSSktLtWbNmiY9IlPHjh0V\nGRmpf//74i3b165dq+7du5ucqnbLli3T/fffb3YMp2JjY5Wdna1z587JMAytXbu2SV/OdqmYyM3N\n1cqVKz3iTGxqaqr+/Oc/S5L+/Oc/e8xJFKnpn43NzMzU7NmzlZ6eLj8/P7PjOLVv3z7bz+np6U32\nM61nz546evSoDh48qIMHDyoiIkLbtm1r0n+IFhYW2n5euXKlOZ9p5n33tunJyMgwbrzxRqNr167G\njBkzzI5Tq7FjxxqhoaFGixYtjIiICGPRokVmR6rVhg0bDIvFYsTHxxu9e/c2evfubXz66admx7Jr\n586dRkJCghEfH2/07NnTmDVrltmRXJKVldXkR7M5cOCAER8fb8THxxvdu3dv8r9nhmEYO3bsMBIT\nE41evXoZo0aNatKj2Zw9e9Zo3759jZErmrKZM2ca3bp1M3r06GE89NBDRkVFhdmRHBo0aJDRrVs3\nIz4+3li3bp3Zca5w6TPB19fX9plw4sQJ4/bbbzdiYmKMYcOGGSdPnjQ7ps3leRcuXGisXLnSiIiI\nMPz8/IyQkBDjzjvvNDumYRj2s0ZHRxudOnWyfZ5NnjzZ7Jg29vLec889Ro8ePYz4+Hhj9OjRxtGj\nR82OaRiG81qmc+fOTWo0G3vbdvz48UbPnj2NXr16GXfffbdRVFTk9lzcNAoAAADwUFxmAwAAAHgo\ninkAAADAQ1HMAwAAAB6KYh4AAADwUBTzAAAAgIeimAcAAAA8FMU8AAAA4KEo5gEAAAAPRTEPAKiT\njz/+WD/60Y/MjgEAEMU8AKCOYmJiNGDAALNjAABEMQ8AqKMvv/xSt9xyi9kxAACimAcA1FFOTo4S\nEhL00UcfqW/fvmbHAYBrGsU8AKBO9uzZoy1btmj06NHauHGj2XEA4JrmY3YAAIDnOHv2rCRp5cqV\n8vLy0qhRo0xOBADXNop5AIDLtmzZoh//+Me688479eGHH6ply5YaMWKE2bEA4JrFZTYAAJd99913\nGjx4sCIiInTu3DkFBgaaHQkArmkWwzAMs0MAAAAAqDvOzAMAAAAeimIeAAAA8FAU8wAAAICHopgH\nAAAAPBTFPAAAAOChKOYBAAAAD0UxDwAAAHgoinkAAADAQ/1/whmnFHiszZMAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "###\u9023\u7d9a\u306e\u5834\u5408\n", "\n", "\n", "\u9023\u7d9a\u78ba\u7387\u5909\u6570\u306f\uff0c\u78ba\u7387\u8cea\u91cf\u95a2\u6570\u3067\u306f\u306a\u304f\u78ba\u7387\u5bc6\u5ea6\u5206\u5e03\u95a2\u6570\u3067\u8868\u3055\u308c\u308b\uff0e\n", "\u3053\u308c\u306f\u5358\u306a\u308b\u540d\u524d\u306e\u554f\u984c\u306e\u3088\u3046\u306b\u898b\u3048\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u304c\uff0c\n", "\u5bc6\u5ea6\u95a2\u6570\u3068\u8cea\u91cf\u95a2\u6570\u306f\u307e\u3063\u305f\u304f\u9055\u3046\u3082\u306e\u306a\u306e\u3067\u3042\u308b\uff0e\n", "\u9023\u7d9a\u78ba\u7387\u5909\u6570\u306e\u4f8b\u306f\uff0c\u4ee5\u4e0b\u306e\u5f0f\u3067\u8868\u3055\u308c\u308b\u6307\u6570\u5206\u5e03\u3067\u3042\u308b\uff0e\n", "\n", "\n", "$$f_Z(z | \\lambda) = \\lambda e^{-\\lambda z }, \\;\\; z\\ge 0$$\n", "\n", "Like a Poisson random variable, an exponential random variable can take on only non-negative values. But unlike a Poisson variable, the exponential can take on *any* non-negative values, including non-integral values such as 4.25 or 5.612401. This property makes it a poor choice for count data, which must be an integer, but a great choice for time data, temperature data (measured in Kelvins, of course), or any other precise *and positive* variable. The graph below shows two probability density functions with different $\\lambda$ values. \n", "\n", "When a random variable $Z$ has an exponential distribution with parameter $\\lambda$, we say *$Z$ is exponential* and write\n", "\n", "$$Z \\sim \\text{Exp}(\\lambda)$$\n", "\n", "Given a specific $\\lambda$, the expected value of an exponential random variable is equal to the inverse of $\\lambda$, that is:\n", "\n", "$$E[\\; Z \\;|\\; \\lambda \\;] = \\frac{1}{\\lambda}$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = np.linspace(0, 4, 100)\n", "expo = stats.expon\n", "lambda_ = [0.5, 1]\n", "\n", "for l, c in zip(lambda_, colours):\n", " plt.plot(a, expo.pdf(a, scale=1. / l), lw=3,\n", " color=c, label=\"$\\lambda = %.1f$\" % l)\n", " plt.fill_between(a, expo.pdf(a, scale=1. / l), color=c, alpha=.33)\n", "\n", "plt.legend()\n", "plt.ylabel(\"PDF at $z$\")\n", "plt.xlabel(\"$z$\")\n", "plt.ylim(0, 1.2)\n", "plt.title(\"Probability density function of an Exponential random variable;\\\n", " differing $\\lambda$\");" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "###But what is $\\lambda \\;$?\n", "\n", "\n", "**This question is what motivates statistics**. In the real world, $\\lambda$ is hidden from us. We see only $Z$, and must go backwards to try and determine $\\lambda$. The problem is difficult because there is no one-to-one mapping from $Z$ to $\\lambda$. Many different methods have been created to solve the problem of estimating $\\lambda$, but since $\\lambda$ is never actually observed, no one can say for certain which method is best! \n", "\n", "Bayesian inference is concerned with *beliefs* about what $\\lambda$ might be. Rather than try to guess $\\lambda$ exactly, we can only talk about what $\\lambda$ is likely to be by assigning a probability distribution to $\\lambda$.\n", "\n", "This might seem odd at first. After all, $\\lambda$ is fixed; it is not (necessarily) random! How can we assign probabilities to values of a non-random variable? Ah, we have fallen for our old, frequentist way of thinking. Recall that under Bayesian philosophy, we *can* assign probabilities if we interpret them as beliefs. And it is entirely acceptable to have *beliefs* about the parameter $\\lambda$. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "##### Example: Inferring behaviour from text-message data\n", "\n", "Let's try to model a more interesting example, one that concerns the rate at which a user sends and receives text messages:\n", "\n", "> You are given a series of daily text-message counts from a user of your system. The data, plotted over time, appears in the chart below. You are curious to know if the user's text-messaging habits have changed over time, either gradually or suddenly. How can you model this? (This is in fact my own text-message data. Judge my popularity as you wish.)\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(12.5, 3.5)\n", "count_data = np.loadtxt(\"data/txtdata.csv\")\n", "n_count_data = len(count_data)\n", "plt.bar(np.arange(n_count_data), count_data, color=\"#348ABD\")\n", "plt.xlabel(\"Time (days)\")\n", "plt.ylabel(\"count of text-msgs received\")\n", "plt.title(\"Did the user's texting habits change over time?\")\n", "plt.xlim(0, n_count_data);" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n8s0SntxgwdraGunp6bC2tkZaWhqsrKzKfX27du2qvfwTEREREZE2c3V1xfnz58vdp7YR844dO+LU\nqVN48OABhBCIjIyEk5MTfH19ER4eDgAIDw+Hv79/ua9PSEiQ11blQ3OPefPm1XkMuvhgv7Pvde3B\nfme/69KD/c6+f/rx5J4W5VHbiLmrqysCAwPh6ekJPT09vPTSS5g4cSLu37+P4cOHY+3atfJyiURE\nREREuk5tiTkAzJw5s9RtsQHA3NwckZGR6myWiIiIiKje4Z0/qRSlUlnXIegk9nvdYd/XDfZ73WC/\n1w32e92pb32v1uUSn4ckSdDS0IiIiIiIaqSyHJcj5kREREREWoCJORERERGRFmBiTkRERESkBZiY\nExERERFpASbmRERERERagIk5EREREZEWYGJORERERKQFmJgTEREREWkBJuZERERERFqAiTkRERER\nkRZgYk5EREREpAWYmBMRERERaQEm5kREREREWoCJOZGOMjE1gyRJ5T5MTM3qOjwiIiKdIwkhhLoq\nv3r1KkaOHClvX79+HZ9//jnGjBmDESNG4MaNG3BwcMC2bdtgampaOjBJghpDI9J5kiTBc/Ghcvf9\nOdOLnz8iIiI1qCzHVeuIeYcOHRAbG4vY2FicPXsWTZs2xaBBgxAaGgpvb2/Ex8fDy8sLoaGh6gyD\niIiIiEjraWwqS2RkJNq1awd7e3tEREQgKCgIABAUFITffvtNU2EQEREREWkljSXmW7ZswahRowAA\nGRkZUCgUAACFQoGMjAxNhUFEREREpJUMNNFIYWEhdu3ahUWLFpXZ9+Ris/KEhITIz5VKJZRKpZoi\nJCIiqhoTUzPkZGeVu8/YxBTZWfc0HBERabOoqChERUVV6ViNJOb79u2Dh4cHLC0tATweJU9PT4e1\ntTXS0tJgZWVV7uueTsyJiIi0QU52VqUXThMRPe3ZweX58+dXeKxGprJs3rxZnsYCAH5+fggPDwcA\nhIeHw9/fXxNhEBERERFpLbUn5nl5eYiMjMTgwYPlslmzZuHgwYNwdHTE4cOHMWvWLHWHQURERESk\n1dQ+laVZs2a4c+dOqTJzc3NERkaqu2kiIiIionqjwsTcxcWlwhdJkoS4uDi1BEREREREpIsqTMx3\n7doFAFi5ciUAICAgAEIIbNq0STORERERERHpkAoTcwcHBwDAgQMHcP78ebm8S5cucHd3L3fpQyIi\n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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before we start modeling, see what you can figure out just by looking at the chart above. Would you say there was a change in behaviour during this time period? \n", "\n", "How can we start to model this? Well, as we have conveniently already seen, a Poisson random variable is a very appropriate model for this type of *count* data. Denoting day $i$'s text-message count by $C_i$, \n", "\n", "$$ C_i \\sim \\text{Poisson}(\\lambda) $$\n", "\n", "We are not sure what the value of the $\\lambda$ parameter really is, however. Looking at the chart above, it appears that the rate might become higher late in the observation period, which is equivalent to saying that $\\lambda$ increases at some point during the observations. (Recall that a higher value of $\\lambda$ assigns more probability to larger outcomes. That is, there is a higher probability of many text messages having been sent on a given day.)\n", "\n", "How can we represent this observation mathematically? Let's assume that on some day during the observation period (call it $\\tau$), the parameter $\\lambda$ suddenly jumps to a higher value. So we really have two $\\lambda$ parameters: one for the period before $\\tau$, and one for the rest of the observation period. In the literature, a sudden transition like this would be called a *switchpoint*:\n", "\n", "$$\n", "\\lambda = \n", "\\begin{cases}\n", "\\lambda_1 & \\text{if } t \\lt \\tau \\cr\n", "\\lambda_2 & \\text{if } t \\ge \\tau\n", "\\end{cases}\n", "$$\n", "\n", "\n", "If, in reality, no sudden change occurred and indeed $\\lambda_1 = \\lambda_2$, then the $\\lambda$s posterior distributions should look about equal.\n", "\n", "We are interested in inferring the unknown $\\lambda$s. To use Bayesian inference, we need to assign prior probabilities to the different possible values of $\\lambda$. What would be good prior probability distributions for $\\lambda_1$ and $\\lambda_2$? Recall that $\\lambda$ can be any positive number. As we saw earlier, the *exponential* distribution provides a continuous density function for positive numbers, so it might be a good choice for modeling $\\lambda_i$. But recall that the exponential distribution takes a parameter of its own, so we'll need to include that parameter in our model. Let's call that parameter $\\alpha$.\n", "\n", "\\begin{align}\n", "&\\lambda_1 \\sim \\text{Exp}( \\alpha ) \\\\\\\n", "&\\lambda_2 \\sim \\text{Exp}( \\alpha )\n", "\\end{align}\n", "\n", "$\\alpha$ is called a *hyper-parameter* or *parent variable*. In literal terms, it is a parameter that influences other parameters. Our initial guess at $\\alpha$ does not influence the model too strongly, so we have some flexibility in our choice. A good rule of thumb is to set the exponential parameter equal to the inverse of the average of the count data. Since we're modeling $\\lambda$ using an exponential distribution, we can use the expected value identity shown earlier to get:\n", "\n", "$$\\frac{1}{N}\\sum_{i=0}^N \\;C_i \\approx E[\\; \\lambda \\; |\\; \\alpha ] = \\frac{1}{\\alpha}$$ \n", "\n", "An alternative, and something I encourage the reader to try, would be to have two priors: one for each $\\lambda_i$. Creating two exponential distributions with different $\\alpha$ values reflects our prior belief that the rate changed at some point during the observations.\n", "\n", "What about $\\tau$? Because of the noisiness of the data, it's difficult to pick out a priori when $\\tau$ might have occurred. Instead, we can assign a *uniform prior belief* to every possible day. This is equivalent to saying\n", "\n", "\\begin{align}\n", "& \\tau \\sim \\text{DiscreteUniform(1,70) }\\\\\\\\\n", "& \\Rightarrow P( \\tau = k ) = \\frac{1}{70}\n", "\\end{align}\n", "\n", "So after all this, what does our overall prior distribution for the unknown variables look like? Frankly, *it doesn't matter*. What we should understand is that it's an ugly, complicated mess involving symbols only a mathematician could love. And things will only get uglier the more complicated our models become. Regardless, all we really care about is the posterior distribution.\n", "\n", "We next turn to PyMC, a Python library for performing Bayesian analysis that is undaunted by the mathematical monster we have created. \n", "\n", "\n", "Introducing our first hammer: PyMC\n", "-----\n", "\n", "PyMC is a Python library for programming Bayesian analysis [3]. It is a fast, well-maintained library. The only unfortunate part is that its documentation is lacking in certain areas, especially those that bridge the gap between beginner and hacker. One of this book's main goals is to solve that problem, and also to demonstrate why PyMC is so cool.\n", "\n", "We will model the problem above using PyMC. This type of programming is called *probabilistic programming*, an unfortunate misnomer that invokes ideas of randomly-generated code and has likely confused and frightened users away from this field. The code is not random; it is probabilistic in the sense that we create probability models using programming variables as the model's components. Model components are first-class primitives within the PyMC framework. \n", "\n", "B. Cronin [5] has a very motivating description of probabilistic programming:\n", "\n", "> Another way of thinking about this: unlike a traditional program, which only runs in the forward directions, a probabilistic program is run in both the forward and backward direction. It runs forward to compute the consequences of the assumptions it contains about the world (i.e., the model space it represents), but it also runs backward from the data to constrain the possible explanations. In practice, many probabilistic programming systems will cleverly interleave these forward and backward operations to efficiently home in on the best explanations.\n", "\n", "Because of the confusion engendered by the term *probabilistic programming*, I'll refrain from using it. Instead, I'll simply say *programming*, since that's what it really is. \n", "\n", "PyMC code is easy to read. The only novel thing should be the syntax, and I will interrupt the code to explain individual sections. Simply remember that we are representing the model's components ($\\tau, \\lambda_1, \\lambda_2$ ) as variables:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pymc as pm\n", "\n", "alpha = 1.0 / count_data.mean() # Recall count_data is the\n", " # variable that holds our txt counts\n", "with pm.Model() as model:\n", " lambda_1 = pm.Exponential(\"lambda_1\", alpha)\n", " lambda_2 = pm.Exponential(\"lambda_2\", alpha)\n", "\n", "with model:\n", " tau = pm.DiscreteUniform(\"tau\", lower=0, upper=n_count_data)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the code above, we create the PyMC variables corresponding to $\\lambda_1$ and $\\lambda_2$. We assign them to PyMC's *stochastic variables*, so-called because they are treated by the back end as random number generators. We can demonstrate this fact by calling their built-in `random()` methods." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print \"Random output:\", tau.random(), tau.random(), tau.random()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ " Random output:" ] }, { "ename": "AttributeError", "evalue": "'FreeRV' object has no attribute 'random'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mprint\u001b[0m \u001b[0;34m\"Random output:\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtau\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtau\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtau\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m: 'FreeRV' object has no attribute 'random'" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "@pm.deterministic\n", "def lambda_(tau=tau, lambda_1=lambda_1, lambda_2=lambda_2):\n", " out = np.zeros(n_count_data)\n", " out[:tau] = lambda_1 # lambda before tau is lambda1\n", " out[tau:] = lambda_2 # lambda after (and including) tau is lambda2\n", " return out" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'module' object has no attribute 'deterministic'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdeterministic\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mlambda_\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtau\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtau\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlambda_1\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlambda_1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlambda_2\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlambda_2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn_count_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mtau\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlambda_1\u001b[0m \u001b[0;31m# lambda before tau is lambda1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mout\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtau\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlambda_2\u001b[0m \u001b[0;31m# lambda after (and including) tau is lambda2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'module' object has no attribute 'deterministic'" ] } ], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code creates a new function `lambda_`, but really we can think of it as a random variable: the random variable $\\lambda$ from above. Note that because `lambda_1`, `lambda_2` and `tau` are random, `lambda_` will be random. We are **not** fixing any variables yet.\n", "\n", "`@pm.deterministic` is a decorator that tells PyMC this is a deterministic function. That is, if the arguments were deterministic (which they are not), the output would be deterministic as well. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "observation = pm.Poisson(\"obs\", lambda_, value=count_data, observed=True)\n", "\n", "model = pm.Model([observation, lambda_1, lambda_2, tau])" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The variable `observation` combines our data, `count_data`, with our proposed data-generation scheme, given by the variable `lambda_`, through the `value` keyword. We also set `observed = True` to tell PyMC that this should stay fixed in our analysis. Finally, PyMC wants us to collect all the variables of interest and create a `Model` instance out of them. This makes our life easier when we retrieve the results.\n", "\n", "The code below will be explained in Chapter 3, but I show it here so you can see where our results come from. One can think of it as a *learning* step. The machinery being employed is called *Markov Chain Monte Carlo* (MCMC), which I also delay explaining until Chapter 3. This technique returns thousands of random variables from the posterior distributions of $\\lambda_1, \\lambda_2$ and $\\tau$. We can plot a histogram of the random variables to see what the posterior distributions look like. Below, we collect the samples (called *traces* in the MCMC literature) into histograms." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Mysterious code to be explained in Chapter 3.\n", "mcmc = pm.MCMC(model)\n", "mcmc.sample(40000, 10000, 1)" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'module' object has no attribute 'MCMC'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Mysterious code to be explained in Chapter 3.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmcmc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMCMC\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mmcmc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msample\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m40000\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10000\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'module' object has no attribute 'MCMC'" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "lambda_1_samples = mcmc.trace('lambda_1')[:]\n", "lambda_2_samples = mcmc.trace('lambda_2')[:]\n", "tau_samples = mcmc.trace('tau')[:]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(12.5, 10)\n", "# histogram of the samples:\n", "\n", "ax = plt.subplot(311)\n", "ax.set_autoscaley_on(False)\n", "\n", "plt.hist(lambda_1_samples, histtype='stepfilled', bins=30, alpha=0.85,\n", " label=\"posterior of $\\lambda_1$\", color=\"#A60628\", normed=True)\n", "plt.legend(loc=\"upper left\")\n", "plt.title(r\"\"\"Posterior distributions of the variables\n", " $\\lambda_1,\\;\\lambda_2,\\;\\tau$\"\"\")\n", "plt.xlim([15, 30])\n", "plt.xlabel(\"$\\lambda_1$ value\")\n", "\n", "ax = plt.subplot(312)\n", "ax.set_autoscaley_on(False)\n", "plt.hist(lambda_2_samples, histtype='stepfilled', bins=30, alpha=0.85,\n", " label=\"posterior of $\\lambda_2$\", color=\"#7A68A6\", normed=True)\n", "plt.legend(loc=\"upper left\")\n", "plt.xlim([15, 30])\n", "plt.xlabel(\"$\\lambda_2$ value\")\n", "\n", "plt.subplot(313)\n", "w = 1.0 / tau_samples.shape[0] * np.ones_like(tau_samples)\n", "plt.hist(tau_samples, bins=n_count_data, alpha=1,\n", " label=r\"posterior of $\\tau$\",\n", " color=\"#467821\", weights=w, rwidth=2.)\n", "plt.xticks(np.arange(n_count_data))\n", "\n", "plt.legend(loc=\"upper left\")\n", "plt.ylim([0, .75])\n", "plt.xlim([35, len(count_data) - 20])\n", "plt.xlabel(r\"$\\tau$ (in days)\")\n", "plt.ylabel(\"probability\");" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpretation\n", "\n", "Recall that Bayesian methodology returns a *distribution*. Hence we now have distributions to describe the unknown $\\lambda$s and $\\tau$. What have we gained? Immediately, we can see the uncertainty in our estimates: the wider the distribution, the less certain our posterior belief should be. We can also see what the plausible values for the parameters are: $\\lambda_1$ is around 18 and $\\lambda_2$ is around 23. The posterior distributions of the two $\\lambda$s are clearly distinct, indicating that it is indeed likely that there was a change in the user's text-message behaviour.\n", "\n", "What other observations can you make? If you look at the original data again, do these results seem reasonable? \n", "\n", "Notice also that the posterior distributions for the $\\lambda$s do not look like exponential distributions, even though our priors for these variables were exponential. In fact, the posterior distributions are not really of any form that we recognize from the original model. But that's OK! This is one of the benefits of taking a computational point of view. If we had instead done this analysis using mathematical approaches, we would have been stuck with an analytically intractable (and messy) distribution. Our use of a computational approach makes us indifferent to mathematical tractability.\n", "\n", "Our analysis also returned a distribution for $\\tau$. Its posterior distribution looks a little different from the other two because it is a discrete random variable, so it doesn't assign probabilities to intervals. We can see that near day 45, there was a 50% chance that the user's behaviour changed. Had no change occurred, or had the change been gradual over time, the posterior distribution of $\\tau$ would have been more spread out, reflecting that many days were plausible candidates for $\\tau$. By contrast, in the actual results we see that only three or four days make any sense as potential transition points. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###Why would I want samples from the posterior, anyways?\n", "\n", "\n", "We will deal with this question for the remainder of the book, and it is an understatement to say that it will lead us to some amazing results. For now, let's end this chapter with one more example.\n", "\n", "We'll use the posterior samples to answer the following question: what is the expected number of texts at day $t, \\; 0 \\le t \\le 70$ ? Recall that the expected value of a Poisson variable is equal to its parameter $\\lambda$. Therefore, the question is equivalent to *what is the expected value of $\\lambda$ at time $t$*?\n", "\n", "In the code below, let $i$ index samples from the posterior distributions. Given a day $t$, we average over all possible $\\lambda_i$ for that day $t$, using $\\lambda_i = \\lambda_{1,i}$ if $t \\lt \\tau_i$ (that is, if the behaviour change has not yet occurred), else we use $\\lambda_i = \\lambda_{2,i}$. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "figsize(12.5, 5)\n", "# tau_samples, lambda_1_samples, lambda_2_samples contain\n", "# N samples from the corresponding posterior distribution\n", "N = tau_samples.shape[0]\n", "expected_texts_per_day = np.zeros(n_count_data)\n", "for day in range(0, n_count_data):\n", " # ix is a bool index of all tau samples corresponding to\n", " # the switchpoint occurring prior to value of 'day'\n", " ix = day < tau_samples\n", " # Each posterior sample corresponds to a value for tau.\n", " # for each day, that value of tau indicates whether we're \"before\"\n", " # (in the lambda1 \"regime\") or\n", " # \"after\" (in the lambda2 \"regime\") the switchpoint.\n", " # by taking the posterior sample of lambda1/2 accordingly, we can average\n", " # over all samples to get an expected value for lambda on that day.\n", " # As explained, the \"message count\" random variable is Poisson distributed,\n", " # and therefore lambda (the poisson parameter) is the expected value of\n", " # \"message count\".\n", " expected_texts_per_day[day] = (lambda_1_samples[ix].sum()\n", " + lambda_2_samples[~ix].sum()) / N\n", "\n", "\n", "plt.plot(range(n_count_data), expected_texts_per_day, lw=4, color=\"#E24A33\",\n", " label=\"expected number of text-messages received\")\n", "plt.xlim(0, n_count_data)\n", "plt.xlabel(\"Day\")\n", "plt.ylabel(\"Expected # text-messages\")\n", "plt.title(\"Expected number of text-messages received\")\n", "plt.ylim(0, 60)\n", "plt.bar(np.arange(len(count_data)), count_data, color=\"#348ABD\", alpha=0.65,\n", " label=\"observed texts per day\")\n", "\n", "plt.legend(loc=\"upper left\");" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our analysis shows strong support for believing the user's behavior did change ($\\lambda_1$ would have been close in value to $\\lambda_2$ had this not been true), and that the change was sudden rather than gradual (as demonstrated by $\\tau$'s strongly peaked posterior distribution). We can speculate what might have caused this: a cheaper text-message rate, a recent weather-to-text subscription, or perhaps a new relationship. (In fact, the 45th day corresponds to Christmas, and I moved away to Toronto the next month, leaving a girlfriend behind.)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Exercises\n", "\n", "1\\. Using `lambda_1_samples` and `lambda_2_samples`, what is the mean of the posterior distributions of $\\lambda_1$ and $\\lambda_2$?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# type your code here." ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2\\. What is the expected percentage increase in text-message rates? `hint:` compute the mean of `lambda_1_samples/lambda_2_samples`. Note that this quantity is very different from `lambda_1_samples.mean()/lambda_2_samples.mean()`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# type your code here." ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3\\. What is the mean of $\\lambda_1$ **given** that we know $\\tau$ is less than 45. That is, suppose we have been given new information that the change in behaviour occurred prior to day 45. What is the expected value of $\\lambda_1$ now? (You do not need to redo the PyMC part. Just consider all instances where `tau_samples < 45`.)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# type your code here." ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### References\n", "\n", "\n", "- [1] Gelman, Andrew. N.p.. Web. 22 Jan 2013. [N is never large enough](http://andrewgelman.com/2005/07/31/n_is_never_larg/).\n", "- [2] Norvig, Peter. 2009. [The Unreasonable Effectiveness of Data](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/35179.pdf).\n", "- [3] Patil, A., D. Huard and C.J. Fonnesbeck. 2010. \n", "PyMC: Bayesian Stochastic Modelling in Python. Journal of Statistical \n", "Software, 35(4), pp. 1-81. \n", "- [4] Jimmy Lin and Alek Kolcz. Large-Scale Machine Learning at Twitter. Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data (SIGMOD 2012), pages 793-804, May 2012, Scottsdale, Arizona.\n", "- [5] Cronin, Beau. \"Why Probabilistic Programming Matters.\" 24 Mar 2013. Google, Online Posting to Google . Web. 24 Mar. 2013. ." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.core.display import HTML\n", "\n", "\n", "def css_styling():\n", " styles = open(\"../styles/custom.css\", \"r\").read()\n", " return HTML(styles)\n", "css_styling()" ], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }