ExcelのBETA.INV関数の使い方|ベータ分布の逆関数で確率から値を逆算する

スポンサーリンク

「ベータ分布で累積確率95%に対応する値って、どうやって求めたらいいんだろう?」と悩んだことはありませんか。

BETA.DIST関数を使えば「値x以下となる確率」は計算できます。でも逆方向、つまり「確率pに対応する値x」を知りたいケースもありますよね。

そんなときに使うのがExcelのBETA.INV関数です。この記事ではBETA.INV関数の構文から実務での使い方まで、同僚に教えるつもりで丁寧に解説します。BETA.DISTとの逆関数の関係や、旧関数BETAINVとの違いもあわせて紹介しますよ。

ExcelのBETA.INV関数とは?

BETA.INV関数(読み方:ベータ・インバース関数)は、ベータ分布の累積確率から対応する値を逆算する関数です。

「BETA」はギリシャ文字のベータに由来する数学用語です。「INV」は「Inverse(逆関数)」の略です。つまり「ベータ分布の逆関数」という意味になります。

BETA.DIST関数が「値x → 確率p」を求めるのに対し、BETA.INV関数はその逆の「確率p → 値x」を求めます。2つの関数は逆関数の関係にあるんですよ。

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

  • 95%信頼区間の上限・下限を逆算する
  • コンバージョン率や合格率の区間推定を行う
  • 不良品率の「これ以下に収まる確率pのライン」を求める
  • PERT法で「90%の確率で完了する工期」を求める
  • カスタム範囲(0〜1以外)のベータ分布でも逆算できる

NOTE

BETA.INV関数はExcel 2010以降で使えます。旧バージョン用にはBETAINV関数(ピリオドなし)が用意されており、現行バージョンでも互換性のため引き続き使えます。

BETA.DISTとBETA.INVの関係

2つの関数は完全に逆の動きをします。整理すると次のとおりです。

方向関数入力 → 出力
順方向BETA.DIST(x, alpha, beta, TRUE)値x → 確率p
逆方向BETA.INV(p, alpha, beta)確率p → 値x

たとえば次の2つの数式は、互いに往復関係にあります。

=BETA.DIST(0.7, 8, 3, TRUE)  → 約0.3828
=BETA.INV(0.3828, 8, 3)      → 約0.7

BETA.DISTで求めた確率0.3828をBETA.INVに入れると、元の0.7が返ってきます。片方の出力をもう片方に入れると元の値に戻る。これが逆関数の特徴です。

BETA.INV関数の構文と引数

基本構文

=BETA.INV(probability, alpha, beta, [A], [B])

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

引数の説明

引数必須/任意説明
probability(確率)必須求めたい累積確率(0より大きく1より小さい数値)
alpha(アルファ)必須形状パラメータ1(正の数値)
beta(ベータ)必須形状パラメータ2(正の数値)
A任意xの下限(省略時は0)
B任意xの上限(省略時は1)

probabilityには「この確率に対応する値はいくつか?」を指定します。0.95と入れれば「95%点」が返ります。

alphaは分布の形を決める1つ目のパラメータです。ベイズ推定では「成功回数+1」と解釈できます。betaは「失敗回数+1」と解釈できる2つ目のパラメータです。

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

WARNING

probabilityは0より大きく1より小さい値を指定します。0や1を入れると#NUM!エラーになります。alphaとbetaも正の数が必須です。0以下の値を渡すとエラーが出ます。

BETA.INV関数の基本的な使い方

シンプルな例から見てみましょう。alpha=8、beta=3のベータ分布で、累積確率50%に対応する値を求めます。

=BETA.INV(0.5, 8, 3)

結果は約0.7414です。「ベータ分布(alpha=8, beta=3)で、値が0.7414以下となる確率がちょうど50%」という意味になります。

確率を変えて、いくつかの代表的なパーセンタイルを求めてみましょう。

確率pBETA.INV(p, 8, 3)意味
0.025約0.4439下位2.5%点
0.05約0.4931下位5%点
0.25約0.6446第1四分位
0.50約0.7414中央値
0.75約0.8244第3四分位
0.95約0.9127上位5%点
0.975約0.9333上位2.5%点

この表から、BETA.INV関数を使えばベータ分布の任意のパーセンタイルを簡単に求められることがわかります。

検算してみましょう。BETA.INVの結果をBETA.DISTに入れると、元の確率に戻るはずです。

=BETA.DIST(BETA.INV(0.5, 8, 3), 8, 3, TRUE)

結果は0.5です。ぴったり元の確率に戻りました。逆関数として正しく動いていることが確認できますね。

BETA.INV関数の実務での使い方

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

コンバージョン率の信頼区間を求める

LPのABテストで「パターンAが100回中12回コンバージョンした」ケースを考えましょう。真のコンバージョン率の95%信頼区間を求めます。

ベイズ推定では、alpha=成功数+1=13、beta=失敗数+1=89とします。95%信頼区間は下位2.5%点と上位97.5%点です。

=BETA.INV(0.025, 13, 89)  → 約0.0704(下限: 7.0%)
=BETA.INV(0.975, 13, 89)  → 約0.1983(上限: 19.8%)

真のコンバージョン率は95%の確率で7.0%〜19.8%の範囲にあると推定できます。点推定の12%だけでなく、幅を持った判断ができるようになりますね。

