シミュレーションで得られたグラフがベータ分布に似ているからベータ分布で近似することにしてGeminiに教わった。必要ない質問と回答は省き、質問の順番を入れ替えて記録しておく。

ある度数分布のグラフf(x),x=0~1があります。このグラフの平均値と分散値の求め方を教えてください。
区間 $[0, 1]$ で定義された離散的な度数分布(またはヒストグラムなど)のグラフ $f(x)$ について、平均値と分散値の求め方を解説します。
$x$ が取り得る値が離散的(飛び飛びの値)である場合と、連続的な確率密度関数とみなす場合で少し表記が変わりますが、基本的な考え方は同じです。ここでは一般的によく使われる「階級値(または観測点)と度数」が与えられている場合の求め方を説明します。
1. 基本的なデータ構造の仮定
- $x_i$:各階級の代表値(横軸の値。$0 \le x_i \le 1$)
- $f_i$ または $f(x_i)$:各 $x_i$ における度数(または相対度数、確率)
- 総度数 $N = \sum f_i$ (※もし $f(x)$ がすでに総和が $1$ になるように正規化された確率質量関数や相対度数の場合は $N = 1$ として扱えます)
2. 平均値(期待値)の求め方
平均値 $\mu$ は、「値 × 重み(度数)」の総和を「重みの総和」で割ることで求められます。
$$\mu = \frac{\sum_{i} x_i f(x_i)}{\sum_{i} f(x_i)}$$
- ※$f(x)$ がすでに相対度数(総和が $1$)に変換されている場合は、分母は $1$ になるため $\mu = \sum x_i f(x_i)$ となります。
3. 分散の求め方
分散 $\sigma^2$ は、「(値 - 平均)の2乗 × 重み」の総和を重みの総和で割ったものです(「2乗の平均 - 平均の2乗」でも計算できます)。
計算方法 A:定義通り(平均からの偏差の2乗平均)
$$\sigma^2 = \frac{\sum_{i} (x_i - \mu)^2 f(x_i)}{\sum_{i} f(x_i)}$$
計算方法 B:計算が楽な公式(2乗の平均 - 平均の2乗)
$$\sigma^2 = \frac{\sum_{i} x_i^2 f(x_i)}{\sum_{i} f(x_i)} - \mu^2$$
まとめ(計算の手順)
- 各点 $x_i$ とその度数 $f(x_i)$ の積 $x_i f(x_i)$ を足し合わせて、総度数で割り平均値 $\mu$ を求めます。
- 各点について $x_i^2 f(x_i)$ を足し合わせて総度数で割り、「2乗の平均」を求めます。
- 「2乗の平均」から「平均の2乗 ($\mu^2$)」を引くことで分散 $\sigma^2$ を求めます。

ベータ分布の区間は0~1ですが、それを横軸で縮めてa~bの区間に分布しているグラフがあります。この縮まったグラフの平均値と分散値から標準ベータ分布の平均値と分散値を求める方法を教えて。
ベータ分布の変域を標準の $[0, 1]$ から任意の区間 $[a, b]$ に線形変換(拡大・縮小と平行移動)したときの、平均と分散の関係について解説します。
$X$ を標準ベータ分布に従う確率変数(変域 $[0, 1]$)とし、それを $[a, b]$ に拡張した確率変数を $Y$ とします。
1. 確率変数の変換関係
$X$ から $Y$ への変換は次のように表されます。
$$Y = (b - a)X + a$$
このとき、標準ベータ分布($X$)の平均を $\mu_X$、分散を $\sigma_X^2$ とし、変換後の分布($Y$)の平均を $\mu_Y$、分散を $\sigma_Y^2$ とします。
2. 平均値の関係と逆算方法
平均値の性質(期待値の線形性)により、平均は次のように変換されます。
$$\mu_Y = (b - a)\mu_X + a$$
したがって、$Y$ の平均値 $\mu_Y$ から標準ベータ分布の平均値 $\mu_X$ を求める公式は次のようになります。
$$\mu_X = \frac{\mu_Y - a}{b - a}$$
3. 分散値の関係と逆算方法
分散の性質(定数の加算は分散に影響せず、定数倍の二乗が外に出る)により、分散は次のように変換されます。
$$\sigma_Y^2 = (b - a)^2 \sigma_X^2$$
したがって、$Y$ の分散値 $\sigma_Y^2$ から標準ベータ分布の分散値 $\sigma_X^2$ を求める公式は次のようになります。
$$\sigma_X^2 = \frac{\sigma_Y^2}{(b - a)^2}$$
また、標準偏差で考えると以下のようになります。
$$\sigma_X = \frac{\sigma_Y}{b - a}$$
まとめ
区間 $[a, b]$ に縮められた(あるいは引き伸ばされた)分布の平均 $\mu_Y$ と分散 $\sigma_Y^2$ が分かっている場合、標準ベータ分布(区間 $[0, 1]$)の平均 $\mu_X$ と分散 $\sigma_X^2$ は以下の計算で求められます。
- 標準ベータ分布の平均 ($\mu_X$):$$\mu_X = \frac{\mu_Y - a}{b - a}$$
- 標準ベータ分布の分散 ($\sigma_X^2$):$$\sigma_X^2 = \frac{\sigma_Y^2}{(b - a)^2}$$

