「ブロードキャスト」とは、NumPyの配列の算術演算の時に、shapeの異なる配列を扱う上での作法です。これを知っておくことによって、shapeの異なる配列同士の演算が非常に楽になりますし、ほとんどの場合、処理の面でも高速になります。 ここでは、このブロードキャストについて詳しく解説していきます。 …
NumPy
Numpyのrandomモジュール – 乱数生成のまとめ
NumPyのrandomモジュールは、様々な確率分布から擬似乱数を生成するために用意されています。 ここでは、このrandomモジュールの使い方を解説します。すぐに乱数を生成したい場合は、「1. randomモジュールの使い方」と「2. randomモジュールのメソッド一覧」 だけ確認してください。実務上はこれだけ確認しておけば十分です。 なお、Numpyのversion1.17を境に、randomモジュールの乱数生成方法は変更となっています。従来の方法も引き続き使用可能ですが、処理速度や性能が大きく異なるため、今後は、「1. …
Generator.zipf – ジップ分布から乱数配列を作成する方法
Generator.zipfは、ジップ分布(ジフ分布)から乱数配列を生成するジェネレータメソッドです。 ジップ分布は、ゼータ分布としても知られる連続確率分布であり、ジップの法則(出現頻度が k 番目に大きい要素が全体に占める割合は1/kに比例するという経験則)を満たす分布です。 このページではジップ分布から乱数配列を生成するGenerator.zipfについて解説します。 …
Generator.weibull – ワイブル分布から乱数配列を作成する方法
Generator.weibullは、ワイブル分布から乱数配列を生成するジェネレータメソッドです。 ワイブル分布は、一般化極値分布の一つで、極値問題のモデリングに使われます。具体的には、時間に対する劣化現象や寿命を統計的に記述するためによく使われます。 なお、一般化極値分布には、他にガンベル分布やフレシェ分布(逆ワイブル分布)があります。 Generator.gumbel - ガンベル分布から乱数配列を生成 このページではワイブル分布から乱数配列を生成するGenerator.weibullについて解説します。 …
Generator.wald – ワルド分布から乱数配列を作成する方法
Generator.waldは、ワルド分布(逆ガウス分布)から乱数配列を生成するジェネレータメソッドです。 ワルド分布は逆ガウス分布としても知られており、広がり(scale)が無限に近づくほど、ガウス分布に近づいていきます。ただし、いくつかの文献では、ワルド分布は平均値1の逆ガウス分布だとされていますが、これは普遍的な法則ではありません。 逆ガウス分布は、ブラウン運動との関係で研究された分布です。逆ガウス分布という名前がついているのは、一定距離にかかる時間と、時間当たりの距離には、逆相関関係があるからです。 ワルド分布(逆ガウス分布)は、ワイブル分布と並んで、株式収益率や利子率 …
Generator.vonmises – フォン・ミーゼス分布から乱数配列を作成する方法
Generator.vonmisesは、フォン・ミーゼス分布から乱数配列を生成するジェネレータメソッドです。 フォン・ミーゼス分布(円周正規分布としても知られる)は、円周上の連続確率分布です。正規分布が円周状になったものとして考えられます。 このページではフォン・ミーゼス分布から乱数配列を生成するGenerator.vonmisesについて解説します。 …
Generator.triangular – 三角分布から乱数配列を作成する方法
Generator.triangularは、三角分布から乱数配列を生成するジェネレータメソッドです。 三角分布は、左側が下限値、真ん中に最頻値、右側に上限値を持つ連続確率分布です。他の分布と違って、これらのパラメータが直接的に確率密度関数の形状を決定します。 三角分布は、分布がはっきりしないが、下限値・上限値・最頻値といった限定的な知識はわかっているというような問題に対してよく使われます。 このページでは三角分布から乱数配列を生成するGenerator.triangularについて解説します。 …
Generator.standard_t – t分布から乱数配列を作成する方法
Generator.standard_tは、標準t分布(スチューデントのt分布)から乱数配列を生成するジェネレータメソッドです。 t分布は、双曲線分布の特別なケースです。自由度が大きくなるほど、標準正規分布に近づいていきます。標準正規分布については以下のページで解説しています。 t検定は、データが正規分布のものであるという仮定に基づいており、標本の平均が実際の平均に対する精度の高い予測となっているかを検証することができます。 Generator.standard_normal - …
Generator.standard_gamma – 標準ガンマ分布から乱数配列を作成する方法
Generator.standard_gammaは、標準ガンマ分布から乱数配列を生成するジェネレータメソッドです。 標準ガンマ分布とは、scale(広がり)が1のガンマ分布のことです。 ガンマ分布とは、簡単に言うと、ある一定の期間に1回起こるランダムな事象がn回起こるまでの時間の分布を示したものです。たとえば、電子部品の寿命の分布や、通信の待ち時間の分布などに使われます。 このページでは、このGenerator.standard_gammaメソッドについて解説します。 なお任意のscaleのガンマ分布からの乱数を取得するには、Generator.gammaメソッドを使いま …
Generator.standard_exponential – 標準指数分布の乱数配列を作成する方法
Generator.standard_exponentialは、NumPyのrandomモジュールのジェネレータメソッドで、標準指数分布から乱数配列を精製します。 標準指数分布は、scale(尺度母数)が1の指数分布です。 指数分布は、幾何分布の連続確率であり、さまざまな状況に使われます。たとえば、多数の暴風雨から雨粒の大きさを推定したり、多数のデータからページリクエストにかかる時間を推定したりなどです。言い方を変えると、あるランダムな事象が連続して起きる時間間隔を表しています ここでは、この指数分布の乱数配列を生成するGenerator.standard_exponentia …