tokyo r12 - r言語による回帰分析入門

81
1 R R 言語による 言語による 回帰分析入門 回帰分析入門 @yokkuns 里 洋平 12R勉強会@東京(Tokyo.R#122011/03/05

Upload: yohei-sato

Post on 28-May-2015

21.553 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Tokyo r12 - R言語による回帰分析入門

1

RR言語による言語による

回帰分析入門回帰分析入門@yokkuns 里 洋平

第12回R勉強会@東京(Tokyo.R#12)2011/03/05

Page 2: Tokyo r12 - R言語による回帰分析入門

2

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 3: Tokyo r12 - R言語による回帰分析入門

3

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 4: Tokyo r12 - R言語による回帰分析入門

4

自己紹介自己紹介

● 名前 : 里 洋平● ID : yokkuns

● 職業 : Webエンジニア

● 興味のある事– 統計解析、データマイニング、機械学習など

Page 5: Tokyo r12 - R言語による回帰分析入門

5

slideshareに資料を公開しています

Page 6: Tokyo r12 - R言語による回帰分析入門

6

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 7: Tokyo r12 - R言語による回帰分析入門

7

回帰分析

● 変数間の関係を分析する手法– 説明変数を用いて目的変数を説明

Page 8: Tokyo r12 - R言語による回帰分析入門

8

回帰分析

● 変数間の関係を分析する手法– 説明変数を用いて目的変数を説明

Page 9: Tokyo r12 - R言語による回帰分析入門

9

回帰分析

● 変数間の関係を分析する手法– 説明変数を用いて目的変数を説明

目的変数 説明変数

Page 10: Tokyo r12 - R言語による回帰分析入門

10

回帰分析

線形関係 非線形関係

Page 11: Tokyo r12 - R言語による回帰分析入門

11

回帰分析時系列解析 - ARモデル

図 : http://ameblo.jp/kazue-fujiwara/entry-10762340069.html

Page 12: Tokyo r12 - R言語による回帰分析入門

12

回帰分析金融工学 - ベータの推定

図 : http://www.sigmabase.co.jp/keyword/list/h/beta_chi.htm

Page 13: Tokyo r12 - R言語による回帰分析入門

13

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 14: Tokyo r12 - R言語による回帰分析入門

14

線形回帰分析

■線形単回帰分析

■線形重回帰分析

Page 15: Tokyo r12 - R言語による回帰分析入門

15

線形単回帰分析

● 説明変数が1つの線形回帰分析

Page 16: Tokyo r12 - R言語による回帰分析入門

16

線形単回帰分析

lm(formula, data, weights, subset, na.action)

formula : モデルの形式data : 回帰分析に用いるデータセットweights : 用いる説明変数に重みを指定subset : データセットの中の一部を用いる場合に指定na.action : 欠損値の扱いを指定

Page 17: Tokyo r12 - R言語による回帰分析入門

17

線形単回帰分析

関数 内容 使用例coef 回帰係数 coef(cars.lm), cars.lm$coeffitted 用いたデータの予測値 fitted(cars.lm), cars.lm$fitteddeviance 残差の平方和 deviance(cars.lm)anova 回帰係数の分散分析 anova(cars.lm)predict 新たなデータに対する予

測値predict(cars.lm)

print 要約より簡単な結果 print(cars.lm)summary 回帰分析結果の要約 summary(cars.lm)plot 回帰診断プロット plot(cars.lm)

回帰分析の関連関数

Page 18: Tokyo r12 - R言語による回帰分析入門

18

線形単回帰分析

標本番号 1 2 3 4 5 6 7 8 9 10 11 12

抵抗値x 0.91 0.83 0.8 0.83 0.86 0.85 0.84 0.81 0.79 0.89 0.85 0.83

仕上がりのスコアy

7.2 4.1 2.9 3.8 5.7 5.1 4.4 3.6 3.1 6.4 4.7 4.2

電子部品データ

● xは製造工程である部分を測定した抵抗値● yは最終的に出来た製品の仕上がりを表すスコア

Page 19: Tokyo r12 - R言語による回帰分析入門

19

線形単回帰分析

Page 20: Tokyo r12 - R言語による回帰分析入門

20

線形単回帰分析

Page 21: Tokyo r12 - R言語による回帰分析入門

21

線形単回帰分析最小2乗法

Page 22: Tokyo r12 - R言語による回帰分析入門

22

線形単回帰分析最小2乗法

Page 23: Tokyo r12 - R言語による回帰分析入門

23

線形単回帰分析最小2乗法

残差

Page 24: Tokyo r12 - R言語による回帰分析入門

24

線形単回帰分析最小2乗法

残差の2乗和を最小にする直線を求める

残差

Page 25: Tokyo r12 - R言語による回帰分析入門

25

線形単回帰分析

Page 26: Tokyo r12 - R言語による回帰分析入門

26

線形単回帰分析指定したモデルの確認の出力

Page 27: Tokyo r12 - R言語による回帰分析入門

27

線形単回帰分析

残差分布の四分位数

Page 28: Tokyo r12 - R言語による回帰分析入門

28

線形単回帰分析

切片の推定値とその検定結果

Page 29: Tokyo r12 - R言語による回帰分析入門

29

線形単回帰分析

傾きの推定値とその検定結果

Page 30: Tokyo r12 - R言語による回帰分析入門

30

線形単回帰分析

標準誤差

Page 31: Tokyo r12 - R言語による回帰分析入門

31

線形単回帰分析

決定係数と調整済み決定係数

Page 32: Tokyo r12 - R言語による回帰分析入門

32

線形単回帰分析

分散分析後のF値と結果

Page 33: Tokyo r12 - R言語による回帰分析入門

33

線形単回帰分析

Page 34: Tokyo r12 - R言語による回帰分析入門

34

線形単回帰分析残差とフィット値のプロット

Page 35: Tokyo r12 - R言語による回帰分析入門

35

線形単回帰分析残差の正規Q-Qプロット

Page 36: Tokyo r12 - R言語による回帰分析入門

36

線形単回帰分析残差の平方根プロット

Page 37: Tokyo r12 - R言語による回帰分析入門

37

線形単回帰分析残差と影響力プロット(梃子値とクックの距離)

Page 38: Tokyo r12 - R言語による回帰分析入門

38

線形単回帰分析信頼区間と予測区間

Page 39: Tokyo r12 - R言語による回帰分析入門

39

線形重回帰分析

説明変数が複数の線形回帰分析

Page 40: Tokyo r12 - R言語による回帰分析入門

40

線形重回帰分析

airquality

●1973年5月から9月までのニューヨークの大気状態を記録したデータ

Page 41: Tokyo r12 - R言語による回帰分析入門

41

線形重回帰分析

Page 42: Tokyo r12 - R言語による回帰分析入門

42

線形重回帰分析Ozoneを目的変数として、Solar.R、Wind、Tempを説明変数とした重回帰分析

Page 43: Tokyo r12 - R言語による回帰分析入門

43

線形重回帰分析Ozoneを目的変数として、Solar.R、Wind、Tempを説明変数とした重回帰分析

AIC●統計モデルを評価するための指標

Page 44: Tokyo r12 - R言語による回帰分析入門

44

線形重回帰分析

Page 45: Tokyo r12 - R言語による回帰分析入門

45

線形重回帰分析相互作用をを考慮したモデルを構築

Page 46: Tokyo r12 - R言語による回帰分析入門

46

線形重回帰分析相互作用をを考慮したモデルを構築

相互作用を考慮しないモデルよりAICの値が小さくなった!

662.3732 < 681.7127

Page 47: Tokyo r12 - R言語による回帰分析入門

47

線形重回帰分析AICを用いてモデル•変数を選択する関数step

Page 48: Tokyo r12 - R言語による回帰分析入門

48

線形重回帰分析AICを用いてモデル•変数を選択する関数step

AICが一番小さくなる回帰式

Page 49: Tokyo r12 - R言語による回帰分析入門

49

線形重回帰分析step関数で求めたモデルの要約

Page 50: Tokyo r12 - R言語による回帰分析入門

50

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 51: Tokyo r12 - R言語による回帰分析入門

51

非線形回帰分析

目的変数と説明変数が非線形的な関係である回帰分析

Page 52: Tokyo r12 - R言語による回帰分析入門

52

非線形回帰分析

● 多項式回帰● 一般化線形モデル● ロジスティック回帰● 平滑化回帰● 加法モデル

Page 53: Tokyo r12 - R言語による回帰分析入門

53

多項式回帰

目的変数を多項式で表す

Page 54: Tokyo r12 - R言語による回帰分析入門

54

多項式回帰

nls(formula, data, start, trace)

formula : モデルの形式data : 回帰分析に用いるデータセットstart : パラメータの初期値trace : 計算過程の結果を返す場合はTRUEを指定

非線形回帰分析を行う関数

Page 55: Tokyo r12 - R言語による回帰分析入門

55

多項式回帰

人工データ

Page 56: Tokyo r12 - R言語による回帰分析入門

56

多項式回帰

Page 57: Tokyo r12 - R言語による回帰分析入門

57

多項式回帰

Page 58: Tokyo r12 - R言語による回帰分析入門

58

多項式回帰

Page 59: Tokyo r12 - R言語による回帰分析入門

59

一般化線形モデル

● 線形回帰分析– 残差が正規分布に従うと仮定– 従っていない場合使えない

● 一般化線形モデル– 正規分布を拡張した分布族に対応させる– 非線形の現象を線形と同じように簡単に– 不自然な尺度で解釈しないように工夫した解析方法

Page 60: Tokyo r12 - R言語による回帰分析入門

60

一般化線形モデル

glm(formula, family, data)

formula : モデルの形式family : 当てはめる分布族のリンク関数data : データセット

一般化線形モデルの関数

Page 61: Tokyo r12 - R言語による回帰分析入門

61

一般化線形モデル

分布族(family) リンク リンク関数正規(gaussian) μ link=”identity”ニ項(binomial) log(μ/(1-μ)) link=”logit”ポアソン(poisson) log(μ) link=”log”ガンマ(Gamma) 1/μ link=”inverse”逆正規(Inverse.gaussian) 1/μ^2 Link=”1/mu^2”

関数glmで仕様可能な主な分布族

Page 62: Tokyo r12 - R言語による回帰分析入門

62

一般化線形モデル

airquality

●1973年5月から9月までのニューヨークの大気状態を記録したデータ

Page 63: Tokyo r12 - R言語による回帰分析入門

63

一般化線形モデル

Page 64: Tokyo r12 - R言語による回帰分析入門

64

一般化線形モデル

Page 65: Tokyo r12 - R言語による回帰分析入門

65

ロジスティック回帰

● 2値データを目的変数とした回帰モデル● ロジスティック関数を用いて分析を行う

Page 66: Tokyo r12 - R言語による回帰分析入門

66

ロジスティック回帰

SpaceShuttle

スペースシャトル•チャレンジャーの打ち上げ時に生じるO-リングの故障状況

Page 67: Tokyo r12 - R言語による回帰分析入門

67

ロジスティック回帰glmを使ってロジスティック回帰

Page 68: Tokyo r12 - R言語による回帰分析入門

68

ロジスティック回帰

Page 69: Tokyo r12 - R言語による回帰分析入門

69

ロジスティック回帰

Page 70: Tokyo r12 - R言語による回帰分析入門

70

平滑化回帰複雑な傾向のデータを滑らかな曲線で当てはめる

Page 71: Tokyo r12 - R言語による回帰分析入門

71

平滑化回帰

loess(formula, data, span, degree...)

formula : モデルの形式data : 用いるデータセットspan : 平滑の度合いをコントロールするパラメータdegree : 当てはめる多項式の次数

局所重み付き回帰法を行う関数

Page 72: Tokyo r12 - R言語による回帰分析入門

72

平滑化回帰

smooth.spline(x, y, df, spar, ...)

x : 予測変量y : 反応変量df : 等価自由度spar : 平滑化パラメータ

B-スプライン関数による平滑化スプライン曲線を当てはめる

Page 73: Tokyo r12 - R言語による回帰分析入門

73

Page 74: Tokyo r12 - R言語による回帰分析入門

74

一般化加法モデル

Page 75: Tokyo r12 - R言語による回帰分析入門

75

一般化加法モデル

gam(formula, family, data, ...)

formula : モデルの書式。モデル式の右辺に平滑化関数を使うfamily : 残差の分布族data : データセット

使える平滑化関数lo : 局所回帰関数s : 平滑化スプライン関数bs : B-スプライン関数ns : 自然スプライン関数

一般化加法モデルを求める関数

Page 76: Tokyo r12 - R言語による回帰分析入門

76

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 77: Tokyo r12 - R言語による回帰分析入門

77

まとめ

● Rで回帰分析を学びました● Rでは、lm、glm、nlsなどの回帰分析をする

ための関数が用意されており、簡単に分析が出来る

● gamを使う事で、非常に複雑なデータも扱うことが出来る

Page 78: Tokyo r12 - R言語による回帰分析入門

78

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 79: Tokyo r12 - R言語による回帰分析入門

79

発表者募集しています!

Page 80: Tokyo r12 - R言語による回帰分析入門

80

AGENDAAGENDA

● 自己紹介● 回帰分析とは● 線形回帰分析● 非線形回帰分析● まとめ● 最後に

Page 81: Tokyo r12 - R言語による回帰分析入門

81

ご清聴ありがとうございました