スプレッドシートのBETA.DIST関数の使い方|ベータ分布

スポンサーリンク

「過去10回中7回成功したけど、本当の成功率ってどのくらいなんだろう?」。こんな疑問を持ったことはありませんか?

単純に7割と答えるのは簡単です。でもサンプル数が少ないと、本当の確率がどの範囲にあるかは自信を持てませんよね。

そんなときに使うのがBETA.DIST関数です。この記事では基本構文から実務活用まで解説します。TRUE/FALSEの違いや、BETADIST関数との関係もあわせて紹介しますよ。

スプレッドシートのBETA.DIST関数とは

BETA.DIST関数(読み方: ベータ・ディスト関数)は、ベータ分布にもとづいて確率を返す関数です。ベータ分布とは、0から1の範囲(割合や確率)をモデル化する確率分布です。

「BETA」はギリシャ文字のベータに由来する数学用語です。「DIST」は「Distribution(分布)」の略です。

たとえば「成功8回・失敗2回のデータから、真の成功率が70%以下である確率」を1つの数式で求められます。

BETA.DIST関数にできることをまとめると、次のとおりです。

  • ある値以下となる確率を求める(累積分布)
  • 特定の値での確率密度を求める
  • 割合や確率(コンバージョン率、合格率など)の不確実性を評価する
  • カスタム範囲(0〜1以外)のベータ分布も計算する

NOTE

BETA.DIST関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。

ベータ分布が使える場面とは

ベータ分布は、次のような場面で使えます。

  1. 割合・確率のモデリング: コンバージョン率、合格率、不良品率など
  2. ベイズ推定の事前分布: 「成功n回・失敗m回」から真の確率を推定する
  3. プロジェクト管理: PERT法(楽観・悲観・最頻の3点見積もり)での工数推定

ベータ分布の大きな特徴は、値が0〜1の範囲に収まることです。そのため「割合」や「確率」を扱うのにぴったりの分布です。alphaとbetaの値によって、左寄り・右寄り・釣鐘型など自由に形が変わります。

TIP

alpha=1、beta=1のとき、ベータ分布は一様分布(どの値も同じ確率)と一致します。「事前情報がまったくない状態」を表すベースラインとして使えますよ。

基本構文と6つの引数

=BETA.DIST(x, alpha, beta, 累積, [A], [B])

カッコの中に4〜6つの引数を指定します。

引数必須/任意説明
x必須評価する値(AからBの範囲内の数値)
alpha(アルファ)必須形状パラメータ1(正の数値)
beta(ベータ)必須形状パラメータ2(正の数値)
累積(cumulative)必須TRUEで累積分布、FALSEで確率密度
A任意下限(省略時は0)
B任意上限(省略時は1)

alphaは分布の左側の形を決めるパラメータです。「成功回数+1」と解釈できます。betaは分布の右側の形を決めるパラメータです。「失敗回数+1」と解釈できます。

AとBを指定すると、0〜1以外の範囲でベータ分布を計算できます。たとえば工数見積もりで「最短3日〜最長15日」の範囲を設定する場合に使います。

WARNING

alphaとbetaはどちらも正の数です。0以下を指定すると#NUM!エラーになります。xはA以上B以下で指定してください。範囲外だと#NUM!エラーです。

BETADIST関数(互換関数)との関係

GoogleスプレッドシートにはBETADISTという関数もあります。これはBETA.DISTの旧バージョンです。計算結果はまったく同じです。

=BETADIST(0.7, 8, 3, 0, 1)        --- 旧関数名(動作は同じ)
=BETA.DIST(0.7, 8, 3, TRUE, 0, 1) --- 新関数名(推奨)

ただし引数の構成が少し異なります。BETADISTは4番目の引数がAとBの下限・上限で、累積/密度の切り替えがありません(常に累積分布を返します)。新しく数式を書くときはBETA.DISTを使いましょう。既存のシートでBETADIST関数が使われていても、そのまま動作します。急いで書き換える必要はありません。

BETA.DIST関数のTRUE/FALSEの違い

