Passing-Bablok回帰、初知りです。
はじめに
最近同僚の方からPassing-Bablok回帰なるものを教えていただきました。恥ずかしながら初知りだったので、改めて勉強してみましたので、この記事ではPassing-Bablok回帰について簡単にまとめてみようと思います。
Passing-Bablok回帰とは
誤差を含む2次元データに対して直線を当てはめるためのロバストな手法です。これは、XとYの両方の変数が誤差を伴って測定される場合に有効で、特に、2つの測定装置が同じ結果を出すべき場合に、それらを比較する際に役立ちます[1]。これは例えば、線形回帰が
基本形
基本的な形は線形回帰と同じ形をしていて、以下のようになっています。
ここで
傾きの計算
最初に、
ここで、
-
かつx_i = x_j y_i = y_j
この場合は計算に使いません -
かつx_i = x_j y_i > y_j
傾きを とします。m_{ij} = \infty -
かつx_i = x_j y_i < y_j
傾きを とします。m_{ij} = -\infty -
m_{ij} = -1
この場合も計算に使いません。除外します。 -
m_{ij} < -1
傾きの計算に使用しますが、追加して中央値をシフトする数 を1増やします。K
以上で計算したそれぞれのデータからの傾きについて中央値を
このように計算し、得られた傾きの中央値を用いて、外れ値に強いロバストな推定を行います。
切片の計算
先ほど計算した
最初にそれぞれのデータについて切片を計算します。
計算したそれぞれのデータから中央値をとることで切片
最小二乗線との比較
Boston House Priseデータでの最小二乗法とPassing-Bablok法の回帰線のグラフを示します。
部屋数と価格の回帰線を以下に示します。
Passing-Bablok法で描いた回帰線の方が、データの全体的な傾向に合っているように見えます。
性質
Passing-Bablok回帰の性質のいくつかを以下に述べます。
正規分布を仮定しない
Passing-Bablok回帰はノンパラメトリック法であり、データが正規分布に従う必要がありません。
よって、データが歪んでいる場合や分布が不明な場合にも適用できます。
傾きと切片のロバストな推定
全てのデータの組に対する傾きを求め、その中央値を用いて傾きを推定します。この中央値を取るアプローチによって、外れ値の影響を最小限に抑えることができ、結果として推定値の頑健性が確保されます。これにより、データ内に外れ値が存在しても回帰直線のロバスト性が維持されます。
双方向の測定誤差に対応
Passing-Bablok回帰は、説明変数(X)と目的変数(Y)の両方に測定誤差が含まれていることを前提としています。これは、通常の最小二乗法がXの測定誤差を無視することと異なります。
この性質により、双方向の誤差を考慮した公平な分析が可能となります。
負の相関には適用できない
Passing-Bablok回帰は、傾きを計算する際に、特定のデータ対の値をその後の中央値計算に用いないことがあります。この場合分けが正の相関を前提として設計されているため、負の相関が強いデータには適用できません。負の相関の場合は、一度
結論とまとめ
Passing-Bablok回帰は、ノンパラメトリックな手法として、データの分布に関する事前の仮定を必要とせず、外れ値に対しても強いロバストな回帰であることをみました。今後はPassing-Bablok回帰と比較されることが多いTheil-Sen推定法についても記事を書こうと思います。手法や性質の違いを把握して、適切な使い分けを行いたいですね。
Discussion