BETA.DIST関数で「15%以下になる確率」を求めるのが順方向の計算です。BETA.INV関数で「95%に対応する値」を求めるのが逆方向の計算です。目的に応じて使い分けましょう。

不良品率の管理基準値を算出する

製造ライン検査で「500個中10個が不良だった」場合を考えましょう。不良品率が「95%の確率でこの値以下」となるラインを求めます。

alpha=10+1=11、beta=490+1=491です。

=BETA.INV(0.95, 11, 491)

結果は約0.0336(3.36%)です。95%の確率で、真の不良品率は3.36%以下に収まると推定できます。品質管理の基準として「不良品率3.4%以下」と設定する根拠に使えますよ。

逆に「不良品率の下限」も求められます。

=BETA.INV(0.05, 11, 491)

結果は約0.0124(1.24%)です。まとめると、不良品率の90%信頼区間は1.24%〜3.36%になります。

PERT法で工期見積もりの信頼区間を求める

「最短5日、最長20日、最頻値10日」のタスク見積もりを考えましょう。「90%の確率で収まる日数」を求めます。

PERT法ではalpha=3、beta=2.5を使います。日数の範囲は0〜1ではないので、A=5、B=20を指定しましょう。

=BETA.INV(0.9, 3, 2.5, 5, 20)

結果は約17.05日です。90%の確率で約17日以内に終わると見込めます。

さらに「80%の確率で収まる日数」も計算してみましょう。

=BETA.INV(0.8, 3, 2.5, 5, 20)

結果は約15.90日です。バッファの程度を変えた複数のスケジュール案を作れますね。プロジェクト管理でリスク許容度に応じた工期を決めるのに役立ちますよ。

BETAINV(旧関数)とBETA.INVの違い

ExcelにはBETA.INVと別にBETAINVという関数もあります。これはBETA.INVの旧バージョンです。新しいBETA.INVが推奨で、BETAINVは互換性のために残されている関数です。

=BETAINV(0.5, 8, 3)
=BETA.INV(0.5, 8, 3)

上の数式はどちらも同じ結果を返します。両者の違いを表にまとめると次のとおりです。

項目BETAINV(旧)BETA.INV(新)
登場時期Excel 2007以前からExcel 2010で追加
引数(probability, alpha, beta, [A], [B])(probability, alpha, beta, [A], [B])
計算精度標準改良版
Microsoft推奨度互換性関数(非推奨)推奨
古いExcelとの互換性ありExcel 2010以降のみ

引数の構成・計算結果はほぼ同じです。新しく数式を書くときはBETA.INVを使いましょう。

TIP

既存のシートでBETAINV関数が使われていても、そのまま動作します。急いで書き換える必要はありませんよ。Excel 2007以前と互換性が必要なファイルではBETAINVを使う選択肢もあります。

BETA.INV関数のよくあるエラーと対処法

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

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

probabilityは0より大きく1より小さい値で指定します。0や1、負の値はエラーになります。

=BETA.INV(0, 8, 3)
=BETA.INV(1, 8, 3)
=BETA.INV(-0.5, 8, 3)

上の3つの数式はすべて#NUM!エラーになります。「ちょうど0%」や「ちょうど100%」は数学的に逆算できないため、エラーになる仕様です。0.001や0.999のように内側の値を指定してください。

alphaまたはbetaが0以下で#NUM!エラー

alphaとbetaはどちらも正の数が必須です。0や負の値を入れるとエラーが出ます。

=BETA.INV(0.5, 0, 3)
=BETA.INV(0.5, 8, -1)

上の数式はどちらも#NUM!エラーです。セル参照で渡している場合は、参照先のセルが空になっていないかも確認しましょう。

A≧Bで#NUM!エラー

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

=BETA.INV(0.5, 3, 2, 10, 5)

上の数式はA=10、B=5でA>Bになっているため#NUM!エラーです。A=B(下限と上限が同じ)もエラーになります。最短日数と最長日数を取り違えていないか確認しましょう。

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

数値であるべき引数にテキストが入ると#VALUE!エラーになります。

=BETA.INV("0.5", 8, 3)

上の数式は文字列の"0.5"を渡しているため#VALUE!エラーです。セル参照を使うときは、参照先が数値型であることを確認しましょう。先頭にスペースが入っていたり、CSVから読み込んだセルが文字列扱いになっていたりすると発生します。

まとめ

ExcelのBETA.INV関数は、ベータ分布の累積確率から対応する値を逆算する関数です。

  • 引数はprobability、alpha、beta、[A]、[B]の3〜5つ
  • BETA.DIST関数の逆関数にあたる
  • BETA.DIST(x, alpha, beta, TRUE) = p なら BETA.INV(p, alpha, beta) = x
  • 95%信頼区間の上限・下限を求めるのに最適
  • コンバージョン率・不良品率・工期見積もりの区間推定に活用できる
  • 旧関数BETAINVと結果はほぼ同じ。新規にはBETA.INVを推奨
  • probabilityは0より大きく1より小さい値で指定する(0と1は含まない)
  • 同じ「逆関数」シリーズのBINOM.INV関数BETADIST関数もあわせて押さえておくと、確率分布の扱いに自信が持てますよ
タイトルとURLをコピーしました