🙇‍♂️

Passing-Bablok回帰、初知りです。

に公開

はじめに

最近同僚の方からPassing-Bablok回帰なるものを教えていただきました。恥ずかしながら初知りだったので、改めて勉強してみましたので、この記事ではPassing-Bablok回帰について簡単にまとめてみようと思います。

Passing-Bablok回帰とは

誤差を含む2次元データに対して直線を当てはめるためのロバストな手法です。これは、XとYの両方の変数が誤差を伴って測定される場合に有効で、特に、2つの測定装置が同じ結果を出すべき場合に、それらを比較する際に役立ちます[1]。これは例えば、線形回帰がx軸の測定誤差がないことを仮定しているのとは対照的です。

基本形

基本的な形は線形回帰と同じ形をしていて、以下のようになっています。

y = \alpha + \beta x

ここで\alphaは切片、\betaは傾きです。では、線形回帰と何が違うのかというと、次章で説明するように、\alpha, \betaの計算方法になります。

傾きの計算

n個のデータ(x_1,y_1), (x_2, y_2),\dots, (x_i,y_i) , \dots,(x_{n-1}, y_{n-1}) ,(x_n, y_n)に対して、以下のように傾きを計算します。

最初に、i<jなるそれぞれのデータ\binom{n}{2}個に対する傾きを計算します。

m_{ij} = \frac{y_i - y_j}{x_i - x_j}

ここで、(x_i,y_i),(x_j,y_j)の値によって以下のように後段の傾き\betaに使用するか否かが分岐します。

  1. x_i = x_j かつ y_i = y_j
    この場合は計算に使いません
  2. x_i = x_j かつ y_i > y_j
    傾きをm_{ij} = \inftyとします。
  3. x_i = x_j かつ y_i < y_j
    傾きをm_{ij} = -\inftyとします。
  4. m_{ij} = -1
    この場合も計算に使いません。除外します。
  5. m_{ij} < -1
    傾きの計算に使用しますが、追加して中央値をシフトする数Kを1増やします。

以上で計算したそれぞれのデータからの傾きについて中央値をK個正方向にシフトしたものを最終的な傾き\betaとします。

\beta = med(m_{ij})

このように計算し、得られた傾きの中央値を用いて、外れ値に強いロバストな推定を行います。

切片の計算

先ほど計算した\betaを使って切片は以下のように計算します。
最初にそれぞれのデータについて切片を計算します。

\alpha_i = y_i - \beta x_i

計算したそれぞれのデータから中央値をとることで切片\alphaとします。

\alpha = med(\alpha_i)

最小二乗線との比較

Boston House Priseデータでの最小二乗法とPassing-Bablok法の回帰線のグラフを示します。
部屋数と価格の回帰線を以下に示します。

Passing-Bablok法で描いた回帰線の方が、データの全体的な傾向に合っているように見えます。

性質

Passing-Bablok回帰の性質のいくつかを以下に述べます。

正規分布を仮定しない

Passing-Bablok回帰はノンパラメトリック法であり、データが正規分布に従う必要がありません。
よって、データが歪んでいる場合や分布が不明な場合にも適用できます。

傾きと切片のロバストな推定

全てのデータの組に対する傾きを求め、その中央値を用いて傾きを推定します。この中央値を取るアプローチによって、外れ値の影響を最小限に抑えることができ、結果として推定値の頑健性が確保されます。これにより、データ内に外れ値が存在しても回帰直線のロバスト性が維持されます。

双方向の測定誤差に対応

Passing-Bablok回帰は、説明変数(X)と目的変数(Y)の両方に測定誤差が含まれていることを前提としています。これは、通常の最小二乗法がXの測定誤差を無視することと異なります。
この性質により、双方向の誤差を考慮した公平な分析が可能となります。

負の相関には適用できない

Passing-Bablok回帰は、傾きを計算する際に、特定のデータ対の値をその後の中央値計算に用いないことがあります。この場合分けが正の相関を前提として設計されているため、負の相関が強いデータには適用できません。負の相関の場合は、一度y-yとすれば無理やり適用可能な気がします。

結論とまとめ

Passing-Bablok回帰は、ノンパラメトリックな手法として、データの分布に関する事前の仮定を必要とせず、外れ値に対しても強いロバストな回帰であることをみました。今後はPassing-Bablok回帰と比較されることが多いTheil-Sen推定法についても記事を書こうと思います。手法や性質の違いを把握して、適切な使い分けを行いたいですね。

脚注
  1. https://www.ncss.com/wp-content/themes/ncss/pdf/Procedures/NCSS/Passing-Bablok_Regression_for_Method_Comparison.pdf ↩︎

Goals Tech Blog

Discussion