階層ベイズモデル、精度か解釈か [データサイエンス、統計モデル]
通常の線形回帰モデルではなく、階層ベイズモデルを使うメリットって何か?
大きく2つあると思います。
(1) 1つ目は、精度が向上すること。
機械学習より精度が向上する場合も多いです。
(2) 2つ目は、よりメカニズムを深く理解できること。
(1)と(2)はトレードオフの関係ですが、階層ベイズモデルをどう定式化するかにも影響を与えます。
例えば、
(model a)
観測モデル y = b1*x1 + b2*x2 + b3*x3 + ε
階層モデル b1 = a0, b1 = a1, b3 = a3
いわゆる階層モデルは切片のみのモデル。
(model b)
観測モデル y = b1*x1 + b2*x2 + ε
階層モデル b1 = a0 + a3*x3
b2 = a0 + a3*x3
b3 = a0 + a3*x3
というように x3 を観測モデルはなく、階層モデルに持っきたモデル。
変数を観測モデルか階層モデルかにするかは、さまざまな議論がありますが、
精度に着目すると、(model a)の方が精度が良いと思われます。
基本的は観測モデルの変数量で精度が決まるので。
なので、高い説明力が欲しいのか、ある程度精度を犠牲にしつつ構造の理解をしたいのかでモデリングの方向性が変わってきます。
大きく2つあると思います。
(1) 1つ目は、精度が向上すること。
機械学習より精度が向上する場合も多いです。
(2) 2つ目は、よりメカニズムを深く理解できること。
(1)と(2)はトレードオフの関係ですが、階層ベイズモデルをどう定式化するかにも影響を与えます。
例えば、
(model a)
観測モデル y = b1*x1 + b2*x2 + b3*x3 + ε
階層モデル b1 = a0, b1 = a1, b3 = a3
いわゆる階層モデルは切片のみのモデル。
(model b)
観測モデル y = b1*x1 + b2*x2 + ε
階層モデル b1 = a0 + a3*x3
b2 = a0 + a3*x3
b3 = a0 + a3*x3
というように x3 を観測モデルはなく、階層モデルに持っきたモデル。
変数を観測モデルか階層モデルかにするかは、さまざまな議論がありますが、
精度に着目すると、(model a)の方が精度が良いと思われます。
基本的は観測モデルの変数量で精度が決まるので。
なので、高い説明力が欲しいのか、ある程度精度を犠牲にしつつ構造の理解をしたいのかでモデリングの方向性が変わってきます。
コメント 0