重回帰分析
残差分析・変数選択1

内容
 重回帰分析
 残差分析
 歯の咬耗度データの分析 「R」で変数選択 ~ step 関数 ~2重回帰分析と単回帰分析
 体重を予測する問題
 分析１…「身長」のみから体重を予測 分析２…「身長」と「ウエスト」の両方を用いて体重を予測

分析１と比べて大きな改善⇒ 「体重」に関する推測では「身長」だけでは不十分

 重回帰分析における問題 ~モデルの構築~
 適切なモデルで分析しているか？
 適切な変数をモデルに組み込んでいるか？

モデル選択・変数選択の問題
3

残差分析

4

残差における仮定
 回帰分析における残差 モデルに組み込んだ変数では説明しれない「偶然誤差」

 適切なモデルのもとでの残差に関する仮定 残差に正規分布を仮定する
 残差の期待値は０
 残差の分散は等しい

モデルチェック それぞれの残差は互いに独立である

5

モデルチェック：例
 右の図のデータに対する適切なモデルとは？
 １次式によるモデル
 ２次式によるモデル

 データの構造6

１次式によるモデル
 １次式を仮定して分析を行うと、次の結果を得る

 仮定したモデルは適切か？

残差分析
残差の仮定を満たしているか？

回帰診断プロット7

残差分析：１次式
 回帰診断プロット① 残差(y)と予測値(x)② 正規Q-Qプロット①②③④③ 規準化残差と予測値④ Cookの距離 用途① 残差のふるまい② 正規性の検証③ 残差の大きさ④ 外れ値の探索
8

① 残差のふるまい 横軸：予測値、縦軸：残差
 残差の全体像の把握
 相対的に大きい残差には番号がふられる （1, 29, 30）
 残差の独立性と系列相関の有無
 系列相関に関する検定

ダービン・ワトソン統計量
杉山 髙一著「多変量データ解析入門」
9

② 正規Q-Qプロット


名称：正規Q-Qプロット

横軸 ： 正規分布の縦軸 ： 規準化残差の経験分布関数による

残差が正規分布に従っている⇒点が直線上に並べられる。

残差が正規分布からずれている⇒点が直線からはずれる



残差の仮定 : 標準正規分布



相対的に、直線から外れている
データには番号がふられる （1, 29, 30）
10

③ 残差の大きさ
 縦軸 ： 規準化した残差の絶対値の平方根

横軸 ： 予測値
 残差の変動の考察
 相対的に大きい残差には番号がふられる （1, 29, 30）

11

④ Cookの距離

Cookの距離

個々のデータが回帰式の推定に及ぼす影響を表した距離

Cookの距離が大きいデータ⇒回帰式の推定に大きく影響⇒外れ値の可能性

「R」では、「Cookの距離≧0.5」
ならば大きいとしている（絶対的なものではない）

Cookの距離が相対的に大きいデータには番号がふられる （1, 29, 30）12２次式によるモデル
 モデルに２次式を仮定すると、次の結果を得る
 回帰診断プロットによる残差の検討

13

残差分析：２次式

直線状に散布

残差は適当にばらついている

期待値０

独立性

14

実データにおけるモデル構築
モデル構築

残差分析
・ 残差の正規性・ 残差の期待値は０・ 残差の分散は等しい
・ それぞれの残差は互いに独立

パラメータ推定・モデルチェック

適切な変数をモデルに組み込む

 主に変数を追加する場合

15

プログラム：参考 ① １次式のあてはめで用いたプログラム
x <- seq(from=0, to=2, length.out=30)
e <- rnorm(30, 0, 0.1)
y <- (x-1)^2+2+e
result <- lm(y~x)
plot(x, y, pch=19, col="black")
abline(result, col="red", lwd=3)
par(mfrow=c(2,2))for(i in 1:4){
plot(result, which=i, add.smooth=F, pch=21,bg="blue", col="blue", lwd=2)}

16

