分123今回は,前回導入したNumpy,そしてグラフを描画するmatplotlibを使って,いくつかの代表的な分布を紹介していきます。第5回「「よく使う分布」はどうしてよく使う?」の項でも代表的な分布が紹介されていました。そこでは,“⁠この状況(モデル)では,この分布を使う⁠”というパターンを想定する,それが“⁠よく使う分布⁠”がいくつも存在する理由と言及されていましたが,どのような状況でどのような分布を使えばいいのでしょうか?実際,どのような状況のときに,どのような分布を使うと説明しやすいかを考えながら,みていきましょう。matplotlibのインストールmatplotlibはpythonとNumpyのための高機能なグラフ描画ライブラリです。今後もグラフを描画することがあるかと思いますので,ここでインストールしておきましょう。公式サイトのダウンロードから各OS向けのパッケージを入手してインストールしてください。ソースコードからインストールする場合は,以下の手順でインストールすることができます。install確率分布とは「成人男性の身長は正規分布に従う」や「空いている高速道路の料金所を1分間に通過する自動車の台数はポワソン分布に従う」などの表現を統計の本などで見たことのある人もいるでしょう。そもそも,ここで利用している分布とはどういったものでしょうか。例として成人男性の身長について考えてみましょう。健康診断などで計った身長のデータを集めて,以下のようなグラフにしてみます。身長のヒストグラムこのような表を度数分布表(ヒストグラム)といいます。このヒストグラムの形に合わせて曲線をひいていくと,山のような形になりますね。分布とはこのような曲線の形状を関数で表現し,数学的に利用するための道具になります。この“⁠曲線の形状⁠”を正規化したものが,第4回で紹介されている確率密度関数になります。ここで例として使った「成人男性の身長」の分布ですが非常に多くの人数の身長を測定すると,理論編で説明のあった“⁠正規分布⁠”になるといわれています。これは裏を返せば,その平均と標準偏差を持つ正規分布に従うデータを用意することができるなら,身長の疑似データが作れるということですね。そこで今回は,Numpyのrandom.normal()関数を利用して乱数を生成し,身長の疑似データとしてヒストグラムを生成してみました。この関数は第一引数に平均を,第二引数に標準偏差を与えることで,それにしたがった乱数を生成することができます。生成した乱数を利用してヒストグラムを描画するコードは次のようになります。冒頭でも紹介しましたが,分布にはたくさんの種類があります。2種類に分類することができます。離散型確率分布には二項分布,ポアソン分布,ベルヌーイ分布,多項分布などが,連続型確率分布にはガンマ分布,ベータ分布,t分布,F分布,ディリクレ分布などが含まれています。離散型確率分布と連続型確率分布の違いについては既に説明しているので詳細な説明は省略しますが,分布の説明をするためにもここで簡単に復習しましょう。離散した数値から成るデータでは,それぞれの数値についての確率を計算することができます。サイコロで6の目の出る回数や,ある特定の期間に機械が故障する回数,車の台数などですね。このようにデータが離散しているときには,データは特定の値しか取ることはありません。身長や時間などのいくらでも細かく測れるようなデータは特定の値を取ることは実際には0に近いですよね。ガンマ分布,ベータ分布,t分布,F分布,ディリクレ分布,指数分布,カイ二乗分布,...ここで列挙したものは代表的な分布で,実際にはここでは紹介しきれないくらいに様々な分布があります。それぞれの分布について説明すると,それだけで本が1冊書けるくらいの分量になってしまいます。そこで今回は,離散型確率分布の中から3つの分布を紹介します。著者プロフィール恩田伊織(おんだいおり)1979年生まれの埼玉県出身。数学と関数型言語,SFとボードゲーム好きなプログラマー。好きな言語はRubyとLISP。現在は航空管制の基盤開発に従事している。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。