1

NBDモデルの解説

149
0
$$$$

はじめに

マーケティング(marketing)で使われる「NBDモデル」についてまとめました。

NBDモデルとは、次のような数理モデルです。

一定期間において消費者の商品Aの購入回数を$X$とするときに、その確率分布を$X\sim NB(\kappa,p)$と仮定します。$\kappa$$p$は"拡張された負の二項分布"のパラメータです。
このとき、2つの初期値

  • 消費者の購入回数の期待値(または平均):$\mu=E(X)$
  • 消費者が0回購入する割合(相対度数):$p_0=P(X=0)$

からパラメータ$\kappa$$p$を決定します。これより消費者が商品Aを$x$回購入する割合(相対度数)$P(X=x)$ を求めることが出来ます。

$\mu,\kappa$はギリシャ文字で、それぞれミュー(mu)、カッパ(kappa)と読みます。

もくじ

  1. 負の二項分布とは?
  2. NBDモデル
  3. NBDモデルの例
  4. パラメータを求める方法
  5. まとめ

負の二項分布とは?

まず、確率論における二項分布(Binomial Distribution)を復習しましょう。

二項分布

$p$$0< p<1$を満たす実数とします。$n$は正の整数とします。

アタリの確率が$p$のくじにて、$n$回引くときの$x$回アタリを引く回数を$X$とします。このとき、$X\sim B(n,p)$と表します。

$X$が取りうる値$x$$x=0,1,2,\cdots,n$です。

$X=x$となる確率$P(X=x)$は、

$$ P(X=x)=\dfrac{n!}{x!\cdot(n-x)!}\cdot p^x\cdot(1-p)^{n-x} $$

となります。

二項分布の期待値$\mu=E(X)$

$X\sim B(n,p)$ならば、$\mu=E(X)=n\cdot p$が成り立ちます。

二項分布の分散$\sigma^2=Var(X)$

$X\sim B(n,p)$ならば、$\sigma^2=Var(X)=n\cdot p(1-p)$が成り立ちます。

二項分布の期待値と分散の関係

$0< p<1$より$\sigma^2<\mu$が成り立ちます。期待値$\mu$を固定したときに、分散$\sigma^2$$\mu$を上回ることが出来ません。

期待値$E(X)$の計算は、$n=1,2,3$の場合で成り立つか確認すると良いでしょう。一般の$n$の場合は二項定理を使って証明できます。

具体例でみてみましょう。

サイコロを続けて6回振るときの1の目が出る回数を$X$とします。
$p=\dfrac{1}{6},n=6$より、$x=0,1,2,3,4,5,6$に対して、
$$ P(X=x)=\dfrac{6!}{x!\cdot(6-x)!}\cdot \bigg(\frac{1}{6}\bigg)^x\cdot\bigg(\frac{5}{6}\bigg)^{6-x} $$
となります。確率分布表は次のようになります。

$x$の値$P(X=x)$の値$x\times P(X=x)$の値
00.33490.0000
10.40190.4019
20.20090.4019
30.05360.1608
40.00800.0322
50.00060.0032
60.00000.0001
合計1.00001.0000

確かに確率の和は$1$になっており、$X$の期待値$\mu=E(X)=1$もわかります。
公式より、

  • $\mu=E(X)=6\times\frac{1}{6}=1$
  • $\sigma^2=Var(X)=6\times\frac{1}{6}\times\frac{5}{6}=\frac{5}{6}$

と計算できます。

!FORMULA[51][-1143705460][0]の確率分布(!FORMULA[52][328485552][0]) $B(6,\dfrac{1}{6})$の確率分布($\mu=1$)

サイコロを6回振ったら1はちょうど1回出そうですが、その確率は約40%です。1回も出ない確率が約33%もあります。2回出る確率は約20%で、3回出る確率は約5%です。4回出る確率は1%もありません。

次は、負の二項分布(Negative Binomial Distribution)です。普通の二項分布と同じくらい基本的な確率分布です。

負の二項分布

$p$$0< p<1$を満たす実数とします。$r$は正の整数とします。

