分位点回帰(quantile regression)とは、データ $(x_i,y_i)$ に 1 次式 $x^{\mathsf T}b$ を当てはめるとき、残差の 2 乗の和の代わりに、正の残差を傾き $\tau$、負の残差を傾き $1-\tau$ で数える折れ線 $\rho_\tau$ の和を最小にして、$x$ を与えたときの $y$ の $\tau$ 分位点を 1 次式で表す方法であり、$\tau=\frac12$ の中央値回帰は外れ値に強い。説明変数の行列の階数が係数の個数 $p$ に等しければ解は存在し、データのうち $p$ 点をちょうど通る解がとれ、解は線形計画問題として計算できる。切片をもつモデルでは、負の残差の個数は $n\tau$ 以下、負または $0$ の残差の個数は $n\tau$ 以上になる。
散布図に直線を当てはめるとき、最小二乗法は残差の 2 乗の和を最小にし、$x$ を与えたときの $y$ の 平均 を直線で表す(散布図と回帰直線、回帰分析)。2 乗の代わりに、分位点 で使った折れ線 $\rho_\tau$ を残差に当てて和を最小にすると、$x$ を与えたときの $y$ の $\tau$ 分位点 を直線(一般には 1 次式)で表すことになる。これが 分位点回帰 である。$\tau=\frac12$ なら残差の絶対値の和を最小にする 中央値回帰 で、外れ値に強い直線が得られる(中央値と絶対誤差 の直線版)。分位点回帰は Koenker と Bassett が 1978 年に導入した(KH01 p. 143)。
この記事では、説明変数を並べた行列の階数が係数の個数 $p$ に等しければ、分位点回帰の解が存在し、しかもデータ点のうち $p$ 個をちょうど通る解がとれること(主定理 1)、切片をもつモデルでは、当てはめた面より下にある点の個数がおよそ $n\tau$ になること(主定理 2)を示す。解は線形計画問題の解として計算できる。
この記事を通して、データ $(x_1,y_1),\dots,(x_n,y_n)$($x_i\in\mathbb R^p$、$y_i\in\mathbb R$)を考え、$x_i^{\mathsf T}$ を第 $i$ 行とする $n\times p$ 行列を $X$、$y:=(y_1,\dots,y_n)^{\mathsf T}$ とする。$0< \tau< 1$ について、分位点 と同じく
$$
\rho_\tau(u):=\begin{cases}\tau u&(u\ge0)\\(\tau-1)u&(u< 0)\end{cases}
$$
とする。$b\in\mathbb R^p$ について、残差を $r_i(b):=y_i-x_i^{\mathsf T}b$ と書く。
$$
R_\tau(b):=\sum_{i=1}^n\rho_\tau\bigl(y_i-x_i^{\mathsf T}b\bigr)\qquad(b\in\mathbb R^p)
$$
を最小にする $b$ を、データの $\tau$ 回帰分位点 といい、$\hat\beta(\tau)$ と書く。$\hat\beta(\tau)$ を求めて $x\mapsto x^{\mathsf T}\hat\beta(\tau)$ を当てはめる方法を 分位点回帰(quantile regression)、$\tau=\frac12$ の場合を 中央値回帰 という。
$x_i=(1,z_i)^{\mathsf T}$($p=2$)なら直線 $y=b_1+b_2z$ の当てはめであり、第 1 成分がすべて $1$ の列を 切片 の列という。$p=1$、$x_i=1$ なら $R_\tau(b)=\sum_i\rho_\tau(y_i-b)$ であり、その最小点の全体は、データの経験分布の $\tau$ 分位点の全体 $[Q_n(\tau),Q_n^+(\tau)]$ である(分位点 の例「標本分位点」)。分位点回帰はこの「分位点は損失 $\rho_\tau$ の和を最小にする」という性質を回帰へ広げたものである(KH01 pp. 145–146)。
$h\subset\{1,\dots,n\}$ を $p$ 元集合とし、$x_i^{\mathsf T}$($i\in h$)を並べた $p\times p$ 行列を $X_h$、$y_i$($i\in h$)を並べたベクトルを $y_h$ とする。$X_h$ が正則なとき、$b(h):=X_h^{-1}y_h$ を 基本解 という。$b(h)$ は、$h$ に属する $p$ 個の点をちょうど通る(残差が $0$ になる)ただ 1 つの $b$ である。$X$ の階数が $p$ なら、$X_h$ が正則になる $h$ が少なくとも 1 つある。
$R_\tau$ の最小値は、変数 $(b,u,v)\in\mathbb R^p\times\mathbb R^n\times\mathbb R^n$ についての線形計画問題
$$
\text{最小化 }\ \tau\sum_iu_i+(1-\tau)\sum_iv_i\qquad\text{条件 }\ Xb+u-v=y,\ u\ge0,\ v\ge0
$$
の最適値に等しく、$b$ が $R_\tau$ の最小点であることと、ある $u,v$ で $(b,u,v)$ がこの問題の最適解になることは同値である。
条件を満たす $(b,u,v)$ では $u_i-v_i=r_i(b)$ である。$u_i,v_i\ge0$ なので $u_i\ge r_i(b)^+$、$v_i\ge r_i(b)^-$($c^+:=\max(c,0)$、$c^-:=\max(-c,0)$)であり、$\tau u_i+(1-\tau)v_i\ge\tau r_i(b)^++(1-\tau)r_i(b)^-=\rho_\tau(r_i(b))$ である。等号は $u_i=r_i(b)^+$、$v_i=r_i(b)^-$ で成り立ち、これは条件を満たす。よって、$b$ を固定したときの目的関数の最小値は $R_\tau(b)$ であり、2 つの主張が従う。$\square$
したがって分位点回帰は 線形計画法 の単体法などで計算できる(KH01 p. 146)。
解の存在を示す鍵は、残差が $0$ の点の集合を広げていく次の操作である。$b$ について $Z(b):=\{i\mid r_i(b)=0\}$、$V(b)$ を $x_i$($i\in Z(b)$)の張る部分空間とする。
$X$ の階数が $p$ で、$\dim V(b)< p$ とする。$x_i^{\mathsf T}d=0$($i\in Z(b)$)を満たす $d\ne0$ をとり、$\varphi(t):=R_\tau(b+td)$ とおく。
$I:=\{i\mid x_i^{\mathsf T}d\ne0\}$ とおく。$X$ の階数が $p$ なので $Xd\ne0$ であり、$I$ は空でない。$i\in Z(b)$ なら $x_i^{\mathsf T}d=0$ なので $I\cap Z(b)=\emptyset$ である。$i\in I$ の残差 $r_i(b+td)=r_i(b)-t\,x_i^{\mathsf T}d$ は $t$ の 1 次関数で、$t_i:=r_i(b)/x_i^{\mathsf T}d\ne0$ でだけ $0$ になる。$i\notin I$ の残差は $t$ によらない。$T_+:=\min\{t_i\mid t_i>0\}$、$T_-:=\max\{t_i\mid t_i< 0\}$ とおき(該当がなければ $\infty$、$-\infty$)、$J:=[T_-,T_+]\cap\mathbb R$ とする。$I\ne\emptyset$ なので少なくとも一方は有限である。
$J$ の内部では $i\in I$ の残差の符号が変わらないので、$\rho_\tau(r_i(b+td))$ は $t$ の 1 次関数であり、連続性から $J$ 全体で 1 次関数である。よって $\varphi$ は $J$ の上で 1 次関数 $\varphi(t)=\varphi(0)+ct$ である。
1:$T_+=\infty$ なら、$\varphi\ge0$ が $[0,\infty)$ で成り立つので $c\ge0$ であり、有限な $t^*:=T_-< 0$ で $\varphi(t^*)\le\varphi(0)$ である。$T_-=-\infty$ なら同様に $c\le0$ で $t^*:=T_+$ とする。両方有限なら、$c\ge0$ なら $t^*:=T_-$、$c< 0$ なら $t^*:=T_+$ とする。$t^*=t_j$ となる $j\in I$ をとると $r_j(b')=0$ である。$i\in Z(b)$ は $x_i^{\mathsf T}d=0$ なので $r_i(b')=0$ のままであり、$Z(b')\supset Z(b)\cup\{j\}$ である。$x_j^{\mathsf T}d\ne0$ だが $V(b)$ の元はすべて $d$ と直交するので $x_j\notin V(b)$ であり、$\dim V(b')>\dim V(b)$ である。
2:$T_-< 0< T_+$ なので $0$ は $J$ の内部にある。内部の点で最小値をとる 1 次関数は定数である。$\square$
$X$ の階数が $p$ であるとする。
1:$b$ から始めて lem-qr-step の 1 を繰り返すと、$R_\tau$ の値は増えず、$\dim V$ は毎回増えるので、高々 $p$ 回で $\dim V(b'')=p$ となる $b''$ に達する。$x_i$($i\in Z(b'')$)から 1 次独立な $p$ 個を選び、その添字の集合を $h$ とすると $X_h$ は正則で、$X_hb''=y_h$ なので $b''=b(h)$ であり、$R_\tau(b(h))\le R_\tau(b)$ である。
2:基本解は有限個で、少なくとも 1 つある。その中で $R_\tau$ が最小のものを $b(h_0)$ とすると、1 によりすべての $b$ で $R_\tau(b(h_0))\le R_\tau(b)$ なので、$b(h_0)$ は最小点である。$\rho_\tau$ は凸関数で、$b\mapsto y_i-x_i^{\mathsf T}b$ は 1 次なので $R_\tau$ は凸であり、$S$ は凸集合である。$R_\tau$ は連続なので $S$ は閉集合である。有界性を示す。$m:=\min(\tau,1-\tau)>0$ とすると $\rho_\tau(u)\ge m\lvert u\rvert$ であり、$\| w\|_1:=\sum_i\lvert w_i\rvert$ として
$$
R_\tau(b)\ge m\| y-Xb\|_1\ge m\bigl(\| Xb\|_1-\| y\|_1\bigr)
$$
である。$X$ の階数が $p$ なので $b\mapsto\| Xb\|_1$ は $\mathbb R^p$ のノルムで、単位球面(有界閉集合)の上の正の最小値 $c>0$ をもち、$\| Xb\|_1\ge c\lvert b\rvert$ である。よって $\lvert b\rvert$ が大きいと $R_\tau(b)>R_\tau(b(h_0))$ となり、$S$ は有界である。
3:$S$ が 2 点以上を含むとする。$S$ の点のうち辞書式順序(第 1 成分が最大のものの中で第 2 成分が最大、…)で最大の点 $e$ と最小の点 $e'$ は、$S$ が有界閉集合なのでとれて、互いに異なる。$e$ が基本解であることを示す($e'$ も同様)。$\dim V(e)< p$ なら、lem-qr-step の 2 により、小さい $\varepsilon>0$ で $e\pm\varepsilon d\in S$ である。$e+\varepsilon d$ と $e-\varepsilon d$ の一方は辞書式順序で $e$ より大きいので、$e$ の選び方に反する。よって $\dim V(e)=p$ であり、1 の証明と同様に $e$ は基本解である。$\square$
1 は「最良の当てはめは、データのうち $p$ 点を通るものの中から探せばよい」ことを述べている。直線($p=2$)なら、$z$ 座標の異なる 2 点を通る直線(高々 $\binom n2$ 本)の中に最良のものがある。$p=1$、$x_i=1$ なら基本解は $y_i$ そのもので、標本分位点がデータの値の 1 つにとれることに当たる。
最小点 $b$ について、残差が負・$0$・正の点の個数を $N^-$、$N^0$、$N^+$ とする($N^-+N^0+N^+=n$)。
$X$ の第 1 列がすべて $1$(切片の列)であるとする。$b$ が $R_\tau$ の最小点なら
$$
N^-\le n\tau\le N^-+N^0
$$
であり、同じことだが $N^+\le n(1-\tau)\le N^++N^0$ である。
$e_1:=(1,0,\dots,0)^{\mathsf T}$ とし、$\varphi(t):=R_\tau(b+te_1)$ とおく。切片の列があるので $r_i(b+te_1)=r_i(b)-t$ である。$\delta:=\min\{\lvert r_i(b)\rvert\mid r_i(b)\ne0\}$($N^0=n$ なら $\delta:=1$)とし、$0< t< \delta$ とする。
$t>0$ の向き:$r_i(b)>0$ の項は $\tau(r_i(b)-t)$ で $\tau t$ だけ減り、$r_i(b)< 0$ の項は $(\tau-1)(r_i(b)-t)$ で $(1-\tau)t$ だけ増え、$r_i(b)=0$ の項は $\rho_\tau(-t)=(1-\tau)t$ になる。よって
$$
\varphi(t)-\varphi(0)=t\bigl(-\tau N^++(1-\tau)(N^-+N^0)\bigr)=t\bigl(N^-+N^0-n\tau\bigr)
$$
である。$b$ は最小点なので左辺は $0$ 以上であり、$n\tau\le N^-+N^0$ を得る。
$-t$ の向き:同様に $r_i(b)>0$ の項は $\tau t$ 増え、$r_i(b)< 0$ の項は $(1-\tau)t$ 減り、$r_i(b)=0$ の項は $\rho_\tau(t)=\tau t$ になるので
$$
\varphi(-t)-\varphi(0)=t\bigl(\tau N^+-(1-\tau)N^-+\tau N^0\bigr)=t\bigl(n\tau-N^-\bigr)
$$
であり、$N^-\le n\tau$ を得る。後半は $N^+=n-N^--N^0$ を代入すればよい。$\square$
$N^-\le n\tau\le N^-+N^0$ を $n$ で割ると、分位点 の定義の条件「$a$ より小さい割合が $\tau$ 以下、$a$ 以下の割合が $\tau$ 以上」と同じ形である。$p=1$、$x_i=1$ ならちょうどその条件になり、この定理は標本分位点の特徴づけを含む。基本解では $N^0\ge p$ なので、$N^0=p$ のときは、当てはめた面より下にある点の割合は $\tau$ と $\tau-\frac pn$ の間にある。
$S_\tau(y,X)$ を $R_\tau$ の最小点の全体とする。
要点:$\rho_\tau(\lambda u)=\lambda\rho_\tau(u)$($\lambda>0$)と $\rho_{1-\tau}(-u)=\rho_\tau(u)$ から、目的関数がそれぞれ $R_\tau(b/\lambda)$ の $\lambda$ 倍、$R_\tau(-b)$、$R_\tau(b-\gamma)$、$R_\tau(Ab)$ に等しいことによる。
$\rho_{1-\tau}(-u)$ は、$u>0$ なら $(1-\tau-1)(-u)=\tau u$、$u\le0$ なら $(1-\tau)(-u)=(\tau-1)u$ なので $\rho_\tau(u)$ に等しい。1:$\sum_i\rho_\tau(\lambda y_i-x_i^{\mathsf T}b)=\lambda R_\tau(b/\lambda)$ なので、$b$ が最小点であることと $b/\lambda$ が $R_\tau$ の最小点であることは同値である。2:$\sum_i\rho_{1-\tau}(-y_i-x_i^{\mathsf T}b)=\sum_i\rho_\tau(y_i+x_i^{\mathsf T}b)=R_\tau(-b)$。3:$\sum_i\rho_\tau(y_i+x_i^{\mathsf T}\gamma-x_i^{\mathsf T}b)=R_\tau(b-\gamma)$。4:$XA$ の第 $i$ 行は $x_i^{\mathsf T}A$ なので、目的関数は $R_\tau(Ab)$ である。$b\mapsto Ab$ は全単射なので、最小点の全体は $A^{-1}S_\tau(y,X)$ である。$\square$
4 により、説明変数の単位を変える($z$ をセンチメートルからメートルに直す)と、係数は対応して変わるだけで当てはめた値は変わらない。2 は「上下を反転すると $\tau$ と $1-\tau$ が入れ替わる」ことを表す。
データの $\frac1nR_\tau(b)$ は、経験分布についての期待値 $E[\rho_\tau(Y-X^{\mathsf T}b)]$ である。説明変数が有限個の値しかとらない場合には、この期待値を最小にする $b$ が条件付き分布の分位点を表すことを、分位点 の主定理から直接確かめられる。
確率変数の組 $(X,Y)$($X$ は $\mathbb R^p$ に値をとる)について、$X$ は有限個の値 $c_1,\dots,c_m$ をそれぞれ正の確率でとり、$E\lvert Y\rvert< \infty$ とする。$\beta\in\mathbb R^p$ が、各 $j$ について「$X=c_j$ のもとでの $Y$ の条件付き分布」の $\tau$ 分位点の 1 つが $c_j^{\mathsf T}\beta$ であることを満たすなら、$\beta$ は $b\mapsto E[\rho_\tau(Y-X^{\mathsf T}b)]$ を最小にする。
$\pi_j:=P(X=c_j)>0$ とし、$P_j(A):=P(A\cap\{X=c_j\})/\pi_j$ とおくと、$P_j$ は確率測度であり、$P_j$ のもとで $Y$ は可積分である($E_j\lvert Y\rvert\le E\lvert Y\rvert/\pi_j$)。$P_j$ による期待値を $E_j$ と書くと、$\{X=c_j\}$ の上では $X^{\mathsf T}b=c_j^{\mathsf T}b$ なので
$$
E[\rho_\tau(Y-X^{\mathsf T}b)]=\sum_{j=1}^m\pi_jE_j\bigl[\rho_\tau(Y-c_j^{\mathsf T}b)\bigr]
$$
である。分位点 の定理「分位点とチェック関数の期待値」を $P_j$ のもとでの $Y$ に使うと、$a\mapsto E_j[\rho_\tau(Y-a)]$ は $Y$ の $P_j$ のもとでの $\tau$ 分位点で最小になるので、各 $j$ で $E_j[\rho_\tau(Y-c_j^{\mathsf T}b)]\ge E_j[\rho_\tau(Y-c_j^{\mathsf T}\beta)]$ である。$\pi_j>0$ を掛けて足せば $E[\rho_\tau(Y-X^{\mathsf T}b)]\ge E[\rho_\tau(Y-X^{\mathsf T}\beta)]$ を得る。$\square$
つまり、「$x$ を与えたときの $Y$ の $\tau$ 分位点が $x$ の 1 次式 $x^{\mathsf T}\beta(\tau)$ で書ける」という模型のもとで、分位点回帰は $\beta(\tau)$ を推定する方法である(KH01 p. 146 の「条件付き分位点関数」)。平均ではなく分位点を見るので、$x$ によって $Y$ の散らばりや偏りが変わる様子を、$\tau$ ごとの直線の傾きの違いとして読み取れる。
6 点 $(z_i,y_i)=(1,2),(2,3),(3,5),(4,6),(5,8),(6,-6)$ に直線 $y=b_1+b_2z$ を当てはめる。最後の点は外れ値である。
$y_6$ を $y_6'< -6$ に替えた目的関数を $R'$ とし、$b^*:=(\frac23,\frac43)$、$c(b):=b_1+6b_2$ とおく。$c(b^*)=\frac{26}3$ なので、$b^*$ の近くの $b$ では $c(b)>-6>y_6'$ であり、6 番目の残差は替える前も後も負である。そこでは $R'(b)-R_{1/2}(b)=\frac12\bigl((c(b)-y_6')-(c(b)+6)\bigr)=\frac12(-6-y_6')$ は $b$ によらない定数なので、$b^*$ は $R'$ の局所的な最小点である。任意の $b$ について $t\mapsto R'(b^*+t(b-b^*))$ は凸関数で $t=0$ で局所的に最小なので、凸関数 の命題「凸関数の局所的な最小は全体の最小」により $R'(b)\ge R'(b^*)$ である。
6 点 $(z_i,y_i)=(0,1),(2,1),(3,0),(5,0),(6,0),(9,5)$ を考える。15 個の基本解を調べると、$\tau=\frac14$ の回帰分位点はただ 1 つで直線 $y=0$(最小値 $\frac74$)、$\tau=\frac12$ の回帰分位点もただ 1 つで直線 $y=1-\frac z6$(最小値 $\frac{13}4$)である。2 本は $z=6$ で交わり、$6< z\le9$ では $\tau=\frac12$ の直線のほうが下にある。たとえば $z=9$ では $\frac14$ の直線は $0$、$\frac12$ の直線は $-\frac12$ である。
母集団の分位点は $\tau$ について単調非減少だが、データから別々に求めた直線はこの順序を保つとは限らない。データの範囲の中でも、このように交差が起こりうる。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| $X$ の階数が $p$ | $x_i=(1,1)^{\mathsf T}$(2 列が等しい) | $R_\tau$ は $b_1+b_2$ だけで決まり、最小点の全体は直線を含む非有界な集合になる(thm-qr-existence の 2) |
| 最小値をとる基本解が 1 つ | $p=1$、$x_i=1$、$y=(0,1)$、$\tau=\frac12$ | 最小点の全体は区間 $[0,1]$ で、回帰分位点は 1 つに定まらない |
| 切片の列がある | ex-qr-no-intercept | 最小点で $N^-+N^0< n\tau$ となり、thm-qr-signs が成り立たない |
$p=1$、$x_i=z_i$ で、3 点 $(z_i,y_i)=(1,1),(1,1),(10,-10)$ に原点を通る直線 $y=bz$ を当てはめる(切片の列がない)。$\tau=\frac12$ では $R_{1/2}(b)=\frac12\bigl(2\lvert1-b\rvert+\lvert-10-10b\rvert\bigr)$ であり、$b< -1$ での傾きは $\frac12(-2-10)< 0$、$-1< b< 1$ での傾きは $\frac12(-2+10)>0$、$b>1$ でも正なので、最小点は $b=-1$ だけである。残差は $2,2,0$ で、$N^-=0$、$N^0=1$、$N^+=2$ となり、$N^-+N^0=1< n\tau=\frac32$ である。当てはめた直線より上に 3 点中 2 点があり、「下にある割合が約 $\frac12$」は成り立たない。満たさない仮定:切片の列があること。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する