スタートページWeb教材一覧オペレーションズリサーチ

エントロピーモデル
1因子情報路による銘柄選択

参照:JavaScriptの計算プログラム

似た商品があり、Aは100円、Bは200円です。Bのほうが何かしら優れているのでしょうが、購入者は確かなことを知らないとします。このとき、AとBの販売比率はどうなると予測できるでしょうか?(→A=61.8%、B=38.2%)
 販売実績によると、AとBの販売比率は60%と40%でした。Bのほうが予測を上回っています。顧客はBにどれだけのプラスアルファの価値を感じていると思われます。60%、40%になるには、Bの価格をいくらにするのが妥当でしょうか?(→221円)
 (61.8%,38.2%)と(60%,40%)の違いは、単に価格と消費者の価値認識だけでなく、常にAやBを購入する固定客と、どちらも購入する流動客が存在するからだとも考えられます。それらの割合はどの程度といえるでしょうか?(→Aの固定客=29%、Bの固定客=21%、流動客=50%)

このようなことが、エントロピーという概念を導入すると、数学的に計算できるのです。
 この理論は実務的にも合致する例が多いといわれています。


基本事項

情報量

情報の最小単位は,0/1,真/偽,yes/noのように「2つの状態のうちどちらか」のことだといえます。その情報量を1(ビット)とします。
 カード当てのゲームで,「カードの1枚が赤札だ(確率=1/2)」という情報量も1です。では,「ハート,ダイヤ,スペード,クラブのうち,ハートである」という情報量は,「赤/黒の2つの状態のうち赤である」(情報量=1)ことを知り,「ハートとダイヤのうちハートだ」(情報量=1)を知ったと考えれば,2ビットであることは常識と合致します。それで,「4(=2)通りの状態のうち,どれであるか(ハート)を知ることの情報量は2である」としてもよいですね。同様にして,「8(=2)の状態のうち,どれであるかを知ることの情報量は3」であり,もっと一般化すれば,「2個の状態のうち,どれであるかを知ることの情報量はnである」となります。それは,
    log2=n   (注)
の計算をしたことになります。

ここで,2個のうち,特定の事象が起こる確率をpとすれば,
   p=1/2 → n=log(1/p)=-logp
ですから,pが起こったという情報量Sは,
   S=-logp
となります。上の例でいえば,赤である確率はp=1/2ですから,その情報量は-log(1/2)=1となり,ハートである確率はp=1/4ですから,その情報量は-log(1/4)=2となって,上の結果と一致します。

ある事象が起こる確率をpとするとき,それが起こったという情報が持つ情報量Sは,
   S=-logp [ビット]
である。

情報量をこのように定義すれば,場合の数が2のべき数でないときの情報量も与えられます。たとえば,サイコロを投げたときに出た目が5であるという情報量は,その確率は1/6なので,
   -log(1/6)=2.58
となります。
 同様に,カードでAであることの情報量は-log(1/13)=3.70です。

情報量は状況により価値が変ります。
 明日の天気は晴・雨同程度だと思っているときに,天気予報(絶対にあたるとして)が「晴」だといったときは(「雨」といっても),私にとって,-log0.5=1.0の情報量を得たことになります。
 ところが,夕焼けなので明日の天気は0.8の確率で晴,0.2の確率で雨だと思っていたときに,天気予報が「晴」とのことでしたら,その情報量は私にとって-log0.8=0.32の価値に過ぎません。「そうだろうな」程度の情報です。ところが「雨」とのことでしたら,-log0.2=2.32の価値がある(驚く)ことになります。

エントロピー

ある事象Aが起こる確率をpとすれば,起こらない確率はq=1-pです。このとき,Aが起こったとすれば,その情報量は-logp,起こらなかったとすれば,その情報量は-logqです。それで,全体の情報量の期待値は,
   H=-plogp-qlogq
となります。このようなHのことをエントロピーといいます。もっと一般的には,エントロピーは次のように定義されます。

ある系の確率分布(p,p,・・・,p)が与えられたとき,この系のエントロピーHは,
   H=-plogp-plogp・・・-plogp
である。

このエントロピーは,「あいまいさ」を表しています。カード1枚のスーツ(ハートやクラブなど)が持つエントロピーは,ハートについては -(1/4)log(1/4)=-(1/4)×(-2)=1/2になります。他のスーツについても同様ですので,全体として,4×(1/2)=2ビットとなります。
 これと,,先に「ハートであるという情報量は2ビット」というのは偶然ではありません。「ハートだ」という2の情報量を得たことにより2-2=0,すなわち,あいまいさが完全になくなった」ことになります。もし,このとき「赤だ(情報量1)」を得ただけならば,依然として2-1=1ビット(ハートかダイヤか)のあいまいさが残っていることになります。

エントロピー最大