アタリの確率が$p$のくじにて、$r$回アタリが出るまで引くときのハズレの引く回数を$X$とします。このとき、$X\sim NB(r,p)$と表します。

$X$が取りうる値$x$$x=0, 1, 2, 3, 4, \cdots$です。

$X=x$となる確率$P(X=x)$は、

$$ P(X=x)=\dfrac{(x+r-1)!}{x!\cdot(r -1)!}\cdot(1-p)^x\cdot p^r $$

となります。

負の二項分布の期待値$\mu=E(X)$

$X\sim NB(r,p)$ならば、$\mu=E(X)=r\cdot\bigg(\dfrac{1}{p}-1\bigg)$が成り立ちます。

負の二項分布の分散$\sigma^2=Var(X)$

$X\sim NB(r,p)$ならば、$\sigma^2=Var(X)=r\cdot\dfrac{1}{p}\bigg(\dfrac{1}{p}-1\bigg)$が成り立ちます。

負の二項分布の期待値と分散の関係

$0< p<1$より$\mu<\sigma^2$が成り立ちます。期待値$\mu$を固定したときに、分散$\sigma^2$$\mu$を下回ることが出来ません。

負の二項分布の期待値の計算の導出は無限級数(数列の無限和)を扱うので、少なくとも数Ⅲの知識が必要です。$r=1$の場合は、無限等比級数なので数Ⅲまでの知識で計算できます。$r>1$の場合は、(高校数学を超える)負の二項定理を使います。

こちらも具体例でみてみましょう。

サイコロを1の目が出るまで振るときの、1以外の目の出る回数を$X$とします。

$p=\dfrac{1}{6},r=1$より、
$$ P(X=x)=\bigg(\frac{5}{6}\bigg)^x\cdot\frac{1}{6} $$
となります。確率分布表は次のようになります。

$x$の値$P(X=x)$の値$x\times P(X=x)$の値
00.16670.0000
10.13890.1389
20.11570.2315
30.09650.2894
40.08040.3215
50.06700.3349
60.05580.3349
$\vdots$$\vdots$$\vdots$
合計1.00005.0000

確率の和が$1$であるかはこの表から分かりませんが、計算により確認できます。

期待値が$\mu=E(X)=5$であるかも表からは分かりませんが、公式より

  • $\mu=E(X)=1\times(6-1)=5$
  • $\sigma^2=Var(X)=1\times6\times(6-1)=30$

と計算できます。

!FORMULA[92][-1531885001][0]の確率分布(!FORMULA[93][328485676][0]) $NB(1,\dfrac{1}{6})$の確率分布($\mu=5$)

1回目で1が出る確率は約17%です。期待値の5回までに出る確率は約67%です。期待値を超えてしまう割合が約33%もあります。

"拡張された負の二項分布"

$p \in (0,1)$$\kappa \in (0, \infty)$とします。

$X$が取りうる値$x$$x=0, 1, 2, 3, 4, \cdots$です。

$X=x$となる確率$P(X=x)$は、

$$ P(X=x)=\dfrac{\Gamma(x+\kappa)}{x!\cdot\Gamma(\kappa)}\cdot(1-p)^x\cdot p^{\kappa} $$

を満たすとき、このとき$X$は"拡張された負の二項分布"に従うと言います。

また、$X\sim NB(\kappa,p)$と表します。

ガンマ関数$y=\Gamma(x)$の性質より、$\kappa$が正の整数のとき負の二項分布と一致します。

ガンマ関数$y=\Gamma(x)$の定義とその性質

関数$y=\Gamma(x)$$x \in (0,\infty)$において、
$$ \Gamma(x)=\int_0^\infty t^{x-1}e^{-t}dt $$
と積分によって定義される関数でガンマ関数と呼ばれます。

定義より$\Gamma(1)=1$$\Gamma(x+1)=x\cdot\Gamma(x)$という関係式が得られます。

これらより正の整数$n$に対して、$\Gamma(n)=(n-1)!$という関係式が得られます。このことから、ガンマ関数$y=\Gamma(x)$は階乗の数列$a_n=(n-1)!$の一般化と見なすことが出来ます。

