色々な単回帰の比較
これまで最小2乗回帰(Ordinary Least Squares regression, OLS)、標準主軸回帰(Standard Major axis regression, SMA)又は幾何平均回帰(Geometric Mean Regression, GMR)、主成分回帰、Passing and Bablok法、Theil's Incomplete methodなどを紹介してきました。今回は色々なデータ対して適用してみたいと思います。
以下では(a) Xに対するYのOLS(Yの誤差のみ考慮)、(b) Yに対するXのOLS(Xの誤差のみ考慮)、(c) SMA、(d) PCR、(e) PB(Passing and Bablok法)、(f) TI(Theil's Incomplete method)として比較します。
Yに誤差が含まれる場合
0~1の等間隔データ100点をXとして、Y=Xとして、Yに標準偏差0.1の正規分布に従うノイズを乗せたデータを考え、これに各手法を適用します。適用結果を下記に示します。グラフ中の実線がY=Xの正解データ、点線が各手法での推定値です。
これらの結果の中では、(b)のOLS(Y->X)のみ誤差がありそうです。対象データがYにのみ誤差を含むため、Xにしか誤差が含まない場合傾きが誤差を仮定している方向に寝ていきます。
次にXに標準偏差0.3に従うノイズを乗せたデータを考えます。
この例では(b)の誤差がさらに増加している傾向がわかると思います。
Xに誤差が含まれる場合
次にXに標準偏差0.1の正規分布に従うノイズを乗せたデータを考えます。適用結果を下記に示します。
先ほどとは逆にYにのみ誤差を考える(a) OLS(X->Y)に誤差が多いです。続いて標準偏差0.3の場合を示しますが、Xに誤差があった場合と同様に(a)のみ回帰の精度が低下していきます。
※(e)、(f)はノンパラメトリックな手法なのでロバスト性と引き換えに精度が低下しています。。。
XとYに誤差が含まれる場合
次にXとY両方に標準偏差0.1の正規分布に従うノイズを乗せたデータを考えます。適用結果を下記に示します。
容易に推測できたように(a) OLS(X->Y)、(b) OLS(Y->X)の二つが精度が低いです。XとYが両方実験から取得したデータを考える場合が本節に相当します。この場合、回帰精度が落ちることは知っておいた方がよいです。
さらに言えば、通常は実験因子Xに対してYの応答を回帰(OLS X->Y)することが多いです。Xがなんらかの手段で観測した数値の場合、当然誤差が含まれるので通常の回帰では傾きは寝てしまいます。
サンプルサイズ影響
先ほどまでは、N=100点のデータでした。次にXとY両方に標準偏差0.1のノイズを乗せてデータをN=300点にしたデータを考えてみます。
XとY両方にノイズがあるため、やはり(a)と(b)は誤差が大きいです。次にN=1000としたデータを示します。
OLSに関して、Xに誤差がある場合の(a)誤差や、Yに誤差がある場合の(b)の回帰の誤差はサンプルサイズを増やしても救済されません。
外れ値影響
最後にN=100点のノイズなしデータに対し、Yに20%の確率で-0.1~+0.1の一様乱数を加えたデータを解析対象としてみます。
ノンパラメトリック手法である(e)、(f)のみ誤差が少ないことがよくわかります。また一様乱数ノイズでも正規分布を仮定している(a)の推定精度は高いようです。
まとめ
色々な単回帰を、色々なデータに適用してみました。通常使われるOLSの問題点と各手法の違いをご理解頂けると嬉しいです。
また、こちらに様々な回帰を簡単に適用できる自作ツールも公開しています。簡単に使えるはずなので、遊んでみてください。