渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

温故知新:古典的名著『回帰分析』(佐和隆光)を読む

タイトルに「古典的名著」とうたっておきながら、実は米倉さんのツイートで紹介されるまで浅学にして全然存じ上げなかったんですが、いざ読んでみたらあまりにも素晴らしい内容だったので、その感動を伝えたいがためにわざわざこの記事を書いています(笑)。


ちなみに今現在、訳あってこちらの論文とその実装を相手にしなければならない状況で、関連してそもそも論としての「回帰分析の取り扱い方」を改めて紐解く必要があり、その点でも本書は大いに役立っている感があります*1。ということで、個人的に本書が「実際に役立った」と感じた点を適当にピックアップして紹介していこうと思います。

本書の概要


大まかな内容は、版元のサイトで見られる目次をご覧いただければお分かりいただけるのではないかと思います。

1. 回帰分析への誘い
 1.1 2変数回帰
 1.2 最小2乗推定
 1.3 本書のプラン
2. ベクトルと行列
 2.1 ベクトルとベクトル空間
 2.2 行列と行列式
 2.3 2次形式の標準化
 2.4 不等式と最大最小問題
 2.5 ベクトルの微分とベクトル確率変数
3. 多変量正規分布
 3.1 多変量正規分布
 3.2 2次形式の分布
4. 線形回帰モデル
 4.1 最小2乗推定
 4.2 最小2乗推定量の性質
 4.3 誤差分散σ2 の推定
 4.4 回帰モデルの正準化
 4.5 推定量の分布
5. 仮説検定,区間推定,予測
 5.1 線形制約の検定
 5.2 信頼領域の構成
 5.3 区間予測
6. 標準的諸仮定からのズレ
 6.1 誤差項の相関と分散不均一
 6.2 仮説検定
 6.3 正規分布からのズレ
 6.4 残差の分析
7. 説明変数の問題
 7.1 説明変数選択のための諸基準
 7.2 多重共線性
 7.3 変数変換と非線形
8. 文献解題
9. 付 表
10. 索 引

詳細は後ほど述べますが、個人的には「一般的な統計学の教科書たちがそれぞれに断片的に回帰分析について論じている内容が本書では一冊にまとまっている」点が素晴らしいと感じました。例えば青本こと東大出版会『自然科学の統計学』や『Rによるやさしい統計学』やドブソン『一般化線形モデル』などのテキストを読むと「この本には載っていないのにあの本には載っている」という回帰分析の各項目の説明が頻出するんですが、それらが佐和本にはまとまって全て載っているという印象です。


なお、2章に簡潔な線形代数(と線形代数に関連する微積分)の講義がまとめてありますが、線形代数そのものが未修という読者がこれだけで線形代数を理解しようとするのは無謀を通り越してほとんど自殺行為なので、何かしらもっと穏当かつまとまった線形代数のテキストを別途用意することをお勧めします。ただし理系の教養課程数学などで昔線形代数を勉強したが忘れてしまった、という人には良い復習教材になると思います*2


個人的に優れていると感じた点など


特に個人的に「佐和本ではまとまって説明されていて助かる」と思った点を以下に適当に挙げておきます。

OLS線形回帰モデルが前提とする仮定が端的にまとまっている


Quoraでもこんな感じの混乱した質問が飛んでいるのを見かけたんですが、本書p.58にはっきりと「誤差項の平均が0」「誤差項の分散が均一である」「計画行列がフルランクである」の3点が挙げられています。

標準線形回帰モデルが前提とする諸仮定を、以下にまとめておこう。

(4.11)  \mathbf{y} = \mathbf{X} \mathbf{\beta} + \mathbf{\epsilon}

と書くとき、 \mathbf{X} \mathbf{\epsilon}は、以下の仮定を満たす。

仮定1  E(\mathbf{\epsilon}) = 0.
仮定2  V(\mathbf{\epsilon}) = \sigma^2 \mathbf{I},  \sigma^2は正定数である。
仮定3  rank ~ \mathbf{X} = p.

