最小二乗法と射影 — 残差から直線当てはめとQRへ

観測値を列空間へ近づけるという見方から、正規方程式の必要十分性、中心化した直線当てはめ、係数の一意性、QRによる解法を一つのデータでつなぎます。

この単元の目標
  • 最小二乗法が最小化する距離と、散布図上の垂直方向の残差を区別して説明できる
  • 残差の直交性から正規方程式を導き、それが最小値を与えることを示せる
  • 中心化したデータから傾きと切片を求め、残差で検算できる
  • 予測値の一意性と係数の一意性を区別し、QRで同じ射影を計算できる
📑 目次
  1. 1.全部を通れないなら、何を近づけるか
  2. 2.調節できる予測値は列空間に並ぶ
  3. 3.なぜ残差は動かせる方向に直交するのか
  4. 4.一意なのは係数か、予測か
  5. 5.中心化すると直線の係数の意味が見える
  6. 6.QRは同じ射影を別の座標で計算する
  7. 7.計算の保証とモデルの妥当性は別

1.全部を通れないなら、何を近づけるか

測定値にばらつきがあると、一本の直線で全点を通ることはできません。そこで「上に外れた量と下に外れた量を相殺する」のではなく、各ずれを二乗して足します。大きなずれほど強く罰する、という選択です。ここでは説明変数 t を固定し、応答 y を y≈a+ct で表す通常の最小二乗法を考えます。例題のデータは説明用の自作・無次元データで、分数は近似でなく厳密値です。

S(a,c)=∑i=1m(yi−a−cti)2,y^i=a+cti,ri=yi−y^iS(a,c)=\sum_{i=1}^{m}(y_i-a-ct_i)^2,\qquad \widehat y_i=a+ct_i,\quad r_i=y_i-\widehat y_i
この残差は散布図での y 方向のずれです。散布図上で各点から直線へ下ろした垂線の長さを最小にする方法とは違います。後でいう「直交」は、m 個の応答を並べたベクトル空間での直交です。物理量なら r は y と同じ単位、S はその単位の二乗、c は y の単位を t の単位で割ったものです。

2.調節できる予測値は列空間に並ぶ

切片を変えると全観測の予測値が同じだけ動き、傾きを変えると各予測値が t に比例して動きます。この二つの動かせる方向を行列の列に並べます。一般には実 m×n 行列 A、係数ベクトル x、観測ベクトル b を用い、予測 Ax を作ります。直線の場合だけ x=(a,c)ᵀ、b=(y₁,…,yₘ)ᵀ です。

A=(1t1⋮⋮1tm),x=(ac),min⁡x∈Rn∥b−Ax∥22A=\begin{pmatrix}1&t_1\\\vdots&\vdots\\1&t_m\end{pmatrix},\qquad x=\begin{pmatrix}a\\c\end{pmatrix},\qquad \min_{x\in\mathbb R^n}\|b-Ax\|_2^2

A の列の線形結合全体を列空間 Col(A) と呼びます。予測 Ax はこの空間から出られません。床の上から動けない点を、床の上方にある点へ近づけるなら、真下まで動かすのが最短です。同じ考えで b に最も近い列空間の点を探す操作が正射影です。有限次元の部分空間なので、この最も近い予測値は必ず存在します。

3.なぜ残差は動かせる方向に直交するのか

最適候補を x̂、残差を r=b−Ax̂ とします。もし残差に「まだ動かせる方向」の成分が残っていたら、その方向へ少し動くことで距離を短くできるはずです。この直感を、任意の係数方向 h に沿う一変数の二次式で確かめます。

🔍 方向を一本ずつ調べて正規方程式を得る

  1. 係数を実数 s だけ動かす
    f(s)=∥b−A(x^+sh)∥22=∥r∥22−2s hTATr+s2∥Ah∥22f(s)=\|b-A(\widehat x+sh)\|_2^2=\|r\|_2^2-2s\,h^TA^Tr+s^2\|Ah\|_2^2

    転置 T と標準内積を用いた二乗の展開です。h は任意です。

  2. 最小なら s=0 で傾きは0
    f′(0)=−2hTATr=0 for all h⟹ATr=0f'(0)=-2h^TA^Tr=0\ \text{for all }h\quad\Longrightarrow\quad A^Tr=0

    すべての座標方向 h について0なので、Aᵀr の各成分が0です。

  3. 残差の定義を戻す
    AT(b−Ax^)=0⟺ATAx^=ATbA^T(b-A\widehat x)=0\quad\Longleftrightarrow\quad A^TA\widehat x=A^Tb

    これを正規方程式と呼びます。正規分布を仮定した式ではありません。

