Zenn
🤖

誤差伝播の乗法の公式の話

2021/04/10に公開
3

概要

誤差伝播の公式というものがある。なにか誤差がある量を加減乗除したときに、誤差がどのようになるか、ということを教えてくれる公式だ。例えば、いまXXという量が、ΔX\Delta Xという誤差を、YYという量がΔY\Delta Yという誤差を持っているとき、その積であるXYXYの誤差はどうなりますか?ということを問うのが誤差伝播である。

実験などでは、測定値の和や差より積を計算することが多いため、積の誤差伝播公式をよく使う。X±ΔXX \pm \Delta XY±ΔYY \pm \Delta Yの積は、

(X+ΔX)(Y+ΔY)=XY+XΔY+YΔX+ΔXΔYXY+XΔY+YΔX \begin{aligned} (X + \Delta X)(Y + \Delta Y) &= XY + X\Delta Y + Y \Delta X + \Delta X \Delta Y \\ &\sim XY + X\Delta Y + Y \Delta X \end{aligned}

ΔXΔY\Delta X \Delta Yを高次の項として無視して、最終的に

(X±ΔX)(Y±ΔY)XY±(XΔY+YΔX) (X \pm \Delta X)(Y \pm \Delta Y) \sim XY \pm (X\Delta Y + Y \Delta X)

と書き、XΔY+YΔXX\Delta Y + Y \Delta Xを誤差をみなす、というのが一般的だ。これは、以下のように面積図で説明されることが多い。

fig

自分の誤差(ΔX\Delta X)が、相方(YY)によって引き延ばされる(YΔXY \Delta X)ようなイメージだ。

もしくは、テイラー展開による説明を聞いたかもしれない。ある変数XXの関数f(X)f(X)について、XXΔX\Delta Xだけずれた影響は一次のテイラー展開で

f(X+ΔX)f(X)+f(X)ΔX f(X+\Delta X) \sim f(X) + f'(X) \Delta X

と書けるため、誤差ΔX\Delta Xf(X)f'(X)により引き延ばされる。今は、二変数なのでf(X,Y)=XYf(X,Y) = XYとして、二変数関数の一次のテイラー展開をすれば、同じ結果が得られる。

以上の説明は非常にわかりやすいのだが、テキストなどで、「以下の公式の方が正しい(より正確だ)」と説明されて混乱する人がいる。

(X±ΔX)(Y±ΔY)XY±X2ΔY2+Y2ΔX2 (X \pm \Delta X)(Y \pm \Delta Y) \sim XY \pm \sqrt{X^2\Delta Y^2 + Y^2 \Delta X^2}

本稿では、上記の誤差伝播の公式をちゃんと導出して、なぜ後者の方が「良い」公式なのかを説明する。

誤差とはなにか

誤差という言葉が意味するものは難しい。たとえば実験で定規を使ってなにかの長さを測定したとき、メモリは1mmまでしかないが、目分量で0.1mmまで値を読みなさい、と指導されることがある。このとき、当然ながら0.01mm以下の長さについてはまったく情報がないし、0.1mmの値だって怪しいであろう。すると、全く同じものを別の人が測定した場合(もしくは同じ人が別の日に測定した場合)、値がばらつくことになる。

そこで、何度も測定して、その平均値を測定値としたくなる。例えば10回測定した平均値を考えるとき、さらに10回測定するとまた異なる平均値になるであろう。つまり、測定値を確率変数とみなすことができる。

以後、確率変数をX^\hat{X}のようにハットをつけて表現しよう。確率変数X^\hat{X}に対する期待値を<X^>\left< \hat{X} \right>とする。期待値は、以下のような線形性を満たす。

<aX^+bY^>=a<X^>+b<Y^> \left< a \hat{X} + b \hat{Y} \right> = a \left<\hat{X}\right> + b \left<\hat{Y}\right>

また、確率変数X^\hat{X}と確率変数Y^\hat{Y}が独立である時、積の期待値が期待値の積で書ける。

<X^Y^>=<X^><Y^> \left<\hat{X}\hat{Y}\right> = \left<\hat{X}\right>\left<\hat{Y}\right>

ある確率変数X^\hat{X}について期待値μX\mu_Xと分散σX2\sigma_X^2を以下のように定義する。

μX<X^>σX2<(X^μX)2> \begin{aligned} \mu_X &\equiv \left< \hat{X} \right> \\ \sigma_X^2 &\equiv \left< (\hat{X} - \mu_X)^2 \right> \end{aligned}

このとき、標準偏差σX\sigma_Xを「誤差」とみなし、X^\hat{X}の測定値XX

X=μX±σX X = \mu_X \pm \sigma_X

と表記することを約束する。つまりここでは「誤差」を「測定値を確率変数とみなした場合の標準偏差」であるとする。

