”美しい仮定”は精度を向上させる――「回帰分析」には対数(log)変換が有用な理由「AI」エンジニアになるための「基礎数学」再入門(16)

AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す連載。今回は「回帰分析」には対数変換を用いるとよい理由について解説します。

» 2022年03月11日 05時00分 公開
[西村圭介東京ITスクール]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 AIに欠かせない数学を、プログラミング言語Pythonを使って高校生の学習範囲から学び直す本連載『「AI」エンジニアになるための「基礎数学」再入門』。前回は最小二乗法および回帰分析について解説しました。

 今回のテーマは、有用なケースが多いのでぜひ覚えてほしいテクニック「対数変換」です。前回の回帰分析に使えるものですが、「なぜ有用なのか?」についても解説します。

回帰分析の復習

 前回学んだ単回帰分析について簡単に復習します。単回帰分析は、「y = ax + b」という数式である値を予測するものでした。例として、以下のような課題を与えられたとします。

  • 課題:年収からその人の資産額を推測せよ
    1. 目的変数yが資産額
    2. 説明変数xが年収
使用するデータのイメージ
Name y:資産額(万円) x:年収(万円)
A 300 1000
B 240 800
…… …… ……

 単回帰分析なら次のような数式を仮定します。

数式(1)

 この仮定の下で、データからa,bを求めることで数式を完成させるのが単回帰分析でした。この仮定をもう少し深く考察します。

単回帰分析の深掘り

 数式(1)の両辺を“年収”で微分してみます。

数式(2)

 数式(2)から何を読み取れるかというと、aは固定値なので「変化量の比は一定」ということです。すなわち、本仮定は次のようなことを言っているも同然だということになります(aを適当に0.3として、低所得/高所得者で考えてみましょう)。

  • 年収100万円の人の年収が10万円上がれば資産額は3万円増える
  • 年収100万円の人の年収が1000万円上がれば資産額は300万円増える
  • 年収1000万円の人の年収が10万円上がれば資産額は3万円増える
  • 年収1000万円の人の年収が1000万円上がれば資産額は300万円増える

 つまり「ベースとなる年収に限らず、同じだけ年収が上がれば、同じだけ資産額は増える」という仮定です。この仮定は本当に正しいのでしょうか。これには少し違和感があります。一方、例えば次のような仮定の方が美しい、つまりシンプルかつ正しそうではないでしょうか。

  • 年収が10%上がれば、資産額は10%上がる
  • 年収が20%上がれば、資産額は20%上がる

 このような仮定の方が現実世界に当てはまることが多いのです。しかし、この仮定を置くにはどうしたらよいでしょうか?

 答えは連載第5回で学んだ「対数変換」です。対数を用いて次のような数式を考えます。

数式(3)

 こうするだけで前述の“美しい仮定”が出来上がります。理由は後述するので、まずは「本当に精度が上がるのか?」を確認します。

使用データ(ボストンの住宅価格データ)の説明

 ボストンの住宅価格データは統計学や機械学習の初学者用チュートリアルによく使用されるオープンデータです。

 配布元はカーネギーメロン大学で、ライセンス指定はありません。

【基本情報】

  • 作成者:Harrison, D. and Rubinfeld, D.L. 'Hedonic prices and the demand for clean air', J. Environ. Economics & Management, vol.5, 81-102, 1978.
  • タイトル:Boston Housing Data
  • 公開日:July 7, 1993
  • URL:http://lib.stat.cmu.edu/datasets/boston.txt

データの内容例

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。