消費者が全然知識のない商品AとBがあり,その商品の販売比率をp,q(=1-p)とします。価格やデザインなどに特別の違いがなければ,p=q=0.5になるでしょう。その理由を,エントロピーの観点から考えます。

この分散確率のエントロピーは,
   H=-plogp-(1-p)log(1-p)
となりますが,このグラフは次のようになり,p=0.5(q=0.5)のときに最大になります。
 これは,熱力学の第2法則「エントロピーは常に時間とともに増大する」ので,特に制約を加えない限り,結果としてHが最大になるp=q=0.5の状態になることとも一致します。

Hの上式のグラフ

1因子情報路による銘柄選択

問題の理解と簡単な数値例

1因子情報路による銘柄選択の問題

消費者が全然知識のない商品AとBがあり,Aの価格は100円,Bの価格は200円とします。商品AとBの販売比率p,q(=1-p)を求めなさい。

もし,価格の条件がなければ,エントロピー最大の法則により,p=q=0.5になります。また,エントロピーを考えないならば,Aだけが売れるでしょうから,p=1,q=0になります。でも,現実の経験ではこのようにならず,p=0.6,q=0.4程度になると思われます。

次の条件を設定します。このように,エントロピー最大化を制限する条件が1つのとき,1因子情報路といいます。

費用最小化の条件
消費者は,費用を最小にしようと行動します。費用の期待値は,
   C=100p+200q
ですが,C=100(p+2q)として100を省略しても同じことですし,さらに一般化して(a=1,b=2)
   C=ap+bq → 最小
とします。
エントロピー最大化の条件
消費者は,AとBについて価格以外の情報を得ていないので,消費者がばらばらな行動をします。迷いがあるといってもよいでしょう。それで,結果として,エントロピーが最大になります。
   H=-plogp-qlogq → 最大

C→最小,H→最大とするpとq(=1-p)を求めるのは,H/C→最大となるpを求めればよいことになります。
 ここからのプロセスは高度な数学的素養を必要とするので省略し,その結論だけを示しますと,
   Xa+X=1
の根Xを求め,それから
   p=X
   q=X
を求めればよいのです。

これに,a=1,b=2をあてはめると,
   X+X=1
   ∴ X=0.618 (X>0だけを採用)
   p=X=0.618 ・・・ 61.8%
   q=X=0.382 ・・・ 38.2%
が得られます。この値は,経験と合致する値になっています。

なお,参考までに,このときのエントロピーは,
   H=-plogp-qlogq
    =-0.618×log(0.618)-0.382×log(0.382)
    =-0.618×(-0.694)-0.382×(-1.388)
    =0.959
になります。

これを一般化すると,次の手順が得られます。

1因子情報路での銘柄選択の手順

n個の銘柄があり,その特性(価格)がc,c,・・・,cであるとき,
   X1+X2+・・・+Xn=1
の根をX(0<X<1)とすれば,
 n個の銘柄の分散確率(販売比率),p,p,・・・,pは,
   p=X1, p=X2, ・・・, p=Xn
で求められる。

計算プログラム

このように手順は簡単ですが,困難なのは,
   X+X+・・・+X=1
を求めることですね。それで,計算ツールを作成しておきました。

銘柄個数=(2から10まで)
銘柄特性(価格)=

販売比率(%) =

上のケースならば,
入力
  銘柄個数=2
  特性値(価格)=100と200(1と2でも同じになります)
と入れて,[実行]ボタンをクリックすれば,
出力
  販売比率(%)=61.8 38.2(pとqの値)
が得られます。すなわち,Aが61.8%,Bが38.2%の比率になると予測されます。

応用例

価格の決定

実際には,AとBの販売比率が60%と40%でした。ややBが売れています。Aが61.8%,Bが38.2%の比率でよいとすれば,顧客はBに何らかの価値を見出して価格200円よりも安いと感じたのでしょう。では,いくらの価値を感じたのでしょうか?

p=X→logp=alogX→logX=logp/a,q=X→logq=blogX→logX=logq/bですので,
   logp/a=logq/b→b=a×(logq/logp)
の関係があります。これから,
   b=a(logq/logp)
    =100×(log0.4/log0.6)=100×(-1.32/-0.74)
    =179円
が得られます(上の計算プログラムで100と179を入力すれば,出力が60%と40%になることからも確認できます)。
 すなわち,顧客は 200-179=21円 の価値を感じたということになります。

pと log(1-p)/logp のグラフは下図のようになります。p=0.6の縦軸の値は1.79です。それでbが179円だということになります。

「価格」と「効用」

ここまでは,200円を支払うことは100円を支払うことの2倍の負担(マイナスの効用)であるというように,価格と負担とは比例していると仮定してきました。しかし厳密には,1.5倍程度にか感じないかもしれませんし,2.5倍に思うかもしれません(上の例で,他の価値がないとすれば,1.79倍に感じたことになります)。何らかの変換により,比例関係にすることが必要になります。

