Mímisbrunnr知恵の泉

← 意思決定分析 一覧

🎓 レベル:基礎 | 重要度:A(必須)

📎 前提:意思決定問題の構造(行動・状態・結果・利得表) | 関連:期待効用と効用関数(逆説の解決)

要点(BLUF)

1. 期待値原理:素朴だが強力

くじ(不確実な選択肢)を、もらえる金額の期待値で評価して、最大のものを選ぶ——これが**期待値原理(expected value principle)**です。

E[X]=jpjxj\mathbb{E}[X] = \sum_j p_j\, x_j

多くの実務(保険の保険料計算、反復のある投資)ではこれで十分機能します。同じ賭けを何度も繰り返せるなら、大数の法則で平均は期待値に近づくからです。問題は、一回限りで・金額が極端にばらつくときに起きます。

2. サンクトペテルブルクの逆説

次のくじを考えます。公正なコインを表が出るまで投げ続け、kk 回目で初めて表が出たら 2k2^k 円もらえる。kk 回目に初めて表が出る確率は 1/2k1/2^k です。期待賞金は

E[X]=k=112k2k=k=11=\mathbb{E}[X] = \sum_{k=1}^{\infty} \frac{1}{2^k}\cdot 2^k = \sum_{k=1}^{\infty} 1 = \infty

各項がきっかり1で、足し続けると無限大に発散します。期待値原理に従えば「いくら払ってでも参加すべき」——ところが現実には、ほとんどの人は数百円も払いません。これがサンクトペテルブルクの逆説(Daniel Bernoulli, 1738)です。

import numpy as np

# 賞金 2^k(確率 1/2^k)。各項の寄与は (1/2^k)*2^k = 1 でずっと一定 -> 発散
n_terms = 30
contrib = np.array([(0.5**k) * (2.0**k) for k in range(1, n_terms+1)])
print("各項の寄与(最初の5項):", contrib[:5])
print(f"{n_terms}項までの期待値(部分和)= {contrib.sum():.1f}")

出力:

各項の寄与(最初の5項): [1. 1. 1. 1. 1.]
30項までの期待値(部分和)= 30.0

出力の意味:各項の寄与がずっと 1 のまま——項を増やすほど部分和は際限なく増えます(30項で30、100項で100)。数学的には期待値は無限大。にもかかわらず人が大金を払わないのは、「莫大だがほぼ起きない賞金」の寄与を、人はそれほど重く感じないから。期待値はこの心理を捉えられません。

3. 解決:効用の期待値で評価する

Bernoulli の解決は「人が評価するのは金額そのものではなく、金額がもたらす効用(嬉しさ)だ」というものでした。効用が逓減する(例:u(w)=logwu(w)=\log w)なら、巨額の賞金の効用は頭打ちになり、期待効用は有限に収まります。

底2の対数効用 u(w)=log2wu(w)=\log_2 w で、このくじの期待効用を計算してみます。

import numpy as np

# 対数効用なら有限:E[log2(賞金)] = sum (1/2^k)*log2(2^k) = sum k/2^k
exp_log = np.sum([(0.5**k) * np.log2(2.0**k) for k in range(1, 200)])
print(f"対数効用(底2)の期待効用 = {exp_log:.4f}")
# 確実性等価:この期待効用と同じ効用を与える確実な金額
print(f"確実性等価 = 2^(期待効用) = {2**exp_log:.2f} 円")

出力:

対数効用(底2)の期待効用 = 2.0000
確実性等価 = 2^(期待効用) = 4.00 円

出力の意味:効用で評価すると、無限大だった価値が期待効用 2.0(確実な4円ぶんの嬉しさ)にまで縮みます。k/2k=2\sum k/2^k = 2 という収束級数のおかげです。「逆説の正体は、無限大の金額を有限の効用に変換しなかったこと」だった——これが、結果ではなく結果の効用の期待値で選ぶべきという、期待効用と効用関数の動機です。

数式の直観的意味:発散の止め方

(1/2k)2k\sum (1/2^k) \cdot 2^k が発散するのは、賞金 2k2^k が確率の減り 1/2k1/2^k とちょうど打ち消し合うからです。効用 uu が**凹(逓減)**なら、u(2k)u(2^k)2k2^k ほど速く増えません。例えば log2(2k)=k\log_2(2^k)=kkk について線形でしかなく、k/2k\sum k/2^k は収束します。効用関数の凹性が、賞金の爆発を抑えて期待値を有限化する——リスク回避(リスク選好と効用の凹凸)の数理的な核心がここに既に現れています。

⚠️ よくある誤解

対応シミュレーション

本文のコードで、項数を増やすと期待値(金額)が発散する一方、対数効用の期待効用が 2.0 に収束する対比を確かめられます。効用関数を w\sqrt{w} など他の凹関数に変えても収束を保つことを試せます。

関連ノート