機械学習や統計に携わったことがある人であれば、たとえ自分でエンジニアリングをしなかったとしても何回も聞くことになるワードのひとつに「線形回帰」があります。線形回帰は非常に基本的な考え方であり、そのために何となくわかる気になってしまいやすいものです。
そこで今日は線形回帰とは何であるのか?を基本的なところから学んでいこうと思います。
まず回帰とは?
線形回帰について見る前に「回帰」がなんであるのかについて見ていきます。
「回帰」とは、教師データを用いて学習を行い、未知のデータから連続値を予測することです。
こちらの記事でも触れているので見てみてください。
企業の売上予測や倉庫の在庫管理など様々なシーンで使われているものです。過去の連続した数値データを元に未来のデータを予測するものなので、ここ最近は毎日暑くなってきたから、きっと明日も暑いだろうと予測するのもある種の回帰であると言えます。
線形回帰とは、その名の通り線形で回帰を行うものです。
線形回帰とは?
線形回帰を数式で表すと以下のようなものになります。

これだけだとわかりにくいので日本語で表現してみます。

線形回帰とはある目的変数yを求めるために、その目的変数を導きだすための説明変数Xと定数Wを用いて線を引いて、ある特定のポイントでの目的変数を予測するものです。
線形回帰を使って予測をしてみる
例として8月の気温を線形回帰で予測してみます。
なお、ここで行うのは機械学習を使った予測ではなく、ただのExcelでの作業です。
気象庁のHPに140年分の各月の平均気温が載っていたので、ここから8月の値をピックアップして散布図にしてみます。X軸が1876年からの経過年数、y軸が平均気温です。

なんとなく上昇傾向にあることがわかります。
ここに線形回帰直線を引いてみます。

こんな線を引くことができました。
y=0.0201x+25.098
とあります。
8月の平均気温を目的変数としたとき、1876年からの経過年数xに0.0201を掛けて、定数25.098を足したものが未来の8月の平均気温として予測されたものです。
この式に基づくと、西暦3000年の8月の予測平均気温は47.69℃になります。むちゃくちゃです笑
実際にはこのようにひとつだけの説明変数で予測を行えることはほとんどありません。気温であれば従来の平均気温の他にも当然様々な要因を加味して分析を行っていきます。
また説明変数がひとつのときには線形回帰モデルは直線の形ですが、説明変数が増えるとその分モデルは複雑になっていきます。
ちなみにモデルが複雑になりすぎないようにするためには、「正則化」という処理を行います。
線形回帰はデータの分析の中でも直感的にわかりやすく、なおかつ良く使われるものです。ぜひ覚えておいてください。
コメントを残す