拡張された負の二項分布の期待値や分散の公式も、負の二項分布の期待値や分散と同様の形で成り立ちます。

"拡張された負の二項分布"の期待値$\mu=E(X)$

$X\sim NB(\kappa,p)$ならば、$\mu=E(X)=\kappa\cdot\bigg(\dfrac{1}{p}-1\bigg)$が成り立ちます。

"拡張された負の二項分布"の分散$\sigma^2=Var(X)$

$X\sim NB(\kappa,p)$ならば、$\sigma^2=Var(X)=\kappa\cdot\dfrac{1}{p}\bigg(\dfrac{1}{p}-1\bigg)$が成り立ちます。

"拡張された負の二項分布"の別形式

$\mu=E(X)=\kappa\cdot\bigg(\dfrac{1}{p}-1\bigg)$$p$について解くと、$p=\dfrac{\kappa}{\mu+\kappa}$を得ます。これを"拡張された負の二項分布"の式に代入すると、
$$ P(X=x)=\dfrac{\Gamma(x+\kappa)}{x!\cdot\Gamma(\kappa)}\cdot\bigg(\dfrac{\mu}{\mu+\kappa}\bigg)^x\cdot \bigg(\dfrac{\kappa}{\mu+\kappa}\bigg)^{\kappa} $$
を得ます。このとき、

  • $E(X)=\mu$
  • $Var(X)=\mu+\frac{\mu^2}{\kappa}$

となります。

このように$\mu, \kappa$をパラメータとして"拡張された負の二項分布"を考えることもあります。このとき、$\mu$は期待値そのものであり、$\kappa$は分散に関連する量です。これより、$\kappa$が"分布の形状を決める"ということもできます。

NBDモデル

一定期間における商品Aの購入回数に関する度数分布が与えられているとしましょう。
このとき、平均購入回数$\mu$購入回数0回の割合(相対度数)$p_0$を求められます。

逆に、商品Aの平均購入回数$\mu$と購入回数0回の割合(相対度数)$p_0$が与えられているとしましょう。このとき、購入回数に関する度数分布を求められるでしょうか?

NBDモデルでは、これが出来るのです。

NBDモデル

商品Aの平均購入回数を$\mu \in (0,\infty)$、購入回数0回の割合(相対度数)を$p_0 \in (0,1)$とします。
また、商品Aの購入個数を$X$とします。

$\mu > \log_e\dfrac{1}{p_0}$のとき、パラメータ$\kappa$$p$の連立方程式

$\begin{cases} \kappa \cdot \bigg(\dfrac{1}{p}-1\bigg) &= \mu \\ p^\kappa &= p_0 \\ \end{cases}$

はただ一つの解$\kappa \in (0,\infty)$$p \in (0,1)$を持ちます。

このパラメータ$\kappa$$p$を用いて割合(相対度数)$P(X=x)$は、
$$ P(X=x)=\dfrac{\Gamma(x+\kappa)}{x!\cdot\Gamma(\kappa)}\cdot(1-p)^x\cdot p^\kappa $$
と表されます。

連立方程式の意味

まず、確率分布が"拡張された負の二項分布"に従うと仮定しているので、様々な量がパラメータ$\kappa,p$を用いて表されます。

第1式は"拡張された負の二項分布"の期待値$E(X)$をパラメータ$\kappa,p$で表し、それが$\mu$である条件を課しています。

第2式は$X=0$のときの割合$P(X=0)$をパラメータ$\kappa,p$で表し、それが$p_0$であるという条件を課しています。

$\mu,p_0$が異常な値の場合、この連立方程式は解をもちません。この場合はNBDモデルが適応できません。連立方程式が解をもつ場合にて、解が複数あることはないことが確認できます。

$\kappa$が正の整数の場合に、ガンマ関数の性質から右辺は負の二項分布の式と同じになります。しかしNBDモデルにおいて$\kappa$が整数になることはほとんどありません。

NBDモデルの例

これも具体例で確認しましょう。

