昨今、統計における回帰分析などの手法について、Pythonでおこなわれることが多くなってきているが、Excelでも標準の組み込み関数を使ってある程度のことは十分できるようになっている。

ここでは、データの予測に用いられる回帰分析のうち、単回帰分析のやり方と、回帰式にあらわれる回帰係数(直線の傾き)と切片(定数項)をExcel関数で求める方法を紹介する。

回帰分析とは

まずは回帰分析について軽く説明しておく。

以下のような、賃貸物件の面積と家賃の関係をあらわす散布図があるとする。

図を見ると、面積が増えれば家賃も上がる正の相関を取っており、直線的な関係であることが分かる。

この直線を求める式を回帰式と言い、以下の方程式で成り立つ。

$$y = ax + b$$

今回の場合、xが面積、yが家賃にあたり、xを使ってyを求めることになるので、xを説明変数、yを目的変数と呼ぶ。

この時、一つの説明変数を使った回帰を単回帰分析、複数の説明変数を使った回帰を重回帰分析という。

回帰分析では、この回帰式にあらわれる係数(a)や、切片(b)を求めたり、回帰式を利用した予測をおこなったりする。

回帰係数と切片を求めるExcel関数

回帰係数を求めるSLOPE関数の使い方

Excelには回帰係数を求めるSLOPE関数が用意されており、以下のようなデータがあれば簡単に係数を求めることができる。

下記はGoogleスプレッドシートを利用した例だが、Excelでも同じ関数を使うことができる。

セルD2にSLOPE関数を途中まで入力した例だが、サジェストで出てくる引数のとおり、第一引数にデータy(目的変数の家賃)、第二引数にデータx(説明変数の面積)を入力すると簡単に回帰係数を求めることができる。

切片(定数項)を求めるINTERCEPT関数の使い方

切片を求める場合はINTERCEPT関数を使う。

使い方はSLOPE関数と同じで、第一引数に目的変数、第二引数に説明変数を指定してあげれば良い。

これで面積から家賃を求める回帰式を得ることができた。

$$y = 0.25x + 1.13$$
※小数点第3位以下切り捨て

得られた回帰式で予測をおこなってみる

回帰式を得ることができたら、説明変数x(面積)に適当な数値を当て込み、目的変数である家賃を予測することができる。

例えば面積を30とした場合、以下の結果を得ることができる。

$$y = 0.25 \times 30 + 1.13$$

$$y = 7.5 + 1.13$$

$$y = 8.63$$

実際には、家賃は面積だけでなく数多くの説明変数を用いた重回帰分析をおこなって予測する必要があるが、Excelを使った重回帰分析のやり方はまた別の機会に記事にまとめようと思う。