このツールでできること
このジェネレーターは、指定した自由度(v)のスチューデントのt分布に従う擬似乱数のリストを生成します。t分布は左右対称の釣鐘型の分布で、標準正規分布よりも裾が重い(外れ値が出やすい)のが特徴です。母分散が未知の正規母集団から小標本で平均を推定する場面で自然に現れ、t検定や信頼区間の理論的な土台となっています。自由度vが大きくなるにつれて、t分布は標準正規分布\(\mathcal{N}(0,1)\)に収束します。本ツールは純粋に数学的なもので、地域や国による前提条件はありません。
使い方
自由度v(0より大きい任意の実数。初期値は2)と、生成したい乱数の個数(1〜1000の整数。初期値は10)を入力します。計算ボタンを押すと、t分布に従う新しい乱数のリストが返されます。内部で使われる一様乱数はランダムなため、実行するたびに異なる値が得られますが、いずれも同じt分布に従っています。
計算式の解説
確率密度関数は \(f(x,v) = (1 + x^{2}/v)^{-(v+1)/2}\) を、\(\sqrt{v}\) と \(B(1/2,\, v/2)\) の積で割ったものです(Bはベータ関数)。効率的にサンプリングするため、古典的な表現を用います。すなわち、標準正規分布から Z を、自由度vのカイ二乗分布から C を引き、 $$T = Z \cdot \sqrt{\dfrac{v}{C}}$$ とすると、これがちょうどt分布に従います。内部的には Z をボックス=ミュラー変換から、C をガンマ分布 \(\text{Gamma}(v/2,\, 2)\) のサンプラー(Marsaglia-Tsang法)から生成しており、0より大きい任意の実数vで有効です。
計算例
\(v = 2\) の場合、ある回の試行で \(Z = 0.50\)、カイ二乗の値 \(C = 1.20\) が得られたとします。このとき $$T = 0.50 \cdot \sqrt{\dfrac{2}{1.20}} = 0.50 \cdot 1.29099 = 0.6455$$ となります。2組目の \(Z = -1.10\)、\(C = 3.00\) では \(T = -0.8982\)、3組目の \(Z = 0.20\)、\(C = 0.40\) では \(T = 0.4472\) です。これら3つの値が、個数 = 3 としたときの標本の例です。
よくある質問
なぜ極端に大きな値が出ることがあるのですか? \(v \le 1\) では平均が定義されず、\(v \le 2\) では分散が無限大になるため、絶対値の大きな値が出るのは想定内であり、エラーではありません。
なぜ実行のたびに結果が変わるのですか? 各乱数の生成に新しい一様乱数を使うため、リストは毎回変わりますが、いずれもt分布に従っています。
vが非常に大きい場合はどうなりますか? 分布は標準正規分布\(\mathcal{N}(0,1)\)とほぼ同じ振る舞いをします。