ベータ分布の平均値と分散値からB(α,β)のαとβを求める式を教えてください。
ベータ分布の平均値 $\mu$ と分散値 $\sigma^2$ から、形状母数 $\alpha$ と $\beta$ を求める公式は次のとおりです。
1. 求める公式
平均 $\mu$ と分散 $\sigma^2$ を用いて、$\alpha$ と $\beta$ はそれぞれ次のように表されます。
- $\alpha$ の計算式:$$\alpha = \mu \left( \frac{\mu(1 - \mu)}{\sigma^2} - 1 \right)$$
- $\beta$ 的な計算式:$$\beta = (1 - \mu) \left( \frac{\mu(1 - \mu)}{\sigma^2} - 1 \right)$$
2. 導出の仕組み
標準ベータ分布の平均 $\mu$ と分散 $\sigma^2$ は、母数 $\alpha, \beta$ を用いて次のように定義されます。
- 平均 ($\mu$):$$\mu = \frac{\alpha}{\alpha + \beta}$$
- 分散 ($\sigma^2$):$$\sigma^2 = \frac{\alpha \beta}{(\alpha + \beta)^2 (\alpha + \beta + 1)}$$
この2つの連立方程式を $\alpha$ と $\beta$ について解くことで、上記の逆算公式が得られます。

ExcelではCDFを求める関数しかないので、次のようにPDFを求めるようにアドバイスされたのですが、正しいですか?
区間 \([a,b]\) にスケールされたベータ分布の PDF は
$f(x)=\frac{(x-a)^{\alpha-1}(b-x)^{\beta-1}}{(b-a)^{\alpha+\beta-1}B(\alpha,\beta)}$
はい、そのアドバイスは完全に正しいです。
区間 $[a, b]$ にスケール(拡大・縮小)されたベータ分布の確率密度関数(PDF)の式として、ご提示いただいた以下の式は数学的に正確です。
$$f(x)=\frac{(x-a)^{\alpha-1}(b-x)^{\beta-1}}{(b-a)^{\alpha+\beta-1}B(\alpha,\beta)}$$
なぜこの式になるのか(確認)
標準ベータ分布(区間 $[0, 1]$)の確率密度関数を $g(t)$ とすると、
$$g(t) = \frac{t^{\alpha-1}(1-t)^{\beta-1}}{B(\alpha,\beta)} \quad (0 \le t \le 1)$$
これを任意の区間 $[a, b]$ に引き伸ばす変数は $x = (b-a)t + a$ (逆変換は $t = \frac{x-a}{b-a}$)となります。
確率変数の変換における微分(ヤコビアン)は $\frac{dt}{dx} = \frac{1}{b-a}$ となるため、密度関数 $f(x)$ は $g(t)$ に $\frac{1}{b-a}$ を掛けたものになります。
これを整理すると、ご提示いただいた式(分母に $(b-a)^{\alpha+\beta-1}$ がかかる形)にきれいに一致します。

