こんにちは。SI部の杉です。

今回は私が勉強中のデータ解析について紹介しようと思います。
最近ではデータ解析の需要が高まっています。

データ解析を用いると

『データを客観的に説得力のある形に変換すること』が可能となり、

分析者はそれを意思決定に使えたりします。

今回はデータ解析手法の一つである回帰分析を説明します。

回帰分析とは?

二つの変数の間の関係性を数値で読み取ることです。
二つの変数とは、従属変数独立変数です。
独立変数とは y = ax + bx にあたるものです。
一方yx の変化に従って変わるので、従属変数と呼ばれます。

すなわち回帰分析では、二つの変数のあいだに
y = ax + b
の関係性を見出すことになります。

今回は最も基本的な単回帰分析を行うことで、データ解析を客観的に捉えてみましょう。

始めにエクセルと統計ソフトRでサラッとできる分析方法をご紹介します。
今回はMicrosoft Excel 2010 を使用しました。

データ分析を行うに当たって

最低限必要なものが以下の3つになります。

  1. 解析するデータ
  2. 分析ツール
  3. 目的(何を解析するか・したいか)

1.ですが、以下のURLからダウンロードしたものを使用しました。
http://www.mhlw.go.jp//toukei/youran/data24k/2-06.xls
(※厚生労働省による日本人の男女の体重と身長を集計したもの)

2.Excelの分析ツールを用います。
以下の手順で統計ツールの利用が可能になります。

『ファイル』タブを選択 ⇒ オプションをクリック ⇒ 左の項目でアドインをクリック

設定ボタンをクリックして、分析ツールを選択してOKボタンをクリックする。

3.身長と体重の相関性を解析してみましょう。
身長が高いほど、体重も重くなることは容易に想像できますが
それが男性と女性で違いがあるのでしょうか?
今回はそれを解析によって明らかにしたいと思います。

実際のデータ解析にトライ

それでは実際にデータを解析してみましょう。

ここで一旦振り返っておさらいします。

  1. 解析するデータ  ⇒ 身長と体重のデータ
  2. 分析ツール  ⇒ Excel解析ツール
  3. 目的   ⇒ 身長と体重の関係性が男女で差があるのか

CHAPTER1:分析ツールを用いて実際に解析をする

ⅰ).データを選んでデータ分析をクリックし、回帰分析を選択する。

ⅱ).Y座標に身長のデータを設定する。

ⅲ).X座標に体重を設定する。また、ここでは解析結果の出力場所も設定可能(一覧の出力先)

ⅳ).解析結果を取得します。

ⅴ).データをプロットしてみましょう。

  1. まず散布図を選択し、X軸、Y軸にそれぞれデータを設定します。
    取り敢えず、表のタイトルは『各年齢の体重と身長の関係(男性)』としました。
  2. レイアウトから近似曲線をクリックし、線形近似曲線を選択します。
  3. レイアウトから近似曲線をクリックし、その他の近似曲線オプションを選択します。
    グラフに数式を表示する、R-2乗値を表示するにチェックを入れる(R-2乗値については後述)

以上で、プロットの基本設定は終了です。
出来たグラフは以下のような形になります。

統計解析結果の説明

結果を用語を中心にみていきましょう。

※重相関R ・・・ 重回帰の相関係数のこと。Excelでは、単回帰分析を行った場合でも重相関Rで出力される。相関係数として捉えて下さい。
※単回帰分析 ・・・ 1つの目的変数を1つの説明変数で予測すること。
※目的変数 ・・・ 予測したい変数のこと。今回の場合平均体重がそれにあたる
※説明変数 ・・・ 予測に対するトリガーとなる変数。今回の場合身長がそれにあたる

なお、重相関R(相関係数)は、-1 ≦ R ≦ +1 の範囲で出力されます。
マイナスならば、負の相関関係、プラスなら正の相関関係があるといいます。
また、0ならば、相関関係がないという表現をします。

参考までに相関係数と相互のデータの相関性は一般に以下のようになります。

・ 1.0 ≧ |R| ≧ 0.7   :高い相関がある
・ 0.7 ≧ |R| ≧ 0.5   :かなり高い相関がある
・ 0.5 ≧ |R| ≧ 0.4   :中程度の相関がある
・ 0.4 ≧ |R| ≧ 0.3   :ある程度の相関がある
・ 0.3 ≧ |R| ≧ 0.2   :弱い相関がある
・ 0.2 ≧ |R| ≧ 0.0   :ほとんど相関がない
(出典:「社会調査の基礎」放送大学テキスト)

ここで算出した重相関R(0.961)は、極めて高い数値になります。
つまり、身長と体重には高い相関があると言えるのです。

※重相関R2 ・・・ 重相関R を2乗した値です。この数値は寄与率とも呼ばれます。
回帰式(y = 1.093x + 100.62) をグラフで見てみると、プロットデータに対してほぼ一直線上に
並んでいるのが確認できますね。この一直線上に並んでいる割合が寄与率であると捉えてください。
0.924という値も相関係数同様極めて高い数値なので、このように並んでいるのです。

※補正R2 ・・・ 自由度調整済み決定係数とも呼ばれる。
データが増えると寄与率に変動が出ます。その際に追加したデータの効果を判別しにくくなるため
寄与率の代わりに用いられることがあります。(重回帰分析の場合)

