スプレッドシートのBETA.DIST関数の使い方|ベータ分布で確率を推定する完全ガイド

スポンサーリンク

「過去10回中7回成功したけど、本当の成功率ってどのくらいなんだろう?」「ABテストで12%のコンバージョン率が出たけど、これは本当に良い数字?」――こうした疑問を持ったことはありませんか?

単純に「成功÷試行回数」で割合を出すのは簡単です。でもサンプル数が少ないと、その値が真の確率を表しているとは限りません。10回中7回と1000回中700回では、同じ70%でも信頼度がまったく違いますよね。

そんな「割合の不確実性」を扱うときに使うのがBETA.DIST関数です。この記事では基本構文から実務活用まで、数値検証つきで解説します。TRUE/FALSEの違いや、BETADIST関数との関係、alpha・betaの直感的な決め方もあわせて紹介しますよ。

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

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

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

たとえば「成功8回・失敗2回のデータから、真の成功率が70%以下である確率」を、1つの数式で求められます。割合をそのまま信じるのではなく「どのくらい確信を持てるか」を数値化できるのが強みです。

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

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

NOTE

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

ベータ分布が使えるビジネスシーン

ベータ分布は、次のような場面で活躍します。

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

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

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以外の範囲でベータ分布を計算できます。たとえばPERT法で工数を見積もるとき「最短5日〜最長20日」のような範囲を扱うのに便利です。

WARNING

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

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

GoogleスプレッドシートにはBETADISTという関数もあります。これはBETA.DISTの旧バージョンで、Excel 2007以前との互換のために残されています。同じxとalpha・betaを与えれば、計算結果は一致します。

=BETADIST(0.7, 8, 3, 0, 1)        --- 旧関数名(常に累積分布)
=BETA.DIST(0.7, 8, 3, TRUE, 0, 1) --- 新関数名(推奨)

ただし引数の構成が違うので注意してください。BETADISTは4番目・5番目の引数がA(下限)とB(上限)で、TRUE/FALSE(累積/密度)の切り替えがありません(常に累積分布を返します)。BETA.DISTは4番目に累積引数、5番目・6番目にA・Bを取ります。

新しく数式を書くときはBETA.DISTを使いましょう。既存のシートでBETADISTが使われていても、そのまま動作するので慌てて書き換える必要はありません。

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

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

FALSE(確率密度関数 PDF)――特定値での密度を返す

FALSEを指定すると確率密度関数(PDF: Probability Density Function)の値を返します。「値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(累積分布関数 CDF)――x以下となる確率を返す

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

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

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

実務で「真の確率がx以下である可能性は?」「コンバージョン率が15%を下回る確率は?」と聞かれたら、TRUEを使ってください。逆に「x以上となる確率」が必要なら、次のように1から引きます。

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

これは「真の確率が80%以上である可能性」を表し、結果は約0.3222(32.2%)です。

数値で比較するTRUE/FALSEの結果

alpha=8、beta=3の場合で、xの値ごとの結果を並べてみましょう。このベータ分布の平均値は alpha / (alpha + beta) = 8/11 で約0.7273です。

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で100%に達します。グラフを描けば、TRUEがS字カーブ、FALSEが山型になることが直感的にわかります。

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

基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。いずれも「数式 → 結果 → 解釈」の3ステップでまとめています。

パターン1: ABテストでコンバージョン率を推定する

「LP(ランディングページ)のABテストで、パターンAが100回中12回コンバージョンした」ケースを考えましょう。

真のコンバージョン率がどのくらいか、ベイズ推定の手法でベータ分布を当てはめます。一様事前分布(情報なし)を使う場合、alpha=12+1=13(成功+1)、beta=88+1=89(失敗+1)となります。

Q. 真のコンバージョン率が15%以下である確率は?

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

結果は約0.7653(76.5%)です。約77%の可能性で、真のコンバージョン率は15%以下に収まると判断できます。

Q. コンバージョン率が10%以上である確率は?

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

結果は約0.7919(79.2%)です。約79%の可能性で10%以上のコンバージョン率が期待できる、と読み取れます。

解釈の補足: 単純な観測値「12÷100=12%」だけでは「本当にこれが実力か」がわかりません。ベータ分布で確率の分布を出すと、「12%が中心だが、10%〜15%の間にいる可能性が高い」と幅で語れるようになります。ABテストの意思決定では、この「幅」が重要です。