停留点を求めただけでは一般に最小とは限りません。しかしこの問題では、直交性があれば下のピタゴラスの等式が成り立つため、大域的な最小値だと保証できます。つまり正規方程式は、実数・制約なし・通常の二乗ノルムの最小二乗問題における必要十分条件です。

ATr=0⟹∥b−A(x^+h)∥22=∥r∥22+∥Ah∥22≥∥r∥22A^Tr=0\quad\Longrightarrow\quad \|b-A(\widehat x+h)\|_2^2=\|r\|_2^2+\|Ah\|_2^2\ge\|r\|_2^2
例題1:一方向への射影を目で追う

A=(1,1,0)TA=(1,1,0)^T、b=(1,3,2)Tb=(1,3,2)^T とする。係数 x は実数一つである。最小二乗解、予測、残差を求めよ。

解答・解説

ATA=2A^TA=2、ATb=4A^Tb=4 より x^=2\widehat x=2。予測は (2,2,0)T(2,2,0)^T、残差は (−1,1,2)T(-1,1,2)^T、二乗和は6です。残差と A の内積は −1+1=0。直接平方完成しても (1−x)2+(3−x)2+4=2(x−2)2+6(1-x)^2+(3-x)^2+4=2(x-2)^2+6 となり一致します。第3成分はどの x でも0としか予測できず、残差2は消せません。

4.一意なのは係数か、予測か

上の等式で別の係数 x̂+h も最小になるのは Ah=0 のときだけです。そのとき予測 A(x̂+h) は Ax̂ と同じです。したがって予測は常に一意ですが、係数まで一意になるには A の列が一次独立でなければなりません。同じ働きをする列があれば、係数の分担を変えても予測が変わらないからです。

hTATAh=∥Ah∥22,rank⁡(A)=n ⟺ ATA は正定値⟹x^=(ATA)−1ATbh^TA^TAh=\|Ah\|_2^2,\qquad \operatorname{rank}(A)=n\ \Longleftrightarrow\ A^TA\text{ は正定値}\quad\Longrightarrow\quad \widehat x=(A^TA)^{-1}A^Tb
観測数 m が係数数 n 以上でも、列が独立とは限りません。正規方程式自体は列従属でも成立し、解も存在しますが、逆行列の公式は使えません。逆行列は理論式として便利でも、計算では連立方程式を直接解くかQRなどを使います。

5.中心化すると直線の係数の意味が見える

切片を含む直線では列が 1 と t なので、直交性は「残差の和が0」「t を掛けた残差の和が0」です。まず一つ目を使うと、当てはめ直線がデータの平均点を通ることがわかります。そこを原点に移す中心化を行えば、切片と傾きの計算が分離します。

🔍 平均点を通る直線の傾きを求める

  1. 定数列への直交性
    ∑i(yi−a−cti)=0⟹a=yˉ−ctˉ\sum_i(y_i-a-ct_i)=0\quad\Longrightarrow\quad a=\bar y-c\bar t

    m≥1、平均はそれぞれの和を m で割ったものです。

  2. t の列への直交性に代入
    ∑i(ti−tˉ){(yi−yˉ)−c(ti−tˉ)}=0\sum_i(t_i-\bar t)\{(y_i-\bar y)-c(t_i-\bar t)\}=0

    中心化した t の和が0なので、平均の成分が消えます。

  3. 少なくとも二つの異なる t があるとき
    Stt=∑i(ti−tˉ)2>0,c=∑i(ti−tˉ)(yi−yˉ)Stt,a=yˉ−ctˉS_{tt}=\sum_i(t_i-\bar t)^2>0,\qquad c=\frac{\sum_i(t_i-\bar t)(y_i-\bar y)}{S_{tt}},\qquad a=\bar y-c\bar t

    分母が0、つまり全 t が同じときにはこの割り算はできません。