※標準誤差 ・・・ 標準偏差を観測数の√で割ったもの。データの異常・正常の判断に使われる。

※観測数 ・・・ 単純なデータの個数

※残差 ・・・ 回帰式が適正なものか判断するためのもの。
回帰式は y = ax + b ですが、実際のデータには誤差が発生しています。これを残差といい、
残差 u = y – ax – b で求められます。
変動が 455.086、分散は変動値を自由度で割った値で18.961。残差の散らばり具合を示しています。
いずれにせよ平均からわずかの範囲で散らばっていることになります。

※切片 ・・・ 係数の 100.62 が回帰式の切片になります。
※X値1 ・・・ 係数の 1.093 が回帰式の傾きになります。

標準誤差、t、下限・上限95%などは統計に馴染みのない人には難しいのでここでは省略します。
(ここでの標準誤差は前述のものと厳密には違いますのでご注意ください)

Rを用いた統計解析法

CHAPTER2:Rを用いて実際に解析をする

今度はRというツールを用いて、違った角度から解析を進めてみたいと思います。
Excelよりも簡単に解析ができます。Excelでは男性の相関関係を求めたので、
こちらでは女性での相関関係を求めてみましょう。

Rの導入に関しては下記URLをご参照ください。

URL : http://www.okada.jp.org/RWiki/?R%20%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

それでは、Rを用いて先ほどのデータを解析してみましょう。
まずは、身長と平均体重を設定します。

設定する変数名 <- c(データ1, データ2, ・・・)

という記述で設定できます。c は、座標のようなものと捉えてください。
ここでは以下のように設定しました。
①~⑥ の順番でRのエディタにコピー&ペーストを行ってください。

①.女性の平均身長
womenHeight <- c(115.7, 121.9, 125.4, 133.5, 139.4, 146.7, 153.0, 153.9, 157.9, 158.6, 158.5, 157.6, 158.2, 157.7, 157.0, 159.0, 158.3, 158.6, 158.8, 156.0, 157.1, 158.1, 157.7, 154.6, 152.2, 147.2)

②.女性の身長に対する平均体重
womenAvgWeight <- c(20.5, 22.9, 25.7, 30.7, 33.8, 39.5, 43.1, 46.0, 49.6, 49.4, 51.7, 51.4, 52.3, 51.4, 48.5, 50.8, 50.0, 51.6, 50.1, 50.0, 51.7, 53.9, 55.6, 53.9, 53.4, 49.7)

③.二つの設定値をx-y座標(フレーム)に設定
plotData <- data.frame(womenHeight, womenAvgWeight)

④.プロットデータの表示
plot(womenAvgWeight, womenAvgWeight, bg=”red”, cex=2, pch=21)
※引数に、グラフィックのパラメータを使用している。詳細は以下のURLを参考のこと。
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/53.html

⑤.回帰式の表示
result <- lm(womenAvgWeight~womenAvgWeight)
abline(result, col=”blue”, lwd=1)
summary(result)

※lm(目的変数~説明変数)で定義可能。abline で表示する。
目的変数:womenAvgWeight、説明変数:womenAvgWeight としている。
summary は、分析結果を取得する。

⑥.プロットデータの相関行列を表示
round(cor(plotData), 6)
※右の引数は、桁数。ここでは6桁で出している。

Excelの統計結果とあわせてプロットの結果をご確認ください。
また、コンソール上に出ている結果についても参照してみましょう。

ⅰ).まず一番下の相関行列に着目します。
対角成分は1になっています。
(これは相関行列の特徴と言えますが、)反対角成分は重相関-Rの値になっていますね。

ⅱ).Interceptと表示されているところに注目します。これが切片になります。
その下の値 0.76648 が、回帰式の傾きとなります。
Estimate Std. Errorが、推定標準誤差(Excelでは標準誤差として出力されています。)
を示しています。

ⅲ).Residual standard errorは、残差標準誤差といい、
残差の分布が理論の仮定通りであるか検定するとき、使われます。
Multiple R-squared は重決定 R2のことで、相関係数の二乗になっていることも確認出来ます。

ここで、先ほどのExcelで算出した解析結果と比較してみましょう。
相関関係を示す値がありました。重相関Rですね。
・Excelの結果(男性の体重と身長の相関係数)は 0.961
・Rの結果(女性の体重と身長の相関係数)は 0.958
いずれもかなり高い相関性を示していることがわかります。

プロットデータのグラフィックは以下となります。

今回はほんの少しだけ男性の相関性の方が高いという結果になりました。
別年度の集計結果などで解析するとまた違った結果が現れるかもしれません。

今回は体重と身長という相関性が明白なテーマを扱いましたが、
他にも『一見関係なさそうなもので実は関係性があるもの』もたくさんあります。
自分の身近なデータを使ってそう言った相関性を出してみるのも面白いかもしれませんね。

今回は、変数が二つのみでした。そのうち、独立変数は一つでした。
独立変数が二つ以上の場合の回帰分析(重回帰分析)もあります。
回帰分析としては、単回帰分析よりも重回帰分析の方がより一般的と言えるでしょう。
重回帰についても、同様に容易に解析が可能なので、興味のある方は是非トライしてみてください。