ここでは,マイナスの効用を最小化することにしましたが,例えば遊園地の半日券や1日券のようにプラスの効用を最大化する形式の問題もあります。そのような場合には,例えば効果の逆数を最小化するというような工夫により,これまでの考え方を適用することができます。


固定客と流動客

Aが100円でBが200円ならば,61.8%,38.2%になるはずなのに,実際の販売比率は60%と40%でした。その違いは価格と効用の違いだともいえますが,固定客がいるのだと考えることもできます。すなわち,AとBに固定客があり,その残りの流動客が,上記のようなあいまいな行動をとるのだという考えかたです。

考えかた

AとBの実際の販売比率をq[a](=0.6)とq[b](=0.4)とし,固定客を考えなかったときの,AとBの販売比率をr[a](=0.618)とr[b](=0.382)とします。そして,AとBの固定客比率をp[a]とp[b],流動客の比率をpとします。

Aの実際販売比率q[a]は,Aの固定客p[a]に,流動客の一部が加わったものですし,流動客がAを買う確率はr[a]なのですから,Bについても同様に考えれば,
   p[a] + r[a]・p = q[a]  ・・・ p[a]=0.618 - 0.6p   (ア)
   p[b] + r[b]・p = q[b]  ・・・ p[b]=0.328 - 0.4p
が成立します。
 また,p[a]もp[b]も正であることから,pの範囲は,
   0≦p≦min{r[a]/q[a],r[b]/q[b]}=min{1.03,0.955}=0.955
ですし,そして,固定客を考えなかったときのエントロピーH0は,
   H0=-r[a]logr[a] - r[b]logr[b]
     =-0.618×log(0.618)-0.382×log(0.382)
     =0.959
でした。

固定客を考えたときのエントロピーHは,
   H=流動客の確率がもつエントロピー          要素1
    +固定客の確率がもつエントロピー          要素2
    +固定客を考えなかったときの確率のもつエントロピー 要素3
になります。

ここで、流動客の確率を p とすれば、
 要素1でのA・B確率は、q[a]-r[a]・p, q[b]-r[b]・p になるので
   -(q[a]-r[a]・p)log(q[a]-r[a]・p)-(q[b]-r[b]・p)log(q[b]-r[b]・p)
 要素2は、-plogp
 要素3は、p*H0
になります。

    H=-(q[a]-r[a]・p)log(q[a]-r[a]・p)-(q[b]-r[b]・p)log(q[b]-r[b]・p)
   -plogp + p×H0
 これに既知の値を代入して、   H=-(0.6-0.618・p)log(0.6-0.618・p)-(0.4-0.382・p)log(0.4-0.382・p)-p・(logp-0.959)
そして、Hを最大とするp(0≦p≦0.955)の値を求めることになります。

この計算を後述の計算プログラムで解くと,p=0.50になります。
 それを(ア)式に代入することにより,p[a]=0.291,p[b]=0.209 が得られます。すなわち,
   Aの固定客比率=29.1%
   Bの固定客比率=20.1%
   流動客比率  =50.0%
となります。

これを一般化すれば,次の手順になります。

固定客比率と流動客比率の求め方

n個の銘柄があり,銘柄iの特性値c[i],実際の販売比率をq[i]とする。
   XC[1]+XC[2]+・・・+XC[n]=1
の根をXとして,
   r[1]=XC[1],r[2]=XC[2],・・・,r[n]=XC[n]
   H0=-r[1]logr[1] - r[2]logr[2] -・・・ - r[n]logr[n]
を計算する。
   p[1] = q[1] -r[1]・p
   p[2] = q[2] -r[2]・p
     :
   p[n] = q[n] -r[n]・p
とし,0≦p≦min{r[1]/q[1],r[2]/q[2],・・・,r[n]/q[n]} の範囲で,
   H=-p[1]logp[1] -p[2]logp[2] -・・・-p[n]logp[n]-p(logp -H0)
が最大となるpを求める。

このpが流動客の比率である。
 そして,銘柄iの固定客の比率は,
   p[i] = q[i] -r[i]・p
により計算する。

計算プログラム

上の数値例では,
   銘柄の個数=2
   銘柄特性値(価格)=100と200(1と2でもよい)
   実績販売比率(%)=60と40
を入力します。

[実行]ボタンをクリックすると,次の結果が表示されます。
   固定客比率(%) =29.1と20.9
   流動客比率(%) =50

入力
銘柄の個数=(2≦n≦10の整数)
銘柄特性値(価格)=
実績販売比率(%)= (合計=100%)
出力
固定客比率(%) =
流動客比率(%) =

問題の再検討

単純に,
   Aの固定客を想定しない理論販売比率(61.8%)-Aの実績販売比率(60%)=1.8%が流動客
だとしてはいけません。
 その理由は,Aの顧客の全部が固定客ではないし,Bにも固定客がいるからです。

グラフによる説明