BETA.DIST関数の4番目の引数「累積」は、TRUEかFALSEで結果がまったく変わります。この違いを押さえることが使いこなすポイントです。

FALSE(確率密度関数)――ある値での密度

FALSEを指定すると確率密度関数(PDF)の値を返します。「値xでの確率の密度」を表す値です。

=BETA.DIST(0.5, 8, 3, FALSE)

alpha=8、beta=3のベータ分布で、x=0.5での確率密度を返します。結果は約0.7031です。

数学的には、次の式で計算されています。

f(x) = x^(alpha-1) * (1-x)^(beta-1) / B(alpha, beta)

ここでB(alpha, beta)はベータ関数です。確率密度は1を超える値になることもあります。連続分布なので、確率はTRUEで求めるのが一般的です。

TRUE(累積分布関数)――x以下となる確率

TRUEを指定すると累積分布関数(CDF)の値を返します。「値がx以下となる確率」です。

=BETA.DIST(0.7, 8, 3, TRUE)

alpha=8、beta=3のベータ分布で、x=0.7以下となる確率です。結果は約0.3828(38.3%)です。

実務で「真の確率がx以下である可能性は?」と聞かれたら、TRUEを使ってください。

2つを比較してみる(サンプルデータつき)

alpha=8、beta=3の場合で、xの値ごとの結果を比べてみましょう。平均値は alpha / (alpha + beta) = 8/11 で約0.727です。

xFALSE(確率密度)TRUE(x以下の確率)
0.30.03860.0016(0.2%)
0.40.21230.0123(1.2%)
0.50.70310.0547(5.5%)
0.61.61240.1673(16.7%)
0.72.66830.3828(38.3%)
0.83.01990.6778(67.8%)
0.91.72190.9298(93.0%)
1.00.00001.0000(100%)

FALSE列はx=0.8付近で最大値を取り、その前後で小さくなります。TRUE列はxが増えるほど1に近づいていきます。

「x以上となる確率」を求めたいときは =1 - BETA.DIST(x, alpha, beta, TRUE) と書きます。たとえば「真の確率が80%以上である可能性」なら次のとおりです。結果は約0.3222(32.2%)です。

=1 - BETA.DIST(0.8, 8, 3, TRUE)

BETA.DIST関数の実務活用3パターン

基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。

コンバージョン率の推定――ABテストの結果評価

「LPのABテストで、パターンAが100回中12回コンバージョンした」ケースを考えましょう。真のコンバージョン率が15%以下である確率を求めます。alpha=12+1=13(成功+1)、beta=88+1=89(失敗+1)です。

=BETA.DIST(0.15, 13, 89, TRUE)

結果は約0.7653(76.5%)です。約77%の可能性で、真のコンバージョン率は15%以下です。

では「コンバージョン率が10%以上である確率」はどうでしょうか。

=1 - BETA.DIST(0.1, 13, 89, TRUE)

結果は約0.7919(79.2%)です。約79%の可能性で10%以上のコンバージョン率が期待できます。ABテストの判断材料になりますね。

品質管理――不良品率の評価

「製造ライン検査で500個中10個が不良だった」場合を考えましょう。真の不良品率が3%以下である確率を求めます。alpha=10+1=11、beta=490+1=491です。

=BETA.DIST(0.03, 11, 491, TRUE)

結果は約0.8866(88.7%)です。約89%の可能性で、真の不良品率は3%以下に収まっています。

「不良品率が5%を超える確率」は次のとおりです。

=1 - BETA.DIST(0.05, 11, 491, TRUE)

結果は約0.0004(0.04%)です。5%を超える確率はほぼゼロです。品質基準を満たしているかの判断に活用できますね。

プロジェクト管理――PERT法による工数見積もり

「最短5日、最長20日、最も可能性が高いのは10日」というタスクの工数見積もりを考えましょう。PERT法ではalpha=3、beta=2.5程度を使い、A=5(下限)、B=20(上限)を指定します。

=BETA.DIST(12, 3, 2.5, TRUE, 5, 20)

結果は約0.3520(35.2%)です。12日以内に完了する確率は約35%です。