$N$は全世帯数、$N_0$は一定期間における購入回数0回の世帯数、$S$は一定期間における売上個数とします。

グラフが逆J型になる場合

$N=5,000$(世帯)、$N_0=1,000$(世帯)、$S=20,000$(個)とします。
このとき、$(\mu,p_0)=(4,0.2)$となります。
連立方程式を解くと$(\kappa,p)=(1,0.2)$となり、これを"拡張された負の二項分布"の式に代入すると、次の確率分布表が計算できます。

$x$の値$P(X=x)$の値$x\times P(X=x)$の値$N \times P(X=x)$の値
00.20000.00001000(世帯)
10.16000.1600800(世帯)
20.12800.2560640(世帯)
30.10240.3072512(世帯)
40.08190.3277410(世帯)
50.06550.3277328(世帯)
60.05240.3146262(世帯)
$\vdots$$\vdots$$\vdots$$\vdots$
合計1.00004.00005,000(世帯)

この場合は、確率が単調に減っていきます。

!FORMULA[176][819509185][0]の確率分布!FORMULA[177][1094574212][0] $\mu=4,p_0=0.200$の確率分布$NB(1,0.2)$

グラフが逆J型にならない場合

$N=8,000$(世帯)、$N_0=1,000$(世帯)、$S=20,000$(個)とします。
このとき、$(\mu,p_0)=(2.5,0.125)$となります。
連立方程式を解くと$(\kappa,p)=(5.183,0.699)$となり、これを"拡張された負の二項分布"の式に代入すると、次の確率分布表が計算できます。

$x$の値$P(X=x)$の値$x \times P(X=x)$の値$N \times P(X=x)$の値
00.12500.00001000(世帯)
10.21850.21851748(世帯)
20.22390.44771791(世帯)
30.17530.52601403(世帯)
40.11620.4647929(世帯)
50.06860.3428549(世帯)
60.03720.2230297(世帯)
$\vdots$$\vdots$$\vdots$$\vdots$
合計1.00002.50008,000(世帯)

この場合は、$x=2$の場合に確率が最大になっています。

!FORMULA[192][-524363302][0]の確率分布!FORMULA[193][-612085014][0] $\mu=2.5,p_0=0.125$の確率分布$NB(5.183,0.699)$

グラフが存在しない場合

$N=10,000$(世帯)、$N_0=1,000$(世帯)、$S=20,000$(個)とします。
このとき、$(\mu,p_0)=(2,0.1)$となり、$(\kappa,p)$は存在しません。

以下でどのようにして2つのパラメータ$\kappa, p$を求めるのかを見てみましょう。

パラメータを求める方法

STEP1 2文字の方程式を1文字の方程式に還元する

パラメータ$\kappa$$p$は次の連立方程式を満たしているとします。

