【Python NumPy random randn normal】ベクトル・行列の生成・初期化方法(8):正規分布にしたがった乱数の生成・初期化方法(random randn normal)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

NumPy は、Python でデータ分析や統計解析を行う時、

生データを分析しやすい形に整理するデータ加工

などを行う時、

行列演算などスムーズに行う時

などに活躍するライブラリです。

ディープラーニングなどの人工知能や機械学習、

時系列分析などでも頻繁に使われます。

NumPy を使いこなすことで、

Python よりもサクッと実装でき、プログラミングが加速させることができます。

データ分析や統計モデリングなどでは、確率分布を扱う機会が多くあります。

NumPyでは、確率分布にしたがった乱数を生成する機能があります。

なんらかの確率分布にしたがったデータを生成することで、

現実を確率論の世界にモデル化して、シミュレーションすることも可能です。

とはいっても、

  • 確率分布にしたがった乱数ってなに?

といった方も多いかと思います。

確率分布にしたがった乱数とは?については、

以下の記事でサクッとわかりやすく、解説しています↓

【Python 数学】確率分布にしたがった乱数とは?について、サクッとわかりやすくまとめました【Python 入門】

 

本記事では、

  • Python NumPy を使った、確率分布にしたがった乱数の生成方法

について、初学者の方にもわかりやすいように、サクッと、わかりやすく、まとめたいと思います。

 

【Python NumPy random randn normal】ベクトル・行列の生成・初期化方法(8):正規分布にしたがった乱数の生成・初期化方法(random randn normal)について、サンプルコードとともに、サクッとわかりやすくまとめました【Python 入門】

確率分布といっても、様々なものがあります。

にしたがった乱数を生成する

例えば、以下のものがあります。

  • 正規分布
  • 二項分布
  • ベータ分布
  • ガンマ分布
  • ポアソン分布
  • カイ2乗分布

他にもいろいろありますが、

これらの確率分布は、統計解析やデータ分析などでよく使われるものになります。

 

ここでは、1番よく使われる基本の確率分布である

  • 「正規分布(ベルカーブ)」にしたがった乱数の生成方法

についてご紹介します。

 

といっても、正規分布について馴染みが薄い方も多いかと思います。

 

そこで本記事では、

  • 正規分布ってなに?
  • 正規分布には、どんな例があるの?
  • Python NumPy で、正規分布にしたがった乱数の精製方法とは?

といった内容で、初学者の方にも、わかりやすく、サクッと学べるようにまとめます。

正規分布とは?

正規分布は、英語でノーマル・ディストリビューションなんですが、

  • ノーマルを日本語にして正規
  • ディストリビューションが分布

になります。

ノーマルは、普通の意味もあるように、

  • 正規分布は、身の周りによくある分布

です。

 

図で描くと、以下の感じになります。

normal distribution picture

ヨコ軸の値が出る確率がタテ軸に書かれています。

具体的には、例えば、

  • 0という値が出る確率は 0,4 くらい
  • 2 という値が出る確率は0.1 くらい

といったことがわかります。

このグラフの特徴は、平均を中心(この例では平均0)にして、

左右対称の釣鐘の曲線です。

釣鐘の形なので、ベルカーブとも呼ばれます。

 

数式で表すと、以下のように描かれます。

normal distribution fomula

ある値xを考えた時に、

その値が正規分布にしたがって出る確率が

f(x)になります。

図では、ヨコ軸がx、タテ軸 f(x) になります。

f(x)は、xが出る確率を表現しているわけです。

f(x)を正規分布の「確率密度関数」とも言います。

 

文字がたくさんあるので、わかりにくいかもしれません。

少し解説すると、この式は、2つの式のかけ算になっています。

  • 分数×指数関数

の形をしています。

分数部分は

normal distribution fomula fraction

分母にルートがあり、中身は

2×パイ(円周率)×(xの標準偏差の2畳)

となっています。

 

指数部分は

normal distribution fomula exponential

exp(  ) は、ネイピア数の指数関数(ex)と同じものです。

ネイピア数はだいたい2.7くらいの値の無理数です。

exの x の部分が複雑な時は、書きにくいので、

exp( )として書く書き方が使われます。

 

正規分布の式の指数部分では、

(  ) の中が分数になっていて、

  • 分母には 2×(xの標準偏差の2乗)
  • 分子には、xとxの平均値(μ)の差の2乗

があり、マイナスがついています。

この分数を指数関数 exp( ) に与えています。

 

正規分布の確率密度関数を計算するには、

xとxの平均と標準偏差を求めておき、

上の式に代入して計算すればオッケーです。

 

この辺は統計学で詳しく学べますので、

興味がある方は統計学の教科書などを参照してみてください。

 

正規分布の具体例とは?どんな時に使うの?

 

 

この先は会員限定になります。

会員の方はログインをお願いいたします。

登録がまだの方は、会員登録をお願いします。

>>> 会員登録はこちら

 

 

↓こちら無料で読めます

(Kindle Unlimited にご登録ください)

You need to be logged in to view the rest of the content. お願い . あなたは会員ですか ? 会員について
error: Content is protected !!
タイトルとURLをコピーしました