以上で準備が整った。我々は、平均値がそれぞれμX,μY\mu_X, \mu_Y、分散がσX2,σY2\sigma_X^2, \sigma_Y^2であるような確率変数X^\hat{X}Y^\hat{Y}について、その期待値μXY\mu_{XY}と分散σXY2\sigma_{XY}^2を求め、最終的に

XY=μXY±σXY XY = \mu_{XY} \pm \sigma_{XY}

と書きたい。簡単のため、平均値は正(μX>0,μY>0\mu_X > 0,\mu_Y > 0)であるとする。また、X^\hat{X}Y^\hat{Y}は独立であるとする。するとμXY=μXμY\mu_{XY} = \mu_X \mu_Yである。

したがって、求めたいのはσXY\sigma_{XY}である。真面目に定義から計算しよう。

σXY2<(X^Y^μXμY)2>=<X^2Y^2>2μXμY<X^Y^>+μX2μY2=<X^2><Y^2>μX2μY2=μX2σY2+μY2σX2+σX2σY2=μX2μY2(σX2μX2+σY2μY2+σX2μX2σY2μY2)=μX2μY2(εX2+εY2+εX2εY2) \begin{aligned} \sigma_{XY}^2 & \equiv \left< (\hat{X}\hat{Y} - \mu_X \mu_Y)^2\right>\\ &= \left<\hat{X}^2\hat{Y}^2\right> - 2\mu_X \mu_Y \left<\hat{X} \hat{Y}\right> + \mu_X^2 \mu_Y^2\\ &= \left<\hat{X}^2\right> \left<\hat{Y}^2\right> -\mu_X^2 \mu_Y^2\\ &= \mu_X^2 \sigma_Y^2 + \mu_Y^2 \sigma_X^2 + \sigma_X^2 \sigma_Y^2\\ &= \mu_X^2 \mu_Y^2 \left( \frac{\sigma_X^2}{\mu_X^2}+ \frac{\sigma_Y^2}{\mu_Y^2}+ \frac{\sigma_X^2}{\mu_X^2}\frac{\sigma_Y^2}{\mu_Y^2} \right) \\ &= \mu_X^2 \mu_Y^2 \left(\varepsilon_X^2+\varepsilon_Y^2+ \varepsilon_X^2\varepsilon_Y^2\right) \end{aligned}

ただし最後で、σX2/μX2=εX2\sigma_X^2/\mu_X^2 = \varepsilon_X^2σY2/μY2=εY2\sigma_Y^2/\mu_Y^2 = \varepsilon_Y^2と表記した。

さて、もとの分布がどんなであれ、何度も測定を繰り返して平均値を計算すれば、その平均値の分布はガウス分布に近づき、サンプル数を増やすほどその分散が小さくなる(中心極限定理)。したがって、十分な回数の観測を行えば、平均値の絶対値に対して分散が十分に小さくなるであろう。いま、εX\varepsilon_XεY\varepsilon_Yがどちらもε\varepsilonのオーダーであるとし、ε1\varepsilon \ll 1であるとしよう。するとεX2εY2ε2\varepsilon_X^2 \sim \varepsilon_Y^2 \sim \varepsilon^2に対してεX2εY2\varepsilon_X^2\varepsilon_Y^2ε4\sim \varepsilon^4と高次の項になるため無視して良い。

以上から、

σXY2μX2μY2(εX2+εY2)=μX2σY2+μY2σX2 \begin{aligned} \sigma_{XY}^2 &\sim \mu_X^2 \mu_Y^2 \left(\varepsilon_X^2+\varepsilon_Y^2\right)\\ &= \mu_X^2 \sigma_Y^2+\mu_Y^2 \sigma_X^2 \end{aligned}

である。したがって、

XY=μXμY±μX2σY2+μY2σX2 XY = \mu_X \mu_Y \pm \sqrt{\mu_X^2 \sigma_Y^2+\mu_Y^2 \sigma_X^2}

これが「正確な方」の公式である。

さて、実用的には平方根が面倒なので外したい。

σXY2=μX2μY2(εX2+εY2) \sigma_{XY}^2 = \mu_X^2 \mu_Y^2 \left(\varepsilon_X^2+\varepsilon_Y^2\right)

であったのを、右辺の括弧の中に2εXεY2 \varepsilon_X \varepsilon_Yを足してやろう。すると平方完成することができる。

σXY2=μX2μY2(εX2+2εXεY+εY2)=(εX+εY)2 \begin{aligned} \sigma_{XY}^2 &= \mu_X^2 \mu_Y^2 \left(\varepsilon_X^2+2 \varepsilon_X \varepsilon_Y+ \varepsilon_Y^2\right)\\ &= (\varepsilon_X + \varepsilon_Y)^2 \end{aligned}

すると、最初に現れた方の公式