パターン2: 品質管理で不良品率を評価する

「製造ラインの抜き取り検査で500個中10個が不良だった」場合を考えましょう。alpha=10+1=11、beta=490+1=491です。

Q. 真の不良品率が3%以下である確率は?

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

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

Q. 不良品率が5%を超える確率は?

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

結果は約0.0004(0.04%)です。5%を超える確率はほぼゼロです。

解釈の補足: 観測値だけ見ると「10/500=2%」ですが、サンプルが500個と多いため分布の幅が狭く、真の不良率も2%付近に集中していると言えます。品質基準(例: 5%以下なら合格)を満たしているか、統計的根拠を持って判断できますね。

パターン3: PERT法でプロジェクト工数を見積もる

「最短5日、最長20日、最も可能性が高いのは10日」というタスクの工数見積もりを考えましょう。PERT法では工数の不確実性をベータ分布で表現します。

ここではalpha=3、beta=2.5を使い、A=5(下限)、B=20(上限)を指定します(PERTのパラメータ設定は流派により異なりますが、α・βともに2〜5あたりが標準的です)。

Q. 12日以内に完了する確率は?

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

結果は約0.3520(35.2%)です。

Q. 15日以内に終わる確率は?

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

結果は約0.7042(70.4%)です。

解釈の補足: 「12日で計画すると35%しか間に合わない」「15日まで延ばせば70%の確率で収まる」と数値で議論できます。バッファ(緩衝期間)の取り方を感覚や政治ではなく、確率で説得力をもって決められます。

alphaとbetaの値で変わるベータ分布の形

BETA.DIST関数を使いこなすには、alphaとbetaの値で分布の形がどう変わるかを直感的に押さえておくのが近道です。

一様分布から釣鐘型まで――形状パターン早見表

alphabeta分布の形用途例
11一様分布(フラット)事前情報がない状態のベースライン
0.50.5U字型(両端に集中)「ほぼ確実に成功 or 失敗」二極化データ
22対称な釣鐘中央付近に集中するイベント
55鋭めの対称釣鐘サンプル数が増えて確信度が上がった対称分布
83右寄り(高確率側に偏る)成功率が高めの結果
38左寄り(低確率側に偏る)不良率や離反率のような低めの確率
2020非常に鋭い対称釣鐘サンプル数が多く、平均0.5付近に集中

ベータ分布の平均は alpha / (alpha + beta) です。alphaが大きいほど分布は右側(1に近い側)に寄り、betaが大きいほど左側(0に近い側)に寄ります。

形からパラメータを直感的に決める方法

ベイズ推定では、観測した「成功回数」「失敗回数」をそのまま使えます。

  • 成功 n 回、失敗 m 回 → alpha = n + 1, beta = m + 1

たとえば「100回中12回成功」なら alpha=13, beta=89 で、平均は 13/102 ≈ 12.7%。観測値(12%)に近い値が分布の中心になります。

PERT法のように工数を扱う場合は、楽観値(最短)と悲観値(最長)の幅、最頻値の位置から alpha と beta を調整します。シンプルには alpha=4, beta=4 などの対称設定で始め、最頻値を寄せたいときに片方を増やすのが実用的です。

TIP

「事前情報がない」と書くと厳密にはJeffreys事前分布(α=β=0.5)が選ばれることもありますが、ビジネス用途では一様事前分布(α=β=1)で十分です。「成功+1, 失敗+1」と覚えればOKです。

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

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

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

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

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

よくあるエラーと対処法

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

エラー原因対処
#NUM!xが範囲外(A未満またはBより大きい)=BETA.DIST(1.5, 3, 2, TRUE)xをA以上B以下に修正(既定では0〜1)
#NUM!alphaが0以下=BETA.DIST(0.5, 0, 2, TRUE)alphaを正の数に修正
#NUM!betaが0以下=BETA.DIST(0.5, 3, 0, TRUE)betaを正の数に修正
#NUM!A ≥ B=BETA.DIST(5, 3, 2, TRUE, 10, 5)A < B となるように修正
#VALUE!引数に文字列=BETA.DIST("abc", 3, 2, TRUE)数値またはセル参照に修正
#N/A引数の数が不足=BETA.DIST(0.5, 3, 2)累積引数(TRUE/FALSE)を追加