「15日以内に終わる確率」を求めてみましょう。

=BETA.DIST(15, 3, 2.5, TRUE, 5, 20)

結果は約0.7042(70.4%)です。バッファを含めて15日で計画すれば、約70%の確率で収まります。スケジュール策定の根拠になりますよ。

関連する統計関数との使い分け

BETA.DIST関数は、他の分布関数と性質が異なります。用途に応じて使い分けましょう。

関数用途いつ使うか
BETA.DISTベータ分布の確率割合・確率(0〜1の範囲)をモデル化する場合
GAMMA.DISTガンマ分布の確率複数イベントの合計時間や右裾データを扱う場合
EXPON.DIST指数分布の確率次のイベントまでの待ち時間を扱う場合
NORM.DIST正規分布の確率連続データ(身長・体重・気温など)を扱う場合
CHISQ.DISTカイ二乗分布の確率適合度検定や独立性検定を行う場合
WEIBULL.DISTワイブル分布の確率製品寿命・故障率を分析する場合
F.DISTF分布の確率分散分析(ANOVA)を行う場合

迷ったときの判断基準はシンプルです。

  • 割合・確率をモデル化したい → BETA.DIST
  • 待ち時間の合計GAMMA.DIST
  • 連続データの確率NORM.DIST
  • 製品の寿命分析WEIBULL.DIST

よくある間違いと注意点

BETA.DIST関数でつまずきやすいポイントをまとめました。

xが範囲外で#NUM!エラー

xはA以上B以下の範囲で指定します。範囲外の値を入れるとエラーになります。AとBを省略した場合は0〜1が範囲です。

=BETA.DIST(1.5, 3, 2, TRUE)   --- #NUM! エラー(0〜1の範囲外)

alphaが0以下で#NUM!エラー

alphaは正の数で指定します。0や負の値はエラーになります。

=BETA.DIST(0.5, 0, 2, TRUE)   --- #NUM! エラー

betaが0以下で#NUM!エラー

betaも正の数で指定します。0以下はエラーです。

=BETA.DIST(0.5, 3, 0, TRUE)   --- #NUM! エラー

A >= Bで#NUM!エラー

下限Aが上限B以上だとエラーになります。AはBより小さい値を指定してください。

=BETA.DIST(5, 3, 2, TRUE, 10, 5)   --- #NUM! エラー(A=10 > B=5)

引数に文字列を渡して#VALUE!エラー

数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。

TRUE/FALSEの指定を間違える

4番目の引数を省略することはできません。TRUEとFALSEでは結果がまったく異なります。「x以下の確率」を求めたいのにFALSEを指定すると、確率密度が返ってしまいます。目的に合った値を選んでくださいね。

Excelとの違い

BETA.DIST関数は、GoogleスプレッドシートとExcelで構文・動作ともにほぼ同じです。

=BETA.DIST(0.5, 3, 2, TRUE)

この数式はどちらの環境でも同じ結果を返します。ExcelでもBETADIST関数が使えます。ただしMicrosoft公式ではBETA.DISTが推奨されています。

ExcelとGoogleスプレッドシートを併用している方は、BETA.DISTで統一しておけば問題ありませんよ。

まとめ

BETA.DIST関数は、ベータ分布にもとづいて確率を求める関数です。

  • 4番目の引数にTRUEで「x以下となる確率」が返る
  • FALSEで「値xでの確率密度」が返る
  • alphaとbetaは形状パラメータで、分布の形を決める
  • 0〜1の範囲の「割合」や「確率」のモデル化に使える
  • AとBを指定すればカスタム範囲にも対応する
  • 「x以上の確率」を求めるには =1 - BETA.DIST(x, alpha, beta, TRUE) と書く
  • xが範囲外やalpha・betaが0以下だと#NUM!エラー
  • BETADIST関数と計算結果は同じ。新規にはBETA.DISTを推奨
  • コンバージョン率の推定・品質管理・プロジェクト見積もりに活用できる
  • 「待ち時間」ならGAMMA.DIST関数、「連続データ」ならNORM.DIST関数を使う
タイトルとURLをコピーしました