例題2:4点を当てはめ、残差で検算する

自作データ (t,y)=(−1,0),(0,1),(1,1),(2,4) に切片ありの最小二乗直線を当てはめる。平均を引いてから、傾きと切片、残差の二乗和を求めよ。

解答・解説

平均は t̄=1/2、ȳ=3/2。中心化した t は (−3/2,−1/2,1/2,3/2)、y は (−3/2,−1/2,−1/2,5/2)。t の二乗和は5、積の和は6なので c=6/5、a=9/10。予測は (−3/10,9/10,21/10,33/10)、残差は (3/10,1/10,−11/10,7/10)。残差の和も t を掛けた和も0です。二乗和は (9+1+121+49)/100=9/5。残差が正負に分かれること自体ではなく、二つの内積が0であることが最小の証拠になります。

例題3:全て同じ t なら何がわからないか

データ (t,y)=(2,1),(2,2),(2,6) を y≈a+ct で当てはめる。係数が一意になるかを判断せよ。

解答・解説

予測は全て a+2c=s です。二乗和は (1−s)²+(2−s)²+(6−s)²=3(s−3)²+14。したがって a+2c=3 を満たすすべての係数が解です。例えば (a,c)=(3,0) と (1,1) は同じ予測 (3,3,3) を与え、最小二乗和は14。観測が3点あっても、t の変化がないので傾きは識別できません。

6.QRは同じ射影を別の座標で計算する

列が斜めに交わっていると、ある係数の変更が他の方向にも影響します。列空間の基底を互いに直交する単位ベクトルへ取り替えると、その方向の成分を内積だけで読み取れます。m≥n かつ列が一次独立の A の薄いQR分解 A=QR では、Q は m×n、R は可逆な n×n 上三角行列です。

QTQ=In,b=QQTb+(Im−QQT)b,∥b−QRx∥22=∥QTb−Rx∥22+∥(Im−QQT)b∥22Q^TQ=I_n,\qquad b=QQ^Tb+(I_m-QQ^T)b,\qquad \|b-QRx\|_2^2=\|Q^Tb-Rx\|_2^2+\|(I_m-QQ^T)b\|_2^2

右辺第2項は列空間に垂直な、動かせない成分です。第1項を0にすれば最小なので Rx̂=Qᵀb を後退代入で解きます。予測は QQᵀb、残差は (I−QQᵀ)b。P=QQᵀ は Pᵀ=P、P²=P を満たす射影行列です。列独立なら P=A(AᵀA)⁻¹Aᵀ とも書け、正規方程式とQRは厳密演算では同じ予測を与えます。

薄い Q は列が正規直交するだけで、m>n のとき QQᵀ=Iₘ ではありません。もしそうなら全ての b の残差が0になってしまいます。また、AᵀA を作ると2ノルム条件数は κ₂(AᵀA)=κ₂(A)² となり、列がほぼ従属な場合に丸め誤差の影響が増えやすくなります。Householder変換によるQRはこの二乗化を避けますが、元の問題の悪条件性を消すわけではありません。階数落ちには列ピボット付きQRや特異値分解など、階数を意識した扱いが必要です。
例題4:例題2をQRで解き直す

例題2の AA の列は (1,1,1,1)T(1,1,1,1)^T と (−1,0,1,2)T(-1,0,1,2)^T。第1列を正規化し、第2列からその方向の成分を引いて、薄いQR分解を作れ。

解答・解説

q1=(1,1,1,1)T/2q_1=(1,1,1,1)^T/2。第2列と q1q_1 の内積は1なので、引き算すると (−3/2,−1/2,1/2,3/2)T(-3/2,-1/2,1/2,3/2)^T。長さは 5\sqrt5 で、これを割ったものが q2q_2 です。従って R=(2105)R=\begin{pmatrix}2&1\\0&\sqrt5\end{pmatrix}、QTb=(3,6/5)TQ^Tb=(3,6/\sqrt5)^T。下の式 5c=6/5\sqrt5 c=6/\sqrt5 から c=6/5c=6/5、上の式 2a+c=32a+c=3 から a=9/10a=9/10。第2列を直交化する操作は t の中心化そのものでした。