XY=μXμY±(μXσY+μYσX) XY = \mu_X \mu_Y \pm (\mu_X \sigma_Y + \mu_Y \sigma_X)

が得られた。ここで注意したいのは、先ほど足したεXεY\varepsilon_X \varepsilon_Yε2\varepsilon^2のオーダーであり、εX2,εY2\varepsilon_X^2,\varepsilon_Y^2に対して無視できない量である。

簡単のため、μX=μY=μ,σX=σX=σ\mu_X=\mu_Y=\mu, \sigma_X = \sigma_X = \sigmaとすると、正確な方の公式の誤差は2μσ\sqrt{2} \mu \sigma、後者の公式は2μσ2 \mu \sigmaとなり、2\sqrt{2}倍だけ誤差を過大評価している。

これは、後者の公式では、XXYYの平均値からのずれ方(ずれる方向)が同じであると仮定してしまっているからだ(最初の面積図を参照)。XXが平均から大きくなる方向にずれた時、YYは平均から小さくなることもあるため、「誤差」は打ち消しあうこともある。それが2\sqrt{2}倍の違いとして現れている。

まとめ

測定値の積の誤差の伝播について、以下の二つの公式が用いられる場合がある。

(X±ΔX)(Y±ΔY)XY±XΔY+YΔX (X \pm \Delta X)(Y \pm \Delta Y) \sim XY \pm X\Delta Y + Y \Delta X
(X±ΔX)(Y±ΔY)XY±X2ΔY2+Y2ΔX2 (X \pm \Delta X)(Y \pm \Delta Y) \sim XY \pm \sqrt{X^2\Delta Y^2 + Y^2 \Delta X^2}

これは、測定値を確率変数だと思って、「誤差」を確率変数の標準偏差だと思うならば、後者の方が正確であり、前者は「誤差」を過大評価する。その理由は、前者が複数の変数が「同じように揺らぐ」と仮定してしまっているからだ。

しかし、実際の測定誤差は数%以下のオーダーであることが多く、それが1.4倍に評価されても大きな問題にならないことが多い。ちゃんとした論文であれば気を付けた方が良いが、学生実験くらいならあまり気にしなくて良いような気がする(とか書いたら怒られる?)。

関連記事

GitHubで編集を提案

Discussion

山田(ymd)山田(ymd)

(長文コメントすみません。)
Xbyakなどいつも楽しい記事ありがとうございます。

統計誤差(statistical uncertainty)と系統誤差(systematic uncertainty)があるという説明を飛ばして、どちらの公式が『正確』というのは若干混乱を招くように感じました。

測定値を確率変数だと思って、の部分にその前提が含まれているのだと思いますが、対象読者と思われる初学者(?)は読み流してしまうかもと。

系統誤差の場合、揺らいでいるわけではないので、テイラー展開型の取扱いが適切だと思っています。

また、2\sqrt{2}倍の差の解釈ですが、同じ方向という説明が少し語弊がある気がしています。
(テイラー展開でも、ΔX>0\Delta X > 0, ΔY<0\Delta Y<0は考慮されているので、2つの変数の分布が独立していないことを同じ方向と表現するのは少し乱暴かと)

『独立した2つの分布の同時分布を考えたときに、稀な値と稀な値が同時に起きる確率は更に稀になる』が2\sqrt{2}倍の解釈だと思います。

ロボ太ロボ太

コメントをありがとうございます。統計誤差と系統誤差の説明についてはおっしゃる通りですね。ただ、理工学系の学生さんが最初に実験とかで誤差を説明を受ける時は、「誤差」はほぼ「統計誤差」を指すので、系統誤差は後で良いのかな・・・と。ちゃんと説明した方が良いのはその通りです。

2\sqrt{2}の由来ですが、ちゃんと書くなら「X^\hat{X}Y^\hat{Y}が独立では無い時、積の分散には共分散が入ってくるから」というのが正確だと思います。

例えばX^\hat{X}Y^\hat{Y}が同じ期待値μ\mu、同じ分散σ2\sigma^2を持つとき、この二変数が完全に独立ならX^Y^\hat{X}\hat{Y}の分散は2μ2σ22\mu^2\sigma^2、完全に相関していれば4μ2σ24\mu^2\sigma^2で、分散で2倍ずれて、本稿ではこれを2\sqrt{2}倍の由来としています。

で、共分散の効果を、「二つの確率変数の平均値からのずれ方が同じ」と表現するか、「稀な値と稀な値が同時に起きる確率は更に稀になる」と表現するかは、表現の問題で、同じことを言っているのかな、と思います。

山田(ymd)山田(ymd)

返答ありがとうございます。
記載の意図理解しました。

そうですね、共分散について触れるのが1番誤解を生まない解釈ですね。

また、素敵な記事お待ちしています。

ログインするとコメントできます