2015年版「線形回帰の真実」
(stat.cmu.edu)- 2015年秋の Carnegie Mellon 36-401 Modern Regression の講義ノートを基にした、線形回帰を学ぶ人・教える人のための学習用原稿
- 線形回帰を1960年代式の仮定に縛らず、**ガウスノイズ(Gaussian noise)**と正しく指定された線形モデルに依存する理論の比重を下げている
- より計算集約的であってもロバストな手法を重視しており、原稿自体もその方向へ十分に進めていない可能性があると述べている
- Advanced Data Analysis from an Elementary Point of View の第2章と一部重なるが、新しく、より初歩的な資料も多く含む
- 目次は最適予測、最小二乗法、最尤法、診断、推論、多重共線性、モデル選択、重み付き・一般化最小二乗、変数選択、木、ブートストラップまで幅広く続く
原稿の性格とアプローチ
- この原稿は 36-401, Modern Regression, in fall 2015 の講義ノートをまとめた資料
- 線形回帰に関する資料はすでに多いことを認めつつも、学ぶ人や教える人の助けになる可能性を考えて公開された
- 統計学が1960年以降に発展してきたという観点から、正しく指定された線形モデルとガウスノイズに依存する理論をあまり強調していない
- より計算集約的だがロバストな手法を好む方向で構成されており、著者はその方向へ十分に進めていないかもしれないとも付け加えている
- Advanced Data Analysis from an Elementary Point of View と一部重なり、特に第2章 “The Truth About Linear Regression” と関連している
- 同時に、新しく、より初歩的な資料も多く含み、意見や訂正、特に誤りの修正を歓迎している
扱う範囲と更新
- 現在の目次は、線形回帰の基本モデリングから診断、推論、拡張手法まで続く
-
基本モデリングと単回帰
- Optimal Prediction
- Introducing Statistical Modeling
- Simple Linear Regression Models, with Hints at Their Estimation
- The Method of Least Squares for Simple Linear Regression
- The Method of Maximum Likelihood for Simple Linear Regression
- Diagnostics and Modifications for Simple Regression
- Inference on Parameters
- Predictive Inference for the Simple Linear Model
- Interpreting Parameters after Transformation
- F-Tests, R^2, and Other Distractions
- Simple Linear Regression in Matrix Format
-
重回帰と発展的トピック
- Multiple Linear Regression
- Diagnostics and Inference for Multiple Linear Regression
- Polynomial and Categorical Regression
- Multicollinearity
- Tests and Confidence Sets
- Interactions
- Outliers and Influential Points
- Model Selection
- Review
- Weighted and Generalized Least Squares
- Variable Selection
- Trees
- The Bootstrap I
- The Bootstrap II
- 今後、Data Over Space and Time の授業の linear spatio-temporal estimation and prediction 資料が原稿に含まれる可能性がある
- 例として Wiener filter、kriging などが挙げられている
- 最後のテキスト更新は、R の更新後のコード再実行と誤字脱字の修正で、日付は2025年10月20日
1件のコメント
Hacker News のコメント
線形回帰は過小評価されることが多い
y = a*sin(x)+bx^2も線形モデルであるもう一つ重要なのは、人間、とくに集団は、合理的には線形的な意思決定しか行いにくいという点だ
会社の方向性を決める会議では、「広告費は増やし、割引クーポンのような他の獲得コストは減らそう」といった形で話すしかない。「広告費の増加」と「他のコストの削減」の間のバランスを探るのは、単純な線形モデルである
優れた非線形モデルがあっても、肝心なのは「解釈可能性」というより実行可能性だ。会議に回帰分析の結果を持ち込めば、複数の戦略を素早くモデル化し、方向性について合理的な確信を与えられる
実行可能なインサイトを上層部に伝えるのに苦労していたが、回帰分析をきちんと理解してからは、かなり複雑なビジネスプロセスでも素早く開いて理解するのが驚くほど容易になった
それでも、ステークホルダーがそれを正しく理解したり価値を認めたりすることはめったになかった。たいていは怠慢と習慣のせいだと思う
文献でよく見かける問題は、著者が2次項を含むモデル、たとえば
Y = age + age^2の傾きを最低・最高年齢層で過剰解釈することだ。グラフは信頼区間ではなく線だけを見ると最高齢で低下しているように見えるが、実際には2次モデルが漸近線を表現できないために生じた見かけ上の負の傾きかもしれない。例: https://www.researchgate.net/figure/Scatter-plot-of-the-quad...)理論的に決まった選択肢がないときは分数多項式を使っていた。たとえば
x^sでs = {−2, −1, −0.5, 0, 0.5, 1, 2, 3}とし、過学習を避けながら最もよく合う多項式を選ぶ戦略を取る: https://journal.r-project.org/articles/RN-2005-017/RN-2005-0...悪い手法ではないし、区分的多項式回帰やノットのような別の方法も試したが、たとえばノットを持つ2つのスプライン間の群交互作用をどう検定すればよいのかはよく分からなかった。加法モデルでも同じだった: https://bookdown.org/ssjackson300/Machine-Learning-Lecture-N...
ただし、こうした説明は役に立つというより、かえって見えにくくすることのほうが多いかもしれない。特定の事例に合った変換を選ぶのは非常に難しい問題だ。なぜ
sin(x)とx^2でなければならず、tanh(x)とx^(1/2)ではないのか、という問題が残る何か基本的なことを見落としている気がする
回帰で最も重要な技術は、切片を見抜くことだと思う。些細に聞こえるし実際些細なのだが、項同士の相互作用を入れ始めると話が変わる。若い大学院生がここを間違えるのを本当によく見てきた
テストスコア、年齢(7〜16歳)、二値カテゴリ変数である自閉症診断(0=対照群、1=自閉症)を使う単純な線形モデルを考えると、
score = age + diagnosis + age:diagnosis、つまりscore = (X1)age + (X2)diagnosis + (X3)age:diagnosisとなるX2が有意だと、素朴な学生は「群間差がある!」と言うが、これは参加者が0歳のときの予測上の群間差であることを見落としている。年齢は平均、中央値、あるいはもっとよくは関心のある年齢で中心化すべきだ。相互作用が式に入ると、すべての「低次」のパラメータ推定値は切片を基準に解釈される年齢効果が有意であることを見て、両群に当てはまると考えるかもしれないが、
X1は基準群である対照群の予測傾きだけを示している。相互作用は、2つの群の年齢傾きが異なるかどうかを検定する。さらに、相互作用が有意でなくても、自閉症群の年齢効果が0と有意に異ならないこともある。データが曖昧な領域にある場合、解釈には注意が必要だある人には当たり前に見えるだろうが、相互作用項があるときにパラメータの条件付き空間を正しく理解するには努力がいる。ここでは群のコーディング方法、たとえば全体平均基準なのか、一つの群を基準にするのかなどはいったん無視したが、教訓は同じだ。切片が何を意味し、誰/何を指しているのかを理解しなければならない
この作業を助ける ExploreModelMatrix もある: https://www.bioconductor.org/packages/release/bioc/html/Expl...
p値が嫌いな強硬なベイズ派なら、それも構わない。ただ、賢い学生でも相互作用項があるモデルを自然に解釈するのに苦労するのを多く見てきたので、正しい方向を示したかった
X1は基準群である対照群の予測傾きだけを示す」という意味ではない。書かれた式どおりなら、X1は集団全体に対する値だ。適切なダミー変数を作っていないX1*age*isControl+X2*isControl+X3*isAutism+X4*isAutism*age+X5*ageこうすれば、2つの群それぞれの年齢効果と、2つの群に共通する年齢効果を分離できる
診断変数
X2の有意な負荷量は、特定の年齢における診断効果を示すわけではない。ただし、年齢0歳では当てはまる関心のある年齢を基準にモデルを再中心化する必要がある
10年前にCMUで36-401と36-402を履修し、当時は Shalizi が教えていたが、どちらもとても良い統計の授業だった。良くも悪くも base R を学ばせるものだった
線形回帰の大きな弱点は、係数を有効に解釈するための学術的な仮定が、小さな教育用データセットでは作りやすい一方で、汚い現実のデータにはほとんど当てはまらないことだと、苦労して学んだ
これが与えられないなら、混合効果モデルで相関した反応を反映するか、反応を平均集計する必要がある。平均を計算すると分散は減るがデータポイント数も減り、Wald 検定の t 統計量の計算ではこの2つが相殺し合う
残差の正規性のような他の仮定については、線形モデルはある程度の違反に耐えることが多い。それでも、そうした違反がどんな影響を持つかは常に理解しておくのがよく、たとえばシミュレーションを回したり、帰無データの p値ヒストグラムを見たりして確認できる
リッジ回帰が多重共線性の文脈で紹介されている点が気に入った
最近はほとんどの人が過学習を防ぐ正則化手法として学んでいるようだが、根本的な用途の一つ、そしておそらく起源は、強く相関している、またはほぼ線形従属な予測変数の間で重みをバランスよく分けることにある。データが十分に多くても、こうした予測変数は大きな問題を引き起こし得る
Citadel のクオンツ研究者のような人が線形回帰を教えるところを見てみたい。彼らがこれをどう使っているのか、特に何を気にしているのか、問題の見方を意味のある形で変える理論的結果があるのか、などが気になる
関連する問題である共分散行列推定では、縮小推定の変種が人気だ。最も単純なのは Ledoit-Wolf の Linear Shrinkage だ
ニューラルネットワークを除けば、回帰をしている多くの人は、ドメインに合わせたこうした調整を載せた線形回帰を使っているように思う
特に金融では、より複雑なモデルで自分をだますのがあまりに簡単だ
x'*yだけでは足りず、内積x'*xで割るとちょうどよくなり(回帰)、そこにさらに別の内積y'*yでもう一度割ると、平方根まで含めて相関係数になってしまい、やりすぎに感じるようなものだ残念ながら、大きな秘密やすごい暴露はない。Jim Simons が Numberphile のインタビューで語ったように、弱いシグナルをゆっくり苦労しながら積み上げ、システムのさまざまな箱を作って改善していく過程だ。その間のインターフェースはおおむね知られている
全体像の中で、フィット方法そのものが莫大な利益をもたらすわけではない。少なくとも壊しさえしなければよい
Citadel にいたわけではないが、この20年間クオンツの研究開発とトレーディングをしてきた
学部時代、複数の科目で線形回帰を繰り返し学び直さなければならなかった。もちろん仮定が成り立つという前提のもとで、統計と確率論によって最適性を証明できる点が興味深い
コンピュータサイエンスの博士課程では、主にディープラーニングモデルを使う回帰問題を見ていた。直接扱ったわけではないが、古典的な線形モデルの厳密な証明や定理をディープ回帰モデルへ移す方法があるなら、かなり面白いと思う
Shalizi の “Data Analysis from an Elementary Point of View” も優れた入門教材です: https://www.stat.cmu.edu/~cshalizi/ADAfaEPoV/
線形モデル、加法モデル、シミュレーションに重点が置かれていますが、それは正しい方向性です。本の90%はコンピュータなしでは役に立ちませんが、それが現代の現実です
この記事にはないようですが、線形回帰でもディープラーニングでよく見られる二重降下現象が現れます
これを見るには、何らかの正則化を入れる必要があります。この議論が追加されるとよいと思います
今月、XGBoostで回帰を教える立場として読むのに良い記事です。多くの学術的なテキストと違って、とてもよく書かれており、取り組みやすいです
特に第6章の視覚的診断が気に入りました。非常によくできています
興味深そうですが、このPDFをモバイル最適化された形式に変換する方法を知っている人がいるか気になります