[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

コンピュータIIJ(統計解析)第13回

目次
索引

回帰分析

相関係数の復習

はじめに、相関係数について復習します。

2つの変数 x , y があるとき、 x と y の関係を 相関関係 ( correlation )と呼びます。

ここで扱う例は、ある会社における、ある商品の広告費と売上の関係です。 広告費(百万円)を x とし、売上(百万円)を y とします。

回帰直線の作成(1)
回帰直線の作成(1)

2変数の相関関係を調べるには、まず、散布図を作成します。 散布図を作成することで、全体の傾向が明確になり、外れ値(異常値)の存在も分かります。

先程の広告費と売上の散布図は以下の通りです。 広告費が増えると売上も増えるという関係が見られます。

回帰直線の作成(6)
回帰直線の作成(6)

x が増えると y も増えるとき、 x と y は 正の相関関係 ( positive correlation )があると言います。 x が増えると y が減るとき、 x と y は 負の相関関係 ( negative correlation )があると言います。 どちらでもないとき、 x と y に相関関係はないと言います。

広告費が増えると売上も増えるので、広告費と売上には正の相関関係がありそうです。

相関関係の強弱を表す指標が、相関係数です。 相関係数 r は、−1≦ r ≦1の値を取ります。 散布図ですべての点が上向きの直線上に乗るなら、相関係数 r =1です。 散布図ですべての点が下向きの直線上に乗るなら、相関係数 r =−1です。

実際、Excelなどで計算すると、広告費と売上の相関係数は0.95です。

回帰分析とは

回帰分析 ( regression analysis )とは、2変数(以上)のデータがあるとき、1つの変数を残りの変数で説明する方程式を求めることです。 この方程式を用いると、未知のデータについての予測ができます。

データが2変数の場合は、1つの変数をもう1つの変数で説明します。 これを、 単回帰分析 ( simple regression analysis )と言います。 データが3変数以上の場合は、1つの変数を残りの2変数以上で説明します。 これを、 重回帰分析 ( multiple regression analysis )と言います。

回帰分析で求められる方程式を、 回帰方程式 ( regression equation )と呼びます。

相関 ( correlation )と 回帰 ( regression )は似ていますが異なります。 相関は2つの変数を対等に扱い、それらの関係を見ます。 一方、回帰は一方の変数をもう一方の変数で説明しようとします。

例えば、ある会社のある商品Aを考えます。 商品Aの売上は何で決まるでしょうか。 要因は色々ありそうですが、ここでは広告費に注目します。 実際、広告に力を入れた年は売上は伸びるでしょうし、広告を控えた年は売上は落ちるでしょう。 つまり、売上を広告費で説明するわけです。 そこで、売上と広告費のデータをもとに、売上を広告費で説明する方程式を求めます。 これが回帰分析、特に単回帰分析です。 ここで求められた方程式が回帰方程式です。

回帰分析で回帰方程式が求められれば、今度は売上の予測ができます。 来年度の広告費が決まったら、回帰方程式に広告費をあてはめれば、来年度の売上が分かるのです。

売上は、広告費だけでは決まらないでしょう。 広告費以外に、営業部の人数も影響しそうです。 そこで、売上と広告費、営業部の人数のデータをもとに、売上を広告費と営業部の人数で説明する方程式を求めます。 これが重回帰分析です。

今日の授業では、簡単のため、単回帰分析のみ説明します。

回帰分析は、色々な場面で利用できます。 広告費と売上以外の例として、以下のようなものが考えられます。

散布図に直線を当てはめて回帰方程式を求める方法を 線形回帰 ( linear regression )と呼び、その直線を 回帰直線 ( regression line )と呼びます。 以下は回帰直線の例です。

回帰直線
回帰直線

散布図に曲線を当てはめて回帰方程式を求める方法を 非線形回帰 ( non-linear regression )と呼び、その曲線を 回帰曲線 ( regression curve )と呼びます。 以下は回帰曲線の例です。

回帰曲線
回帰曲線

この授業では、線形回帰のみ説明します。

回帰方程式の求め方

回帰分析において、説明する側の変数を 独立変数 ( independent variable )または 説明変数 ( explanatory variable )と呼びます。 説明される側の変数を 従属変数 ( dependent variable )または 目的変数 ( objective variable )と呼びます。

今回の場合は、広告費は独立変数で、売上は従属変数です。

回帰方程式から得られる値を 回帰値 ( regressed value )または 予測値 ( predicted value )と呼びます。 それに対して、実際の値を 実測値 ( observed value )と呼びます。 実測値と回帰値の差を 残差 ( residual )と呼びます。

独立変数を x , 従属変数を y とすると、回帰方程式は

y = a + b x

という形になります。 (単回帰分析で線形回帰のみを考えているので。) この a の値を y切片 ( y-intercept )と呼び、 b の値を 回帰係数 ( regression coefficient )と呼びます。

回帰分析における回帰直線は、散布図の点になるべく近くなるように当てはめられた直線です。 この直線は、 最小二乗法 ( method of least squares )と呼ばれる方法によって求められます。 最小二乗法の考え方は以下の通りです。

まず、 y 切片を a , 回帰係数を b として、回帰方程式を y = a + b x とします。 データ( x i , y i )に対して、回帰値 f i = a + b x i を得ます。 残差 e i は実測値 y i と回帰値 f i の差なので、 e i = y i − f i です。 残差が全体として小さくなればよいですが、二乗和Σ e i 2 を考え、これが最小になるように a と b を調節する。 これが最小二乗法です。

最小二乗法
最小二乗法

広告費と売上の例について、最小二乗法で回帰方程式を求めると、以下のようになります。

回帰直線(1)
回帰直線(1)

変数 x は横軸なので、広告費を表します。 変数 y は縦軸なので、売上を表します。 したがって、この回帰方程式は(四捨五入して)

売上=8.70×広告費+70.86

という意味です。 また、 y 切片は70.86で、回帰係数は8.70となります。

回帰分析は、変数 y を変数 x で説明することを目的としていますが、変数 x から変数 y を予測することにも使えます。 予測するには、回帰方程式 y = a + b x の x に代入して、回帰値 y を求めます。

例えば、商品Aの来年度の広告費を1,500万円(15.0百万円)と決めたとします。 回帰方程式は

y =70.86+8.70 x

なので、

70.86+8.70×15.0=201

(四捨五入しています)つまり来年度は2億0,100万円(201百万円)という売上予測ができます。

回帰方程式の適切さ

回帰方程式による予測は興味深いものですが、回帰直線を無理矢理引いたり、散布図が偶然直線的に並んだだけならば、予測も無意味です。 ここでは、回帰方程式が適切かどうかの判断基準として、

の2種類を紹介します。

まず、相関係数 r の2乗 r 2 を 決定係数 ( coefficient of determination )と呼びます。 決定係数は、何パーセント説明しているかという意味で、回帰方程式の精度を表しています。 決定係数は、0≦ r 2 ≦1の範囲で、1に近ければよく説明している、0に近ければほとんど説明していない、となります。

また、回帰係数の検定とは、回帰係数がゼロである確率を考えることです。 もし、回帰係数がゼロならば、売上= y 切片+回帰係数×広告費なので、広告費は無関係となり、売上は広告費で説明されないことになります。 そこで、帰無仮説は回帰係数がゼロである(広告費で説明されない)とし、対立仮説は回帰係数がゼロでない(広告費で説明される)とします。 そして、回帰係数の検定(実際は t 検定です)を行い、回帰係数がゼロである確率( p 値)が有意水準未満である場合(これを有意であると言います)、回帰係数がゼロである(広告費で説明されない)という帰無仮説が棄却され、回帰係数がゼロでない(広告費で説明される)という対立仮説が採択されます。


Excelによる回帰分析

それでは、Excelを利用して、回帰分析を行いましょう。 以下のExcelファイルをダウンロードしてください。

comp2j_13_data.xlsx

まず、表全体(B2からC12まで)をドラッグします。 リボンの「グラフ」(Windowsの場合は「挿入」)をクリックし、「グラフの挿入」項目で「散布図」→「散布図」とクリックします。 すると、散布図が表示されます。

回帰直線の作成(2)
回帰直線の作成(2)

上側のグラフ・タイトルをダブル・クリックし、「商品Aの広告費と売上」に変更します。 右側の凡例「sales」をクリックし、deleteキーを押して削除します。

回帰直線の作成(3)
回帰直線の作成(3)

リボンの「グラフ レイアウト」をクリックし、「ラベル」項目で「軸ラベル」→「横軸ラベル」→「軸ラベルを軸の下に配置」とクリックし、軸ラベルを「広告費(百万円)」に変更します。 「ラベル」項目で「軸ラベル」→「縦軸ラベル」→「軸ラベルを垂直に配置」とクリックし、軸ラベルを「売上(百万円)」に変更します。

回帰直線の作成(4)
回帰直線の作成(4)

点が全体的に右に固まっているので、横軸の設定を変更します。 横軸をダブル・クリックすると、「軸の書式設定」ウィンドウを開くので、「目盛」タブ(Windowsの場合は「軸のオプション」タブ)をクリックし、「最小値」チェックボックスをオフにし、目盛の始まりの値(例えば14)を入力してください。

回帰直線の作成(5)
回帰直線の作成(5)

すると、広告費の目盛が14から始まります。

回帰直線の作成(6)
回帰直線の作成(6)

リボンの「グラフ レイアウト」をクリックし、「解析」項目(Windowsの場合は「分析」項目)の「近似曲線」をクリックし、「線形近似曲線」をクリックします。 すると、回帰直線が追加されます。

回帰直線の作成(7)
回帰直線の作成(7)

回帰直線をダブル・クリックすると、「近似曲線の書式設定」ウィンドウが開きます。 「オプション」タブをクリックし、「グラフに数式を表示する」チェックボックスをオンにして、「OK」ボタンをクリックします。

回帰直線の作成(8)
回帰直線の作成(8)

すると、回帰方程式も追加されます。

回帰直線(1)
回帰直線(1)

ExcelにはTREND(傾向)という関数があり、これを使えば回帰方程式を入力しなくても回帰値を計算してくれます。 TREND関数の形式は

TREND(従属変数の範囲, 独立変数の範囲, 回帰値を求める独立変数の範囲)

です。

それでは、セルA14に「来年度」、セルB14に広告費15.0(百万円)、セルC14に数式

=TREND(C3:C12,B3:B12,B14)

と入力してください。

回帰直線の作成(9)
回帰直線の作成(9)

すると、201(百万円)という売上予測が得られます。 広告費(B14)の値を変えれば、売上予測(C14)の値も変わります。

回帰方程式が求められたので、続いて、回帰方程式が適切かどうかを確かめます。

相関係数については、以前説明した通り、ExcelのCORREL関数で求められます。 形式は

CORREL(変数1の範囲, 変数2の範囲)

です。

回帰分析の計算(1)
回帰分析の計算(1)

決定係数については、相関係数の2乗でもよいですが、ExcelのRSQ関数で求められます。 (相関係数 r の2乗(square)という意味です。) 形式は

RSQ(従属変数の範囲, 独立変数の範囲)

です。

決定係数が0.91なので、商品Aの売上は、広告費で91%説明されることが分かります。

回帰分析の計算(2)
回帰分析の計算(2)

回帰係数の検定については、統計解析ソフトを利用します。 統計解析ソフトでは、回帰方程式の y 切片と回帰係数が計算され、それぞれの標準誤差、 t 統計量、ゼロであるという帰無仮説の p 値が出力されます。

ただ、回帰方程式の y 切片と回帰係数だけならば、Excelの関数で求められます。 y 切片を求める関数は、INTERCEPT(切片)です。 形式は

INTERCEPT(従属変数の範囲, 独立変数の範囲)

です。

回帰分析の計算(3)
回帰分析の計算(3)

回帰係数を求める関数は、SLOPE(傾き)です。 形式は

SLOPE(従属変数の範囲, 独立変数の範囲)

です。

回帰分析の計算(4)
回帰分析の計算(4)

t 検定の残りの数値は、統計解析ソフトの出力をコピー・アンド・ペーストします。 完成予定図は以下の通りです。

広告費の p 値が0.05未満なので、有意水準5%で有意であり、回帰係数がゼロである(広告費で説明されない)という帰無仮説は棄却され、回帰係数がゼロでない(広告費で説明される)という対立仮説が採択されます。

分析の結果: 売上は広告費で説明されると言える。

回帰分析(1)
回帰分析(1)

表「商品Bの広告費と売上」についても回帰分析を試みます。

回帰直線の作成(10)
回帰直線の作成(10)

散布図を作成すると、相関関係はほとんどなさそうです。

回帰直線(2)
回帰直線(2)

Excelの関数で決定係数を計算すると、 r 2 =0.06です。 これだけ決定係数が小さいと、回帰方程式で予測を行っても無意味です。

また、統計解析ソフトで t 検定を行うと、広告費の p 値が0.05以上なので、有意水準5%で有意ではなく、回帰係数がゼロである(広告費で説明されない)という帰無仮説は棄却されず、回帰係数がゼロでない(広告費で説明される)という対立仮説も採択されません。

分析の結果: 商品Bの売上は広告費で説明されるとは言えない。

回帰分析(2)
回帰分析(2)

分析ツールによる回帰分析

「分析ツール」を利用すると、回帰分析が行えます。

リボンの「データ」をクリックし、「分析」項目の「データ分析」をクリックします。 すると、「分析ツール」ウィンドウが開くので、「回帰分析」をクリックして、「OK」ボタンをクリックします。

回帰分析の計算(1)
回帰分析の計算(1)

「入力Y範囲」に従属変数($C$2:$C$12)を入力し、「入力X範囲」に独立変数($B$2:$B$12)を入力し、「ラベル」チェックボックスをオンにし、「一覧の出力先」ラジオ・ボタンをオンにし、空いているセル(例えば$A$14)を入力して、「OK」ボタンをクリックします。

回帰分析の計算(2)
回帰分析の計算(2)

すると、分析結果が出力されます。

上の表の「重相関R」が相関係数 r で、「重決定R2」が決定係数 r 2 です。 また、下の表の「係数」列が、 y 切片と回帰係数です。

回帰分析(1)
回帰分析(1)

商品Bについても、同じように回帰分析が行えます。

回帰分析(2)
回帰分析(2)

StatPlusによる回帰分析

「StatPlus」を利用すると、回帰分析が行えます。

「StatPlus」を起動し、メニューバーで「Statistics」→「Regression」→「Linear Regression」とクリックします。 すると、「Linear Regression」ウィンドウが開くので、「Dependent variable」入力欄の右のボタンをクリックし、従属変数(sales)の範囲(セルC2からC12まで)をドラッグし、「Linear Regression」ウィンドウをクリックします。 「Independent variables」入力欄の右のボタンをクリックし、独立変数(advertising)の範囲(セルB2からB12まで)をドラッグし、「Linear Regression」ウィンドウをクリックします。 「Labels in first row」チェックボックスをオンにして、「Advanced Options」ボタンをクリックします。

回帰分析の計算(1)
回帰分析の計算(1)

すると、「Linear Regression - Advanced Options」ウィンドウが開くので、「Line Fit Plots」チェックボックスをオンにして、「OK」ボタンをクリックします。

回帰分析の計算(2)
回帰分析の計算(2)

最後に、「Linear Regression」ウィンドウの「OK」ボタンをクリックします。 すると、新しくExcelのウィンドウが開き、相関係数(R)と決定係数(R Square)、回帰方程式、 t 検定の表などが表示されます。 t 検定の表の列は、回帰係数(Coefficients)、標準誤差(Standard Error)、 t 統計量(t Stat)、 p 値(p-level)で、表の行は、切片(Intercept)、広告費(advertising)です。

回帰分析(1)
回帰分析(1)

また、散布図と回帰直線も表示されます。 散布図を見ると、売上は広告費で説明されそうです。

回帰直線(1)
回帰直線(1)

商品Bについても、同じように回帰分析が行えます。

回帰分析(2)
回帰分析(2)

散布図を見ると、売上は広告費で説明されそうにないです。

回帰直線(2)
回帰直線(2)

Rコマンダーによる回帰分析

「Rコマンダー」を利用すると、回帰分析が行えます。 あらかじめ、商品Aのデータ(セルB2からC12まで)をインポートしておいてください。

回帰分析の前に、散布図と回帰直線を作成します。 「Rコマンダー」ウィンドウで、「グラフ」→「散布図」とクリックします。 すると、「散布図」ウィンドウが開くので、「x変数」項目で「advertising」をクリックし、「y変数」項目で「sales」をクリックし、「オプション」項目で「最小2乗直線」チェックボックスだけをオンにして、「OK」ボタンをクリックします。

回帰直線の作成(1)
回帰直線の作成(1)

すると、散布図と回帰直線が表示されます。 散布図を見ると、売上は広告費で説明されそうです。

回帰直線(1)
回帰直線(1)

それでは、回帰分析を行います。 「Rコマンダー」ウィンドウで、「統計量」→「モデルへの適合」→「線形回帰」とクリックします。 すると、「線形回帰」ウィンドウが開くので、「目的変数」項目で「sales」をクリックし、「説明変数」項目で「advertising」をクリックして、「OK」ボタンをクリックします。

回帰分析の計算(1)
回帰分析の計算(1)

すると、「出力ウィンドウ」欄に t 検定の表が表示されます。 表の列は、回帰係数(Estimate)、標準誤差(Std. Error)、 t 統計量(t value)、 p 値(Pr(>|t|))で、表の行は、切片(Intercept)、広告費(advertising)です。 回帰方程式は、回帰係数の列から、

売上=70.86+8.70×広告費

となります。 また、決定係数(Multiple R-squared)も表示されます。

回帰分析(1)
回帰分析(1)

商品Bのデータについても、同じように散布図と回帰直線が作成できます。 散布図を見ると、売上は広告費で説明されそうにないです。

回帰直線(2)
回帰直線(2)

t 検定の表も、同じように作成できます。

回帰分析(2)
回帰分析(2)

アンケート(1)

来週の授業中に、授業評価のアンケートを実施します。 アンケートはマークシート方式なので、鉛筆かシャープペンシルを持参してください。


演習13

以下のExcelファイルをダウンロードしてください。

comp2j_13_report.xlsx

(1)表「商品Cの広告費と売上」から散布図を作成し、回帰直線と回帰方程式を追加してください。

回帰直線の作成(11)
回帰直線の作成(11)
回帰直線(3)
回帰直線(3)

(2)表「商品Cの広告費と売上」をTREND関数で計算し、広告費1,500万円(15.0百万円)の場合の売上予測をしてください。

(3)表「商品Cの広告費と売上」の決定係数 r 2 を求めてください。 また、帰無仮説は回帰係数がゼロである(広告費で説明されない)とし、対立仮説は回帰係数がゼロでない(広告費で説明される)として、有意水準5%で検定を行い、分析の結果を答えてください。 分析は「分析ツール」、「StatPlus」、「Rコマンダー」のいずれかで行い、その出力をExcelのハテナの部分に入力してください。

回帰分析(3)
回帰分析(3)

(4)表「商品Dの広告費と売上」から散布図を作成してください。 (相関関係がほとんどないので、回帰直線や回帰方程式は追加しません。 売上予測も行いません。)

回帰直線の作成(12)
回帰直線の作成(12)
回帰直線(4)
回帰直線(4)

(5)表「商品Dの広告費と売上」の決定係数 r 2 を求めてください。 また、帰無仮説は回帰係数がゼロである(広告費で説明されない)とし、対立仮説は回帰係数がゼロでない(広告費で説明される)として、有意水準5%で検定を行い、分析の結果を答えてください。 分析は「分析ツール」、「StatPlus」、「Rコマンダー」のいずれかで行い、その出力をExcelのハテナの部分に入力してください。

回帰分析(4)
回帰分析(4)

レポート課題

今日の演習13の答案(Excelファイルと分析の結果)をメールで提出してください。 差出人は学内のメール・アドレス(k12x1001@cis.twcu.ac.jpなど)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(1月8日)を明記してください。


参考文献


[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

2014年1月8日更新
小西 善二郎 <konishi@cis.twcu.ac.jp>
Copyright (C) 2014 Zenjiro Konishi. All rights reserved.