なお n \times p行列 \mathbf{X}の要素は、固定された(非確率的)変数値とする。

また、その後の4.2節「最小2乗推定量の性質」でそれぞれの理由が全て端的かつ分かりやすくまとめられています。仮定4として「誤差項が正規分布に従う」を追加することで、「誤差項が正規分布に従っていればOLS推定量最尤推定量と一致する」「最尤推定量と一致していれば同じような便利な性質を持つと仮定できて有用」という話ですね。


色々なところで「線形回帰モデルは『何』が正規分布に従っているべきなのか」という議論がされているようで、中には互いに食い違う説明をしている資料がweb上には沢山あると伝え聞きますが*3、本書を読めば一つの章にきちんと順序立ててまとめられていて一発です。なお、念のため『自然科学の統計学』第2章も読み直してみたんですが、思ったよりもまとまりのない書き方をされていてこれだと初学者は分かりにくいかもな、と思いました。

線形回帰モデルの前提に「合わない」場合の対処法もまとまっている


6章「標準的諸仮定からのズレ」には、上記で引用した目次にもある通り

6. 標準的諸仮定からのズレ
 6.1 誤差項の相関と分散不均一
 6.2 仮説検定
 6.3 正規分布からのズレ
 6.4 残差の分析

というように線形回帰モデルが4章で挙げた前提を満たさない場合にどうすべきかという話題がまとめられています。即ち系列相関(自己相関)があったり、不均一分散が見られるケースであったり、これらに対して相対的有効性の下限を表すワトソンの公式や残差の系列相関をダービン=ワトソン比で検定する方法などが紹介されています。また6.4節では残差分析のやり方が述べられていて、ここではQ-Qプロット*4の使い方や有名なアンスコムの例などが紹介されており、「ああ残差分析ってこうやるのだった」と大いに参考になります。

モデル選択の話題がカバーされている


7.1節ではモデル選択の話題がされており、ここでは当時としてはまだまだ新しい概念だったAIC*5が紹介された上で、AICを最小にするモデルを選ぶことで「データへのあてはまりが良くて、なるべく母数節約的なモデルほど望ましい」(原文ママ)という基準でモデル選択を行うことになる、という説明が端的になされています。


そしてこの時代としては結構な手間なのではないかと思うのですが、7.1.9節ではステップワイズ法*6による変数選択の実践例が示されており、この際に複数のモデル選択基準(RSS,  R^2, AIC, マローズの C_p, 自由度調整済み決定係数 \bar{R}^2)による結果も併せて紹介されているのが興味深いです。まだまだ計算機統計学が主流でない時代の、先人たちの苦労が偲ばれますね。


また、モデル選択に関連して紹介されることが多い項目として尤度比検定がありますが、これも例えば『自然科学の統計学』だと後回しにされて一般化線形モデル(というかロジスティック回帰)の章で唐突に出てくるものが、本書ではモデル選択の節でまとめて紹介されているので、流れとしても分かりやすいです。

多重共線性についても触れられている


佐和本が優れている点として特に僕が挙げたいのがこれです。多重共線性(multi-colineary)は多変量回帰の実務では頻出どころか鉄板に近い問題(モデルの仮定を満たさないという意味で)なのですが、意外にも一般的な統計学のテキストの大半では殆ど論じられることがありません。


しかし本書では7.2節を多重共線性の話題に割いて、その問題点と対処法について詳らかに論じています。対処法については単純に互いに相関の高い説明変数から「取り除いて差し支えない」変数を削除するという素朴なものがまず提案されていて、これについては1979年当時はまだVIFの概念が国内外でもようやく提唱され始めたかどうかという時期であるのを考えれば仕方ない気もします*7


そしてもう一つの対処法として提案されているのがRidge回帰(L2正則化)です。これは機械学習だと正則化の文脈で学ぶ内容だと思いますが、統計学では1970年頃に既に多重共線性を解決する方法として提案されており、Wikipedia記事でも本書と同様の解説がされています。ちなみに本書pp.167-8では

