DEVELOPER’s BLOG

技術ブログ

単回帰分析における最小二乗法の解説

2019.07.31 久保大亮
回帰 機械学習
単回帰分析における最小二乗法の解説

回帰分析とは

先ず回帰分析とは、あるp個の変数Alt 最小二乗法が与えられた時、それと相関関係のあるyの値を説明、予測することである。ここで変数xを 説明変数 、変数yを 目的変数と呼ぶ。p=1、つまり説明変数が1つの時を単回帰、またp>=2、つまり説明変数が2つ以上の時を重回帰と呼ぶ。

単回帰分析

今回はp=1と置いた 単回帰分析 について説明する。

このとき、回帰式は y=ax+b(a,bは 回帰係数 と呼ばれる)となり直線の形でyの値を近似(予測)できる。

単回帰分析のデメリットとして知りたいデータを直線で近似してしまうため、精度が良くないと得られるデータに大きな誤差が生じてしまう。

しかしデータのおおよその値が視覚的に分かるため、データの大概を掴むことができ非常に便利な分析手法の1つである。

例として、ある店舗での来店者数(来場者数)について興味を持ったとしよう。ここで広告費(宣伝費)と来場者数について以下のような散布図が得られたとする。

Alt text

この散布図を見ると、グラフに弱い人でも「宣伝費が高ければ来場者数が増える」と読み取れるだろう。

そこでパラメータa,bをうまく決定し( 最小二乗法 による)、下図のように直線を引けたとしよう。

Alt text

グラフからも分かるようにデータは正しい値を取るわけではない、つまり厳密に最小二乗法とはならないことに留意せよ。

そこで後で説明する最小二乗法によって、パラメータa,bをうまく決定するのである。

最小二乗法

最小二乗法とは、誤差を伴う測定値の処理において、その誤差(残差)の二乗の和を最小にすることで最も確からしい関係式を求めることである。

Alt text

プロットされた各点(xi, yi)における回帰式( y=ax+b)との残差の和が最小となるようにパラメータa,bを決定したい。

回帰式 y=ax+b にi番目のxの値を代入して得られるy(予測値)を、

最小二乗法

とする。

そこでi番目のデータについての残差(実測値と予測値との差)をε_iと置くと、

最小二乗法

となる。このままだと残差の符号にばらつきが出るため扱いづらい。そこで残差の2乗和について考える。(サンプルサイズはnとしている)

最小二乗法

この式はパラメータ(a,b)の関数であり、最小二乗法によりこの残差の二乗和が最小となるようなパラメータ(a,b)を求める。

最小化の一階条件として上式をa,bでそれぞれ偏微分した値が0となる性質がある。先ず偏微分すると、

最小二乗法

最小二乗法

これより一階条件は、

最小二乗法

最小二乗法

となる。一般的にこの二本の方程式は 回帰の 正規方程式 と呼ばれている。

二本目の式より、最小二乗法を得るので、

最小二乗法

となる。これより、

最小二乗法

を得るが、これより y=ax+b が定点最小二乗法を通ることがわかる。

改めて、中心化した変数及びデータ、

最小二乗法

を用いると、

最小二乗法

最小二乗法

然るに、残差平方和をbを含まない式に書き換えることができる。

最小二乗法

よってaで偏微分して、残差平方和を最小にするaを求める。これをAlt textと書くことにする。

最小二乗法

最小二乗法

が得られたことになる。

決定係数

次に、求めたパラメータa,bに対して、目的変数yが説明変数xによってどれだけ説明されているかを検証してみる。

モデルの当てはまりが悪ければ、説明変数を追加するなどして、モデルを改良するための一つのインデックスとなる。

今回は、モデルの当てはまりの良さを表す指標の一つとして、 決定係数 を導出する。

決定係数とは、上で導出したパラメータa,bを持つ回帰式の精度を表す値である。

一般に決定係数は、

最小二乗法

で定義される。第二項の分母は全変動と呼ばれ、データそのもののばらつき具合を表しており、分子は残差変動と呼ばれ、回帰モデルと実測値とのズレを表している。

即ち、決定係数が1に近いほど残差変動が小さいということであり、良い予測が出来ていると判断される。

関連するTheoremとして、「最小二乗法による直線フィッティングの場合、相関係数の二乗と決定係数は一致する」というものがある。

今回はこの証明は割愛するが、 こちらのサイト から是非確認してほしい。

参考文献

最小二乗法の意味と計算方法 - 回帰直線の求め方

線形回帰分析入門〜最小二乗法から決定係数まで

関連記事

リッジ(Ridge)回帰・ラッソ(Lasso)回帰の違い

線形モデル(linear model)は、実用的に広く用いられており、入力特徴量の線形関数(linear function)を用いて予測を行うものです。まず、説明に入る前に言葉の定義から紹介します。 線形回帰 データがn個あるとした時にデータの傾向をうまく表現することができるy=w_0×x_0+....+w_n×x_n というモデルを探し出すこと 正則化 過学習を防いで汎化性を高めるための技術で、モデルに正則化項というものを加え、モデルの形が複雑になりす

記事詳細
リッジ(Ridge)回帰・ラッソ(Lasso)回帰の違い
回帰
Kaggleコンペ 2019 Data Science Bowlの振り返り

はじめに 昨日まで開催されていたKaggleの2019 Data Science Bowlに参加しました。結果から言いますと、public scoreでは銅メダル圏内に位置していたにも関わらず、大きなshake downを起こし3947チーム中1193位でのフィニッシュとなりました。今回メダルを獲得できればCompetition Expertになれたので悔しい結果となりましたが、このshake downの経験を通して学ぶことは多くあったので反省点も踏まえて

記事詳細
Kaggleコンペ 2019 Data Science Bowlの振り返り
kaggle 回帰 機械学習
海洋エネルギー × 機械学習〜機械学習を利用した電力需要量予測による波力発電の制御〜

〜普及に向けた課題と解決策〜に続き  私が前回作成した記事である「海洋エネルギー × 機械学習 〜普及に向けた課題と解決策〜」では、海洋エネルギー発電の長所と課題とその解決策について触れた。今回はそこで取り上げた、 課題①「電力需要量とのバランスが取りにくい」、課題③「無駄な待機運転の時間がある」への解決策 ~発電量・電力需要量予測~ ~機械学習を用いた制御~ を実装してみる。  繰り返しにはなるが、この「発電量・電力需要量予測」と「機械学習を用いた制御」

記事詳細
海洋エネルギー × 機械学習〜機械学習を利用した電力需要量予測による波力発電の制御〜
ニューラルネットワーク 利用事例 回帰 機械学習
Microsoft Azure Machine Learning でロジスティクス回帰を用いた Iris Two Class Dataの分類

はじめに  今回はロジスティック回帰についてやっていこうと思います。まずはロジスティック回帰の概要を説明して、最後には実際にAzureでiris(アヤメ)のデータでロジスティック回帰を使っていこうと思います。 勾配降下法  ロジスティック回帰でパラメータの値を決めるときに勾配降下法を用いるので、簡単に説明をしておきます。  勾配降下法は、ある関数J(w)が最小となるwを求める際に、あるwでの傾き(勾配)を求めて、降下の方向(傾きが小さくなる方)にwを更新し

記事詳細
Microsoft Azure Machine Learning でロジスティクス回帰を用いた Iris Two Class Dataの分類
Azure Machine Learning 回帰 機械学習

お問い合わせはこちらから