条件つき期待値と期待値の繰り返しの公式をちゃんと理解する

公開:
統計 #条件つき期待値 #期待値の繰り返しの公式

確率論や機械学習の本を読んでいると

  • 条件付き期待値 E[YX]E[Y| X]
  • 期待値の繰り返しの公式(全期待値の法則)

が当たり前のように出てきます。たとえば、強化学習ではベルマン方程式の変形に必ず出てくるし、ベイズ統計や混合分布の解析でも「全期待値の法則」を多用します。

この記事では、

  • 条件付き期待値とは何か
  • なぜ「期待値の繰り返しの公式」 E[E[YX]]=E[Y]E[E[Y| X]] = E[Y] が成り立つのか

を、定義から式を追いながら丁寧に説明します。以下、基本的には連続型の確率変数を想定しますが、離散型でもほぼ同じ形で書けます。

期待値のおさらい

まず普通の期待値から。

確率変数 XX確率密度関数fX(x)f_X(x) とするとき、期待値は

E[X]=xfX(x)dxE[X] = \int_{-\infty}^{\infty} x\, f_X(x)\, dx

と定義されます[1]

条件つき期待値の定義

2 つの確率変数 (X,Y)(X,Y) を考、同時確率密度関数を fX,Y(x,y)f_{X,Y}(x,y) と置きます[2]。「X=xX = x だと分かっているときの YY の分布」の条件つき確率密度関数

fYX(yx)=fX,Y(x,y)fX(x)(ただし fX(x)>0)f_{Y| X}(y | x) = \frac{f_{X,Y}(x,y)}{f_X(x)} \quad (\text{ただし } f_X(x) > 0)

で定義されます。 これを変形すると

fX,Y(x,y)=fYX(yx)fX(x)f_{X,Y}(x,y) = f_{Y| X}(y | x)\, f_X(x)

とも書けます。「同時分布 = 条件つき分布 ×\times 周辺分布という関係式のほうが捉えやすいかもしれません。

数値としてみる

X=xX = x が与えられたときの YY の期待値」を

E[YX=x]=yfYX(yx)dyE[Y| X = x] = \int_{-\infty}^{\infty} y\, f_{Y| X}(y | x)\, dy

と定義します。ここで重要なのは:

  • xx を「固定した値」とみなしているので、E[YX=x]E[Y| X=x]ひとつの数値 です。
  • しかし、xx をいろいろ動かすと、その値が変わる。 つまり xE[YX=x]x\mapsto E[Y| X=x]xx の関数 になっている。

という点です。

関数として見る

さきほどの E[YX=x]E[Y| X=x] を「xx の関数」として考えることができ

g(x):=E[YX=x]=yfYX(yx)dyg(x) := E[Y| X = x] = \int_{-\infty}^{\infty} y\, f_{Y| X}(y | x)\, dy

と置いてみます。すると、g(x)g(x) は普通の関数になっていて、xx が変化するにつれて E[YX]E[Y|X] がどのように変化するかを考えることができます。

さらに一歩進めて、確率変数 XX の分布を考えることで、g(X)g(X) を確率変数として考えることもできます。「XX の値に応じて g(x)g(x) がランダムに決まる」という意味を持ちます。 この g(X)g(X)

E[YX]:=g(X)E[Y|X] := g(X)

と定義します。つまり、

  • E[YX=x]E[Y| X = x] は数値(「X=xX=x のときの値)
  • E[YX]E[Y| X] は確率変数

と考え分けることができます。

期待値の繰り返しの公式

さて、ここからが本題です。期待値の繰り返しの公式

E[E[YX]]=E[Y]E\bigl[E[Y| X]\bigr] = E[Y]

という関係です。ぱっと見ると期待値の期待値となっていてよく分からない感じですが、以下では、積分計算を追って理解していきます。念の為、使用する記法をまとめておきます:

  • 同時密度:fX,Y(x,y)f_{X,Y}(x,y)
  • 周辺密度:fX(x)f_X(x), fY(y)f_Y(y)
  • 条件つき密度:fYX(yx)f_{Y| X}(y| x)
  • 関数 g(x)=E[YX=x]g(x) = E[Y| X = x]

導出(まとめ)

まず初めに解説なしで式変形の全貌を示しておきます:

E[g(X)]=E[E[YX]]=g(x)fX(x)dx=(E[YX])fX(x)dx=(yfYX(y)dy)fX(x)dx=(yf(x,y)fX(x)dy)fX(x)dx=yf(x,y)dxdy=E[Y]\begin{align*} E[g(X)] &= E[E[Y|X]] \\ &= \int_{-\infty}^\infty g(x) f_X(x) dx \\ &= \int_{-\infty}^\infty \left( E[Y|X] \right) f_X(x) dx \\ &= \int_{-\infty}^\infty \left( \int_{-\infty}^\infty y f_{Y|X}(y) dy\right) f_X(x) dx \\ &= \int_{-\infty}^\infty \left( \int_{-\infty}^\infty y \frac{f(x,y)}{f_X(x)} dy\right) f_X(x) dx \\ &= \int_{-\infty}^\infty \int_{-\infty}^\infty y f(x,y) dxdy \\ &= E[Y] \end{align*}