BETA.DISTが使えないのです。
BETA.DISTが使えない古いバージョンのExcel(または古い関数であるBETADISTを使う環境)では、おっしゃる通り直接PDFを出す機能がないため、工夫が必要です。ベータ関数 $B(\alpha, \beta)$ をExcelで直接計算したい場合は、以下の数式でスッキリ表すことができます:
$$B(\alpha, \beta) = \frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)}$$
2. $B(\alpha, \beta)$ の正しい計算方法
Excelでベータ関数 $B(\alpha, \beta)$ を正確に計算するには、ガンマ関数の対数(
GAMMALN)を使って次のように記述する必要があります。
EXP(GAMMALN(α) + GAMMALN(β) - GAMMALN(α + β))

$$f(x)=\frac{(x-a)^{\alpha-1}(b-x)^{\beta-1}}{(b-a)^{\alpha+\beta-1}B(\alpha,\beta)}$$を求めるのに、途中でlnを入れて計算する方法を他の所で教わったのですが、どういうことだと思いますか?
それは非常に実践的で、コンピュータやExcelで計算する際の「桁あふれ(アンダーフロー・オーバーフロー)」を防ぐためのプロのテクニックです。
なぜグラフを描くためにわざわざ $\ln$(自然対数)を経由するのか、その論理的な理由を解説します。
1. そのまま計算することの「危険性」
Excelなどのコンピュータは、極端に大きな数や、極端に小さな数($0.0000\dots 01$ のような数)を扱うのが非常に苦手です。一定の限界を超えると、強制的に $0$ として扱ってしまったり(アンダーフロー)、計算エラーを起こしたりします。
ベータ分布の式を再確認してみます。
$$f(x)=\frac{(x-a)^{\alpha-1}(b-x)^{\beta-1}}{(b-a)^{\alpha+\beta-1}B(\alpha,\beta)}$$
もし $\alpha$ や $\beta$ が大きな値になった場合(あるいは $x$ が $a$ や $b$ に極端に近い場合)、分子の $(x-a)^{\alpha-1}$ などは天文学的に小さな数字になり、Excelは計算の途中でこれを「$0$」と見なしてしまいます。同様に、分母の $B(\alpha,\beta)$ も極端に小さな値になります。
結果として「極小の数 $\div$ 極小の数」という処理が発生し、正しい高さが計算できずグラフの形が崩壊してしまいます。
2. $\ln$ を使って計算を安全にする魔法
そこで、「掛け算・割り算・累乗」を「足し算・引き算・掛け算」に変換できる対数 $\ln$ の性質を使います。数式全体を一度 $\ln$ の世界に持ち込むと、次のように分解できます。
$$\ln f(x) = (\alpha-1)\ln(x-a) + (\beta-1)\ln(b-x) \\ \hspace{40pt} - (\alpha+\beta-1)\ln(b-a) - \ln B(\alpha,\beta)$$
さらに、先ほど修正で使ったように、ベータ関数の対数 $\ln B(\alpha,\beta)$ はガンマ関数の対数(Excelの
GAMMALN)を使って足し算・引き算で表せます。$$\ln B(\alpha,\beta) = \ln \Gamma(\alpha) + \ln \Gamma(\beta) - \ln \Gamma(\alpha+\beta)$$
これを組み合わせると、計算中の値はせいぜい数十から数百程度の「安全な数値の足し算・引き算」だけになり、Excelが途中で $0$ に丸めてしまう事故が絶対に起きなくなります。
3. 最後に元に戻す($\exp$)
$\ln f(x)$ の世界で安全に計算を終えたら、最後に指数関数(Excelでは
EXP関数)を使って本来の $f(x)$ の値に戻します。$$f(x) = \exp(\ln f(x))$$
まとめ:教わった方法の意味
つまり、他の所で教わった「途中で $\ln$ を入れて計算する方法」というのは、次のようなプロセスを指しています。
- 全体を対数化する(途中の計算で桁あふれが起きないようにする)
- 足し算・引き算だけで $\ln f(x)$ を安全に計算する
- 最後に $f(x) = \exp(\dots)$ で元の確率密度の値に戻す
前回、私が分母の $B(\alpha, \beta)$ を直すために
EXP(GAMMALN(α) + GAMMALN(β) - ...)という数式をご提案しましたが、あれは「分母だけ」に対数のテクニックを使ったものでした。教わった方法は、それを「関数全体」に対して適用した、より完璧でエラーに強い計算方法と言えます。非常に論理的で正しいアプローチです!




コメント