\begin{eqnarray} \left\{ \begin{array}{l} \kappa \cdot \bigg(\dfrac{1}{p}-1\bigg) &= \mu \\ p^\kappa &= p_0 \end{array} \right. \end{eqnarray}

となります。第1式と第2式をそれぞれ式変形すると、

\begin{eqnarray} \left\{ \begin{array}{l} \dfrac{1}{p}-1 &= \mu\cdot \dfrac{1}{\kappa} \\ p &= (p_0)^\frac{1}{\kappa} \\ \end{array} \right. \end{eqnarray}

となります。第2式を第1式に代入して$p$を消去すると、パラメータ$\kappa$の方程式

\begin{array} (\bigg(\dfrac{1}{p_0}\bigg)^\dfrac{1}{\kappa}-1 = \mu\cdot \dfrac{1}{\kappa} \end{array}

を得ます。ここで$x=\dfrac{1}{\kappa}$とおくと$x>0$であり、$x$の方程式

\begin{array} (\bigg(\dfrac{1}{p_0}\bigg)^x-1 = \mu\cdot x \end{array}

となります。$\log_e\dfrac{1}{p_0}<\mu$のとき、この方程式は正の実数解$x_+$を唯一つ持ちます。このとき連立方程式の解は、

\begin{eqnarray} \left\{ \begin{array}{l} \kappa &= \dfrac{1}{x_+} \\ p &= (p_0)^{x_+} \end{array} \right. \end{eqnarray}

と表せます。方程式の解$x_+$のが分かれば、連立方程式の解$(\kappa,p)$が求められます。

$p$の求め方

実際は、$p=\dfrac{\kappa}{\mu+\kappa}$の関係から、$\kappa$の値から$p$の値を求めることが出来ます。

STEP2 1文字の方程式を近似的に解く

方程式の解$x_+$を、いわゆるニュートン法に従って求めます。

STEP2-1 初期値$x_0$を決める

左辺と右辺の$x$に正の整数を順に代入することによって、解のおよその値をまず求めます。左辺が負で右辺が正となる$x_0$を探します。グラフを考えることにより、このような$x_0$は一つしかありません。また、$x_+$$x_0$より大きな最小の整数です。

初期値$x_0$を以下で定めます。

$\dfrac{1}{p_0}-1>\mu$ならば$0< x_+<1$なので、$x_0=1$とします。

・そうでないとき、$\bigg(\dfrac{1}{p_0}\bigg)^2-1>2\mu$ならば$1< x_+<2$なので、$x_0=2$とします。

・そうでないとき、$\bigg(\dfrac{1}{p_0}\bigg)^3-1>3\mu$ならば$2< x_+<3$なので、$x_0=3$とします。

・そうでないとき、$\bigg(\dfrac{1}{p_0}\bigg)^4-1>4\mu$ならば$3< x_+<4$なので、$x_0=4$とします。

これを左辺が右辺より大きくなるまで繰り返します。有限回で計算が終わります。

STEP2-2

グラフと$x$軸との交点を接線を使って求めます。$x_0$から$x_1,x_2,\cdots$を順に構成し、値が止まるまで続けます。この値が$x_+$です。

また、数列$\{x_n\}$を次の漸化式で定めます。
$$ x_{n+1}=x_n-\dfrac{\bigg(\dfrac{1}{p_0}\bigg)^{x_n}-\mu\cdot x_n-1}{\log_e \dfrac{1}{p_0}\cdot \bigg(\dfrac{1}{p_0}\bigg)^{x_n}-\mu} $$

この数列$\{x_n\}$は単調に減少し、方程式の解$x_+$にどんどん近づきます。

漸化式の導出(数Ⅲ)はここをクリック


関数$f(x)$

$$ f(x)=A^x-Bx-1 $$

とする。$f(x)$の1階導関数と2階導関数をそれぞれ$f'(x),f''(x)$とすると、

$$ f'(x)=(\log A)\cdot A^x-B $$

$$ f''(x)=(\log A)^2\cdot A^x $$

となる。$f''(x)>0$より、$y=f(x)$は下に凸のグラフで、原点を通り、仮定より原点における傾きが負であることが分かります。

$x_n>x_+$とします。曲線$y=f(x)$の点$(x_n, f(x_n))$における接線の式は、

$$ y-f(x_n)=f'(x_n)(x-x_n) $$
となります。これを$x$軸との交点を$(x_{n+1},0)$とすると、

$$ -f(x_n)=f'(x_n)(x_{n+1}-x_n) $$

両辺を$f(x_n)$で割ると、

$$ -\dfrac{f(x_n)}{f'(x_n)}=x_{n+1}-x_n $$
となります。移項すると、
$$ x_{n+1}=x_n-\dfrac{f(x_n)}{f'(x_n)} $$

となります。当然、$x_+< x_{n+1}< x_n$を満たします。

"拡張された負の二項分布"の導出方法

仮定することは2つです。

  1. 平均購入回数が$\lambda(>0)$の世帯の購入回数は、ポアソン分布$Poisson(\lambda)$に従うとします。ポアソン分布の確率質量関数は$f(x|\lambda)=e^{-\lambda}\cdot\frac{\lambda^x}{x!}$です。

  2. 全世帯の購入回数$\lambda$は、ガンマ分布$Gamma(\alpha,\beta)$に従うとします。ガンマ分布の確率密度関数は、$g(\lambda|\alpha, \beta)=\dfrac{1}{\Gamma(\alpha)\beta^\alpha}\cdot\lambda^{\alpha-1}e^{-\dfrac{\lambda}{\beta}}$です。ただし2つのパラメータ$\alpha,\beta$は、$\alpha>0, \beta>0$とします。

平均購入回数が$\lambda$から$(\lambda+\Delta\lambda)$の世帯が$k$回購入する確率は$f(k|\lambda)$であり、その相対度数$g(\lambda|\alpha,\beta)\Delta\lambda$を掛けて足し合わせたもの(積分したもの)です。

\begin{align} P(X=x) &= \int_0^\infty f(x|\lambda)\cdot g(\lambda|\alpha, \beta)d\lambda\\ &= \int_0^\infty e^{-\lambda}\cdot\frac{\lambda^x}{x!}\cdot\frac{1}{\Gamma(\alpha)\beta^\alpha}\cdot\lambda^{\alpha-1}e^{-\frac{\lambda}{\beta}}d\lambda\\ &= \frac{1}{x!}\cdot\frac{1}{\Gamma(\alpha)\beta^\alpha}\cdot\int_0^\infty \lambda^{(x+\alpha)-1}e^{-\frac{\beta+1}{\beta}\lambda}d\lambda\\ &= \frac{1}{x!}\cdot\frac{1}{\Gamma(\alpha)\beta^\alpha}\cdot\Gamma(x+\alpha)\bigg(\frac{\beta}{\beta+1}\bigg)^{x+\alpha}\\ &= \frac{\Gamma(x+\alpha)}{x!\cdot\Gamma(\alpha)}\cdot\frac{\beta^x}{(\beta+1)^{x+\alpha}}\\ &=\frac{\Gamma(x+\alpha)}{x!\cdot\Gamma(\alpha)}\cdot\bigg(\frac{\beta}{\beta+1}\bigg)^x\bigg(\frac{1}{\beta+1}\bigg)^\alpha\\ &=\frac{\Gamma(x+\alpha)}{x!\cdot\Gamma(\alpha)}\cdot(1-p)^x\cdot p^\alpha\\ \end{align}
ただし、積分公式
$$ \int_0^\infty x^{\alpha-1}e^{-\frac{x}{\beta}}dx=\Gamma(\alpha) \beta^\alpha $$
を用いました。また、$$ p=\dfrac{1}{\beta+1} $$
と置きました。

全世帯の購入回数$\lambda$が、本当にガンマ分布$Gamma(\alpha,\beta)$に従うかどうかは、論理的な必然性はなさそうです。関数の台が$(0,\infty)$であるような確率密度関数であれば何でもいいはずなので、その他の確率密度関数でも大丈夫のはずです。ただし、ガンマ分布だと"拡張された負の二項分布"になります。他の分布で計算が進む例はあるのでしょうか。

まとめ

以上より(適切な)$\mu$$p_0$から、Excelのソルバーという機能を使わずに、確率分布$NB(\alpha,p)$を求めることが出来ました。以上の内容を理解するために必要なことを挙げます。

  1. 基本的な数列の計算(階乗$n!$、等比数列、$\sum$の計算、数列の極限、無限等比級数など)
  2. 基本的な関数の計算(二項定理、指数関数$y=a^x$や対数関数$y=\log_a x$のグラフの概形など。特に$y=e^x$$y=\log_ex$)
  3. 確率変数の定義、確率分布の定義と期待値と分散の定義
  4. 二項分布$B(n,p)$とその期待値と分散
  5. 負の二項分布$NB(r,p)$とその期待値と分散
  6. ガンマ関数$y=\Gamma(x)$による階乗の拡張
  7. ガンマ関数$y=\Gamma(x)$による負の二項分布の拡張$NB(\kappa,p)$
  8. ニュートン法による方程式の解法

計算手順のみを追いたい場合は、(7)と(8)だけで大丈夫です。

投稿日:202461
更新日:2024610
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中