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

Preview:

Citation preview

1

RR言語による言語による

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

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

2

AGENDAAGENDA

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

3

AGENDAAGENDA

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

4

自己紹介自己紹介

● 名前 : 里 洋平● ID : yokkuns

● 職業 : Webエンジニア

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

5

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

6

AGENDAAGENDA

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

7

回帰分析

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

8

回帰分析

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

9

回帰分析

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

目的変数 説明変数

10

回帰分析

線形関係 非線形関係

11

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

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

12

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

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

13

AGENDAAGENDA

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

14

線形回帰分析

■線形単回帰分析

■線形重回帰分析

15

線形単回帰分析

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

16

線形単回帰分析

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

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

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)

回帰分析の関連関数

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は最終的に出来た製品の仕上がりを表すスコア

19

線形単回帰分析

20

線形単回帰分析

21

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

22

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

23

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

残差

24

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

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

残差

25

線形単回帰分析

26

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

27

線形単回帰分析

残差分布の四分位数

28

線形単回帰分析

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

29

線形単回帰分析

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

30

線形単回帰分析

標準誤差

31

線形単回帰分析

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

32

線形単回帰分析

分散分析後のF値と結果

33

線形単回帰分析

34

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

35

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

36

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

37

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

38

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

39

線形重回帰分析

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

40

線形重回帰分析

airquality

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

41

線形重回帰分析

42

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

43

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

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

44

線形重回帰分析

45

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

46

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

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

662.3732 < 681.7127

47

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

48

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

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

49

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

50

AGENDAAGENDA

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

51

非線形回帰分析

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

52

非線形回帰分析

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

53

多項式回帰

目的変数を多項式で表す

54

多項式回帰

nls(formula, data, start, trace)

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

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

55

多項式回帰

人工データ

56

多項式回帰

57

多項式回帰

58

多項式回帰

59

一般化線形モデル

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

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

60

一般化線形モデル

glm(formula, family, data)

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

一般化線形モデルの関数

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で仕様可能な主な分布族

62

一般化線形モデル

airquality

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

63

一般化線形モデル

64

一般化線形モデル

65

ロジスティック回帰

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

66

ロジスティック回帰

SpaceShuttle

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

67

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

68

ロジスティック回帰

69

ロジスティック回帰

70

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

71

平滑化回帰

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

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

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

72

平滑化回帰

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

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

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

73

74

一般化加法モデル

75

一般化加法モデル

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

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

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

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

76

AGENDAAGENDA

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

77

まとめ

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

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

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

78

AGENDAAGENDA

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

79

発表者募集しています!

80

AGENDAAGENDA

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

81

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