AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す連載。今回は「回帰分析」には対数変換を用いるとよい理由について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す本連載『「AI」エンジニアになるための「基礎数学」再入門』。前回は最小二乗法および回帰分析について解説しました。
今回のテーマは、有用なケースが多いのでぜひ覚えてほしいテクニック「対数変換」です。前回の回帰分析に使えるものですが、「なぜ有用なのか?」についても解説します。
前回学んだ単回帰分析について簡単に復習します。単回帰分析は、「y = ax + b」という数式である値を予測するものでした。例として、以下のような課題を与えられたとします。
Name | y:資産額(万円) | x:年収(万円) |
---|---|---|
A | 300 | 1000 |
B | 240 | 800 |
…… | …… | …… |
単回帰分析なら次のような数式を仮定します。
この仮定の下で、データからa,bを求めることで数式を完成させるのが単回帰分析でした。この仮定をもう少し深く考察します。
数式(1)の両辺を“年収”で微分してみます。
数式(2)から何を読み取れるかというと、aは固定値なので「変化量の比は一定」ということです。すなわち、本仮定は次のようなことを言っているも同然だということになります(aを適当に0.3として、低所得/高所得者で考えてみましょう)。
つまり「ベースとなる年収に限らず、同じだけ年収が上がれば、同じだけ資産額は増える」という仮定です。この仮定は本当に正しいのでしょうか。これには少し違和感があります。一方、例えば次のような仮定の方が美しい、つまりシンプルかつ正しそうではないでしょうか。
このような仮定の方が現実世界に当てはまることが多いのです。しかし、この仮定を置くにはどうしたらよいでしょうか?
答えは連載第5回で学んだ「対数変換」です。対数を用いて次のような数式を考えます。
こうするだけで前述の“美しい仮定”が出来上がります。理由は後述するので、まずは「本当に精度が上がるのか?」を確認します。
ボストンの住宅価格データは統計学や機械学習の初学者用チュートリアルによく使用されるオープンデータです。
配布元はカーネギーメロン大学で、ライセンス指定はありません。
Copyright © ITmedia, Inc. All Rights Reserved.