読者です 読者をやめる 読者になる 読者になる

Take a Risk:林岳彦の研究メモ

自らの研究に関連するエトセトラについてのメモ的ブログです。主にリスク学と統計学を扱っています。

変動性と不確実性について説明してみた

リスク 統計

変動性と不確実性の説明に関する自作メモです。

変動性と不確実性

推測には不可避的に不確実性が伴います。一般に、その不確実性の内訳は次の二つに分けられます*1

Total uncertainty = Variability + Uncertainty

ここでvariability(変動性)は「システムに内在する要因による偶然的バラツキ」を意味します*2。一方、uncertaintyは「対象に対する知識の不足」に起因するものです。

両者の特徴としては、データ・情報の追加によって、uncertaintyは減少しうるのに対しvariabilityは減少しないことが挙げられます。

以下に例を挙げてみていきましょう。

例:火星人の身長の分布を推測してみる

仮想的な例として、火星人の身長を、以下の火星人10人の身長サンプルから推測してみましょう*3

Hight <- c(204, 287, 128, 183, 220, 167, 139, 178, 121, 145)


ここでモデルとして「火星人の身長は正規分布に従う」と仮定します。このときベイズの枠組みを用いると、平均値パラメータthetaの事後分布は一般化t分布に従うので、以下のように計算できます*4

# Function for generating random variables from generalized-t distribution (see p120 in Watabe 1999)
rGT <- function(x,mu,lambda,v){
sqrt(lambda)*rt(x,v,0) + mu
}


# plotting randomly generated data from generalized-t distritbuion
theta.post.dist <- rGT(50000,mean(Hight),var(Hight)/length(Hight),length(Hight)-1)
plot(density(theta.post.dist),xlab="theta",ylab="Density",main="",lty=1)

また分散パラメータsigma2の事後分布は逆カイ二乗分布に従います*5

# Function for generating random variables from inversed Chi-square distribution (see p120 in Watabe 1999)
rIC <- function(z,v,lambda){
lambda*(1/rchisq(z,v))
}


# plotting randomly generated data from inversed Chi-square distribution
sigma2.post.dist <- rIC(50000,length(Hight)-1,(length(Hight)-1)*var(Hight))
plot(density(sigma2.post.dist),xlim=c(0,12000),xlab="sigma2",ylab="Density",main="",lty=1)


上記から得られる図は以下のようになります。

ここで左図は平均値パラメータthetaの事後分布、右図は分散パラメータsigma2の事後分布を表しています。


この例における不確実性(total uncertainty)の内訳としては、それぞれの分布の事後分布の幅がuncertaintyを表し、分散パラメータsigma2の値がvariabilityを表します*6。つまり、右図の分布は"variabilityのuncertainty"を表しているということになります。

一般にデータが増えるほど、事後分布の幅は狭くなっていきますが(uncertaintyが減少する)、分散パラメータの値自体がゼロに近づいていくというわけではありません(variabilityは減少しない)。


ここでuncertaintyを考慮した推測分布と考慮していない推測分布を以下のように描いてみましょう。

#plotting distribution with median parameters
x <- seq(0,400,length=1000)
plot(x,dnorm(x,mean=median(theta.post.dist),sd=median(sqrt(sigma2.post.dist))),type="l",xlim=c(0,400),ylim=c(0,0.01),xlab="height",ylab="Probability",main="")


#plotting distribution with posterior samples
plot(x,dnorm(x,mean=median(theta.post.dist),sd=median(sqrt(sigma2.post.dist))),type="l",xlim=c(0,400),ylim=c(0,0.01),xlab="height",ylab="Probability",main="")
for(i in 2:50){
lines(x,dnorm(x,theta.post.dist[i],sqrt(sigma2.post.dist[i])),type="l",xlim=c(0,400),ylim=c(0,0.01),lwd=0.5)
}

ここで左図は各パラメータの事後分布の中央値のみを用いて描いた推定分布、右図は中央値だけでなくパラメータの事後分布からのサンプル50個*7も加えて描いた推定分布です。

予測/リスク評価という視点から考えた場合、左図のようなuncertaintyを無視した推定分布のみを用いることは「推定結果を実際のデータから得られうるものよりも、より正確なものとして見せてしまう」という非常に大きな危険を伴うものです。

モデル自体の不確実性

さて、上記の例で示されたuncertaintyは細かくいうと「パラメータ値のuncertainty」を表しています。しかしながら、もっと重要かつ悩ましい問題として「モデル自体のuncertainty」というものがあります。

例えば、上記の解析例では「火星人の身長は正規分布に従う」というモデルを仮定して解析していますが、果たしてこのモデルは正しいのでしょうか? また、このような「モデル自体の正しさ」というものはどうやって知ることができるのでしょうか?


この「モデル自体のuncertainty」の問題についてはまた改めて書きたいと思います。


関連文献

ベイズ統計学入門

ベイズ統計学入門

入門リスク分析―基礎から実践

入門リスク分析―基礎から実践

地球温暖化の予測は「正しい」か?―不確かな未来に科学が挑む(DOJIN選書20)

地球温暖化の予測は「正しい」か?―不確かな未来に科学が挑む(DOJIN選書20)

明日をどこまで計算できるか?――「予測する科学」の歴史と可能性

明日をどこまで計算できるか?――「予測する科学」の歴史と可能性

Rグラフィックス ―Rで思いどおりのグラフを作図するために―

Rグラフィックス ―Rで思いどおりのグラフを作図するために―

*1:用語法はヴォース「入門リスク分析」に準じます

*2:例えば、河川における化学物質の濃度は、流量の変化などの様々な要因により変動することが知られている。このような対象の性質そのものに付随して生じるバラツキをvariabityと呼ぶ。

*3:ここからはRの文法で記述していきます

*4:局所一様分布を仮定。このRスクリプトは適当に自作したので間違ってるかもしれないので要注意。渡部(1999) p120を参考とした。

*5:局所一様分布を仮定。このRスクリプトも適当に自作したので間違ってるかもしれない。渡部(1999) p120を参考とした。

*6:分散パラメータsigma2は対象における内在的要因に起因する(我々の知識の量とは関係なく存在する)身長のバラツキに対応する

*7:注:パラメータ間の相関は無視しています