7.計算の保証とモデルの妥当性は別

ここまでの最小化に誤差の正規分布は不要です。一方、回帰係数の不偏性や信頼区間などには、誤差の平均・分散・独立性など別の仮定が必要です。残差が直交していても直線モデルが現象に適切とは限らず、外れ値に二乗が強く反応する点も残ります。通常の最小二乗は各観測を同じ重みで扱います。測定精度が異なる場合に正の対角成分をもつ対角行列 W を使う重み付き最小二乗では、直交条件も AᵀWr=0 に変わります。

  1. 予測式から A の列を作る。切片ありなら定数1の列を忘れない。
  2. 列の独立性を確認し、正規方程式またはQRで解く。m≥n だけで一意と決めない。
  3. 予測と残差を元のデータで計算し直し、Aᵀr=0 と二乗和を確認する。丸めを含む計算ではデータの尺度に応じた許容誤差で検査する。
  4. 残差の形や外れ値も調べる。最小二乗解が求まったことと、外挿や因果解釈が妥当なことを混同しない。
練習:解を出したら直交性で確かめる
  1. A=(1,2)TA=(1,2)^T、b=(3,1)Tb=(3,1)^T の最小二乗解、残差、最小二乗和を求めよ。

    ヒント

    係数は実数一つです。AᵀA と Aᵀb を計算します。

    解答・解説

    ATA=5A^TA=5、ATb=5A^Tb=5 より x^=1\widehat x=1。予測は (1,2)T(1,2)^T、残差は (2,−1)T(2,-1)^T、二乗和は5です。内積 2+2(−1)=02+2(-1)=0 により最小であることも確認できます。

  2. データ (t,y)=(−1,2),(0,0),(1,4) の切片ありの最小二乗直線と残差を求めよ。

    ヒント

    t の平均が0なので切片は y の平均です。

    解答・解説

    t̄=0、ȳ=2、Sₜₜ=2、中心化した積の和は2なので c=1、a=2。予測は (1,2,3)、残差は (1,−2,1)、二乗和は6。残差の和は0、t を掛けた和も −1+1=0 です。

  3. データ (t,y)=(1,2),(2,1) に、切片を固定して0にした直線 y=ct を当てはめる。残差の和は0になるか。

    解答・解説

    c=(1×2+2×1)/(1²+2²)=4/5。残差は (6/5,−3/5)、和は3/5で0ではありません。しかし t との内積は6/5−6/5=0。定数列を A に入れなかったので、残差の和が0という条件は要求されません。

  4. 薄いQR分解で R=(2−103)R=\begin{pmatrix}2&-1\\0&3\end{pmatrix}、QTb=(1,6)TQ^Tb=(1,6)^T とわかっている。最小二乗係数 x=(x1,x2)Tx=(x_1,x_2)^T を求めよ。

    解答・解説

    Rx=QTbRx=Q^Tb を下から解きます。3x2=63x_2=6 より x2=2x_2=2、2x1−x2=12x_1-x_2=1 より x1=3/2x_1=3/2。R の対角要素がともに0でないので解は一意です。なおこの情報だけでは列空間の外の成分は不明なので、残差の大きさは決まりません。

確認クイズ:どの空間の直交か

問1. 実行列 A の通常の最小二乗問題で、r=b−Ax̂ が Aᵀr=0 を満たすとき、常に正しいのはどれか。

問2. 切片ありの直線当てはめで、係数が一意に決まるための t の条件はどれか。

問3. m>n、列独立な A=QR の薄いQR分解で、QQᵀ は何を表すか。

問4. 通常の最小二乗解を正規方程式よりQRで求める主な数値的利点はどれか。

数学的根拠:標準内積による二乗の展開、有限次元部分空間への正射影、核と列独立性、薄いQR分解を用いました。条件数の式は列独立な実行列の2ノルムで、AᵀA の固有値が A の特異値の二乗になることから従います。本記事では既存の内積・行列分解の概説を前提に、中心化、残差による検算、同一データのQR解法と適用条件を掘り下げています。
📝 メモこの端末のみに保存
メモ欄はページ読み込み後に使えるようになります。