導出(解説付き)

まず、E[YX]=g(X)E[Y| X] = g(X) は確率変数で、通常の期待値の定義を適用することで

E[g(X)]=E[E[YX]]=g(x)fX(x)dxE[g(X)] = E[E[Y|X]] = \int_{-\infty}^{\infty} g(x)\, f_X(x) dx

と書けます。次に、g(x)g(x) の定義

g(x)=E[YX=x]=yfYX(yx)dyg(x) = E[Y| X=x] = \int_{-\infty}^{\infty} y\, f_{Y| X}(y| x)\, dy

を代入します:

E[E[YX]]=g(x)fX(x)dx=(yfYX(yx)dy)fX(x)dx=y(fYX(yx)fX(x))dydx\begin{align*} E[E[Y| X]] &= \int_{-\infty}^{\infty} g(x)\, f_X(x)\, dx \\ &= \int_{-\infty}^{\infty} \left( \int_{-\infty}^{\infty} y\, f_{Y| X}(y| x)\, dy \right) f_X(x) dx \\ &= \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y \left(f_{Y| X}(y| x) f_X(x) \right) dydx \\ \end{align*}

ここで、条件つき密度の定義より

fYX(yx)fX(x)=fX,Y(x,y)f_{Y| X}(y| x)\, f_X(x) = f_{X,Y}(x,y)

が成り立ちます。これを上式に代入すると

E[E[YX]]=yfX,Y(x,y)dydx\begin{align*} E[E[Y| X]] &= \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y f_{X,Y}(x,y) dydx \end{align*}

です。ここで、(YY の絶対値の期待値が有限であるなどの条件のもと)Fubini の定理を使って積分の順序を入れ替えると

yfX,Y(x,y)dydx=yfX,Y(x,y)dxdy\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y\, f_{X,Y}(x,y)\, dy\, dx = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y\, f_{X,Y}(x,y)\, dx\, dy

です。したがって

E[E[YX]]=yfX,Y(x,y)dxdyE[E[Y| X]] = \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} y\, f_{X,Y}(x,y)\, dx\, dy

となります。

周辺密度 fY(y)f_Y(y) の定義は

fY(y)=fX,Y(x,y)dxf_Y(y) = \int_{-\infty}^{\infty} f_{X,Y}(x,y)\, dx

なので、先ほどの式の内側の積分はまさに fY(y)f_Y(y) です。よって

E[E[YX]]=(yfX,Y(x,y)dx)dy=y(fX,Y(x,y)dx)dy=yfY(y)dy\begin{align*} E[E[Y| X]] &= \int_{-\infty}^{\infty} \left( \int_{-\infty}^{\infty} y\, f_{X,Y}(x,y)\, dx \right) dy \\ &= \int_{-\infty}^{\infty} y \left( \int_{-\infty}^{\infty} f_{X,Y}(x,y)\, dx \right) dy \\ &= \int_{-\infty}^{\infty} y\, f_Y(y)\, dy \end{align*}

これは YY の期待値の定義そのものです:

yfY(y)dy=E[Y]\int_{-\infty}^{\infty} y\, f_Y(y)\, dy = E[Y]

よって

E[E[YX]]=E[Y]E[E[Y| X]] = E[Y]

が示されました。これが期待値の繰り返しの公式(全期待値の法則)です。[3]

まとめ

導出の式をもう一度眺めると、

E[E[YX]]=(yfYX(yx)dy)fX(x)dx=yf(x,y)dxdyE[E[Y| X]] = \iint \left(y f_{Y|X}(y|x) dy \right) f_X(x)dx = \iint y f(x,y) dxdy

E[Y]=yfY(y)dyE[Y] = \int y\, f_Y(y)\, dy

とが同じである、という話でした。

一見すると不思議な式なのですが、積分の中身に注目すると

  • E[E[YX]]E[E[Y| X]] の中身は
    • まず「X=xX=x ごとの条件つき期待値」を計算し
    • それを XX の分布 fX(x)f_X(x) で平均している
  • 実際にはそれが
    • (X,Y)(X,Y) の同時分布 fX,Y(x,y)f_{X,Y}(x,y) による yy の期待値」
    • ひいては「YY の周辺分布 fY(y)f_Y(y) による期待値」と完全に一致している

ということを言っているに過ぎません。

つまり本質的には、YY の期待値を、

  1. まず X=xX=x ごとの条件つき期待値に分解し
  2. その後 XX の分布で重み付き平均し直した

だけの話です。 この「条件で分解 → 条件の確率で平均」というパターンが、強化学習、ベイズ推論、混合分布の解析などで頻繁に顔を出します。


脚注

  1. 積分区間はここでは (,)(-\infty,\infty) と書きましたが、実際には XX がとりうる範囲に応じて変わります。)^[たとえば X0X\ge 0 なら 0\int_0^\infty、区間 [0,1][0,1] の一様分布なら 01\int_0^1 など。 ↩︎
  2. f(x,y)f(x,y) と書くこともあります ↩︎
  3. 『現代数理統計学』 p.52 など、多くの教科書で同様の形が紹介されています。 ↩︎