プログラム：参考 ② ２次式のあてはめで用いたプログラム
x2 <- x^2
result <- lm(y ~ x+x2)
plot(x, y, xlim=c(0,2), ylim=c(1.8,3.2), pch=19)
par(new=T)
plot(x, fitted(result), type=“l”, xlim=c(0,2),ylim=c(1.8,3.2), ann=F, col="blue", lwd=3)
par(mfrow=c(2,2))for(i in 1:4){
plot(result, which=i, add.smooth=F, pch=21,
bg="blue", col="blue", lwd=2)}

17

プログラムの説明 （回帰診断）
par(mfrow=c(2,2))for(i in 1:4){
plot(result, which=i, add.smooth=F, pch=21,bg="blue", col="blue", lwd=2)}
 「R」では for 文も使うことができます。
 par(mfrow=c(2,2))次に描く図やグラフを描くスペースを２行２列に分割
 plot(lm.obj) : 回帰診断プロットの出力
 その他の引数については R-Tips をご覧下さい18歯の咬耗度データの分析~ 変数選択 ~日本大学名誉教授（松戸歯学部）尾崎公教授
による「歯の咬耗度」のデータです。このデータを用いて分析の説明をいたします。

19

歯のデータの分析
 歯の咬耗度による年齢推定
 データ
 １８９人、２８本の歯の咬耗度を測定
 歯の摩耗の度合いは５段階
 各分類に、どのような数値を割りふるか、すなわち数量化が重要な問題に欠如なる。

弱分類１
分類２
分類３
分類４
分類５
強20

歯のデータの分析
 数量化について弱 ここでは、数量化分析等を用いたりして検討した結果、分類１には1.0、分類2には2.0、分類３には3.0、分類４には4.0、欠如した歯の分類５には4.0を与えた。

分類２
分類３
分類４

 詳しい変数の分類・分析法

杉山 髙一著「多変量データ解析入門」

分類１

欠如

分類５
強21

変数名の定義 歯の変数名と対応関係

上左下右左右22

歯の咬耗度データ

…

…

…

23

データ加工 : 不要なデータの削除

削除

24データ加工：特定のデータの置換① 置換する範囲を選択② 「編集」 ⇒ 「置換」
③ 「検索する文字列」 ⇒ 「5」「置換後の文字列」 ⇒ 「4」「全て置換」

25

プログラム 「ディレクトリの変更」を忘れずにしましょうkoumoudo <- read.csv(“ha-koumoudo.csv", header=T)
result1 <- lm(age~., data=koumoudo)
result2 <- step(result1)
summary(result1)
summary(result2)

26

プログラムの説明
result1 <- lm(age~., data=koumoudo)
result2 <- step(result1)
 lm(目的変数~., data=データ)
 「目的変数~.」とすると、目的変数以外の全ての変数を説明変数として分析を行う
 step(lm.obj)
 lm関数により得たモデルに対して、ＡＩＣ基準で変数選択を行う関数
27

変数選択基準
 変数選択基準
 残差平方和 決定係数 ・ 自由度調整済み決定係数
 各変数に対する有意性検定（ t 検定 ・ Ｆ検定 ） ＡＩＣ基準ＡＩＣ最小のモデルを最適なモデルとする

 参考文献 杉山 髙一著

： 「多変量データ解析入門」

 小西 貞則著： 「情報量規準」

 早川 毅著： 「回帰分析の基礎」

28

step関数

全ての変数を含んだモデルと、そのＡＩＣ上にある変数ほど除いたときにＡＩＣが減少する

各変数を除いた場合のＡＩＣ
29

step関数

最後に選ばれた変数とＡＩＣ

ＡＩＣ最小のモデルとなった

30

分析結果：変数選択前１

31

分析結果：変数選択前２

自由度調整済み決定係数32

分析結果：変数選択後

変数選択により改善

33

解析結果の比較

変数選択
 適切に変数を選択することにより、モデルが改善された
 変数が減ることにより、意味づけや解釈が容易になる
 データを収集する側にもメリット （コストや時間）
34

参考URL
 統計科学研究所のウェブサイト
http://www.statistics.co.jp/index.htm

 R-Tips

http://cse.naro.affrc.go.jp/takezawa/r-tips/r2.html

 JIN’S PAGE

http://www1.doshisha.ac.jp/~mjin/R/

35