説明変数間に多重共線が存在するとき、ひとつの可能な対応策として、最小2乗法に次のような改良をほどこす方法がある。積率行列 \mathbf{X'X}が特異に近いことがそもそもの原因なのだから、 \mathbf{X'X}の対角要素に正定数 kを加えて、


(7.69)  \mathbf{\hat{\beta}}_k = (\mathbf{X'X} + k\mathbf{I})^{-1} \mathbf{X'y}


という推定量を考えてみる。このような推定量のことを、リッジ(ridge)推定量という。リッジ推定量は、むろん不偏ではない。しかし、 \mathbf{X'X} + k \mathbf{I}逆行列は、 \mathbf{X'X}のそれよりも"安定的"と予想される。また実際、


(7.70)  V(\mathbf{\hat{\beta}}_k) = \sigma^2 (\mathbf{X'X} + k\mathbf{I})^{-1} \mathbf{X'X} (\mathbf{X'X} + k\mathbf{I})^{-1}
     \leq \sigma^2 (\mathbf{X'X})^{-1} = V(\mathbf{\hat{\beta}})


となることが容易に確かめられ、 \mathbf{\hat{\beta}}_kの分散は、 \mathbf{\hat{\beta}}のそれよりも小さいことがわかる。したがって、 kをうまく選べば、リッジ推定量を用いることにより、推定値や予測値の平均2乗誤差を小さくできる。

と丁寧に解説されており、Ridge回帰が何故多重共線性の対策として有効かを理解するのは容易だと思います。余談ですが、お恥ずかしながら僕はRidge回帰を機械学習正則化の文脈でしか勉強したことがなかったので、今回佐和本でこの解説に行き当たってそのご利益をようやく理解できたのでした(汗)。


最後に


今回改めて佐和本を入手して読んでみて、「1979年初版本にもかかわらず書かれている内容は2021年の現在でも実務の現場では大いに重要とされることばかり」で僕個人としては大いに驚いたものでした。特に互いに包含関係にないモデルの比較や多重共線性(そしてRidge回帰)といった話題は、意外と最近の標準的なテキストでも端折られていることが珍しくないため、これらについて40年以上も前に紙面が割かれているということ自体が凄いことだと感じた次第です。


勿論、40年以上前と現在とでは単純に比較できない点が多く、例えばRidge回帰のパラメータ決定についてk-fold cross validationが「計算が面倒」として割愛されているなど、明らかに当時の計算機性能の限界やそもそも「計算機がまだそれほど普及していない」時代ゆえの限界も見受けられます*8。しかしながら、それら時代の差異に影響されている箇所を除けば2021年現在でも通用する重要な話題ばかりであり、RやPythonなどによる便利な計算機実装が多数出回る現在ではその存在意義すら忘れられがちな理論的側面を適切かつ端的に思い起こさせてくれる、というのが本書の優れた点だと思いました。


僕が某所で宣伝してしまったせいで転売ヤーにでも買い占められたのか値上がりして入手困難本になってしまったようですが、統計モデリングを用いて実務に勤しむ方々には是非ご一読をお勧めします。

*1:本質的にはベイジアン構造化時系列モデルであっても回帰パートは単なる線形回帰モデルに帰着できるため、本書のカバー範囲に完全に入る

*2:僕も行列の微分の詳細とか完全に忘れてました

*3:というか、多分このブログの何年も前でまだ初学者だった頃の記事にもそういうのが紛れ込んでいるはず。。。

*4:そうとは明記されていないが明らかにQ-Qプロットの話題がされている

*5:AICの初出が1973年なので本書出版時点ではまだ6年しか経過していない

*6:そうとは明記していないが明らかにそう

*7:現在では例えばRなら{car}パッケージのvif関数で計算できます

*8:この辺は1992年に初版が出た『自然科学の統計学』の方がより現代に近くて、計算機によるランダムサンプリングを駆使した交差検証の概念なども紹介されるようになっている