TRUE/FALSEの指定ミス

4番目の引数を省略することはできません。TRUEとFALSEでは結果がまったく異なります。「x以下の確率」を求めたいのにFALSEを指定すると確率密度(時には1超の値)が返ってしまい、結果の解釈を誤ります。目的に合った値を必ず選びましょう。

セル参照で引数を渡すときの注意

セル参照を使うときは、参照先が数値であることを確認してください。空セルや文字列、エラー値が混ざっていると#VALUE!#NUM!になります。ISNUMBER関数でチェックするか、IFERROR関数でフォールバック値を返すと安全です。

ExcelとGoogleスプレッドシートの違い

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

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

この数式はどちらの環境でも同じ結果を返します。ExcelでもBETADIST関数が使えますが、Microsoft公式ではBETA.DISTが推奨されています(BETADISTは互換関数として残されている扱い)。

ExcelとGoogleスプレッドシートを併用している方は、BETA.DISTで統一しておけば問題ありません。CSVなどでファイルを行き来する場合でも、数式は壊れず動作しますよ。

よくある質問(FAQ)

Q. alphaとbetaはどう決めればいいですか?

A. ベイズ推定なら「成功回数+1, 失敗回数+1」と覚えればOKです。たとえば100回中12回成功なら、alpha=13, beta=89。PERT法のように工数を扱う場合は対称設定(alpha=beta=3〜5程度)から始め、最頻値を寄せたい方向に片方を増やします。

Q. BETA.INV関数との違いは何ですか?

A. BETA.DISTが「xを与えて確率(または密度)を返す」のに対し、BETA.INV(逆関数)は「確率を与えてxを返す」関数です。たとえば「累積確率が95%になるxは?」を求めたいときにBETA.INVを使います。信頼区間の上下限を求めるときに重宝します。

Q. サンプル数が極端に少ない場合(成功0回、失敗0回など)はどうすればいい?

A. 「成功+1, 失敗+1」の一様事前分布を使えば対応できます。たとえば「3回中0回成功」なら、alpha=0+1=1, beta=3+1=4。分布の幅は広くなりますが、計算自体は問題なく行えます。サンプルが増えるほど分布が鋭くなり、推定の確信度が上がります。

Q. ベイズ推定の「事前分布」として使うとはどういう意味?

A. ベイズ推定では、事前の知識を「事前分布」、観測データを反映した結果を「事後分布」と呼びます。ベータ分布は二項分布(成功/失敗)の事前分布として数学的に相性がよく(共役事前分布と呼ばれます)、観測データを足すだけで事後分布も簡単にベータ分布になります。これが「成功+1, 失敗+1」で済む理由です。

Q. PERTで使うとき、A・Bと最頻値の関係はどうすれば?

A. PERTの工数見積もりでは、A=最短日数、B=最長日数を指定し、alphaとbetaで「分布の山の位置」を調整します。最頻値は (alpha-1)/(alpha+beta-2) × (B-A) + A で求められます。最頻値を分布の中央から右に寄せたいならalphaを大きく、左に寄せたいならbetaを大きくしてください。

まとめ

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

  • 4番目の引数にTRUEで「x以下となる確率」、FALSEで「値xでの確率密度」が返る
  • alphaとbetaは形状パラメータで、分布の形を決める(成功+1, 失敗+1と覚えるとベイズ推定で使いやすい)
  • 0〜1の範囲の「割合」や「確率」のモデル化に最適
  • AとBを指定すれば0〜1以外のカスタム範囲(PERT法の工数など)にも対応する
  • 「x以上の確率」は =1 - BETA.DIST(x, alpha, beta, TRUE) で求める
  • xが範囲外、alpha・betaが0以下、A≥Bだと#NUM!エラー
  • BETADIST関数とは引数構成が異なるが計算結果は同じ。新規にはBETA.DISTを推奨
  • ABテストのコンバージョン率推定・品質管理の不良率評価・PERT工数見積もりで実用的
  • 「待ち時間の合計」ならGAMMA.DIST関数、「連続データ」ならNORM.DIST関数が適切

割合や確率の不確実性を「数値」で語れるようになると、ABテストやプロジェクト見積もりの説得力が一段上がります。まずは手元のスプレッドシートで =BETA.DIST(0.5, 8, 3, TRUE) を試してみてくださいね。

タイトルとURLをコピーしました