SlideShare a Scribd company logo
∼シリーズ前処理2013∼
   欠測への対応
    @dichika
自己紹介
•  @dichika
•  現代史に興味があります
 –  ジャニーズ
 –  プロレス
 –  参考書籍があれば教えて下さい
前処理とは
•  手元にある観測データを、意図する分析手法
   が適用できる形にまでもっていく方法、と広く
   定義します。
•  たとえば
たとえば
•    欠測値への対応
•    連続データの離散化
•    外れ値処理
•    単位の変換(標準化)
•    サンプリング
•    不均衡データ
•    属性抽出
•    データ形式の変換(時系列、グラフ等)
俺たちの日常

やりたかった分析



    前処理
シリーズ前処理について
•  一説では、データ分析の8-9割の時間を占め
   るといわれながら、その方法についてはあまり
   語られることのない前処理について迫っていく
   シリーズです。
•  私の発表をたたき台にして、「ぼくのかんがえ
   たさいきょうのまえしょり」をみんな共有してく
   れると嬉しいです。
•  一人で続けるのはしんどいので、誰か続いてく
   れると嬉しいです。
これまでの前処理@Tokyo.R
•  Rで学ぶロバスト推定(第13回)
  –  外れ値
•  xtsパッケージで時系列解析(第15回)
  –  データ形式の変換
•  Rを用いた地理的情報解析(第16回)
  –  データ形式の変換
•  不均衡データのクラス分類(第20回)
  –  不均衡データ
•  二部グラフを使ったソーシャルネットワーク(第21回)
  –  データ形式の変換
•  抽出・推定・誤差評価(第27回)
  –  サンプリング
ということで
本日は

欠測への対応
最初に
•  欠測とは、データの欠落を想定しています
•  R in Actionの第15章超おすすめなので欠測
   の扱いについて手っ取り早く知りたければここ
   を読むのがオススメ

                身長     体重
                145    42
                168    65
                192    89
                158    NA
欠測への対応はこれだ!

欠測の可視化   どのように欠測しているか可視化



欠測について
         ランダムな欠測かどうか判断する
 考える


欠測処理を
          欠測に合わせた手法を選ぶ
 選ぶ
まずは可視化から

欠測の可視化   どのように欠測しているか可視化



欠測について
         ランダムな欠測かどうか判断する
 考える


欠測処理を
          欠測に合わせた手法を選ぶ
 選ぶ
欠測の可視化
•  sleepデータを例に取る
 –  VIMパッケージに含まれている
 –  哺乳類の睡眠に関するデータ
 –  体重、脳の重さ、睡眠時間、レム睡眠の時間等1
    0種類の変数
 –  今回はレム睡眠(Dream)に着目
VIM(vimではない)で可視化
•  VIMパッケージが便利
 –  matrixplot
  •  各列に対して標準化を行った上で図示
  •  標準化により、文字列は欠測扱いになるので注意
 –  marginplot
  •  2変数を散布図+箱ひげ図で図示
  •  箱ひげ図は、もう一方の変数が欠測している/いない
     場合での比較になっている
Index

           0   10   20   30      40   50   60



 BodyWgt


BrainWgt


    NonD


   Dream


   Sleep


    Span

    Gest
                                                matrixplot




    Pred


     Exp


  Danger
Index

           0   10   20   30              40   50   60




 BodyWgt


BrainWgt

                               に欠測しやすい
                              NonDとDreamは共

    NonD


   Dream


   Sleep


    Span


    Gest


    Pred


     Exp


  Danger
                                                        並び替えて欠測パターンを確認
marginplot

                100
                80
                60




 Dreamが
         Span

                40




欠測した場合
の箱ひげ図が
    赤
                20
                0




 Spanの                4
 欠測数                  1   12


                               0    1   2      3    4   5   6
   共通した
   欠測数                                      Dream
                               Dreamの
                                欠測数
ちょっと考える

欠測の可視化    どのように欠測しているか可視化



欠測について
          ランダムな欠測かどうか判断する
 考える


欠測処理を
           欠測に合わせた手法を選ぶ
 選ぶ
欠測はランダムか
•  MCAR(Missing Completely At Random)
  –  欠測が完全にランダム
•  MAR (Missing At Random)
  –  欠測をデータ内で統制すればランダム
    •  これを仮定することが多い
•  NMAR (Not Missing At Random)
  –  欠測がランダムではない
    •  欠測メカニズムをモデル化して組み込む必要あり
    •  難しいので今回は扱わない
よろしい、ならばMARだ
•  原則、MARとして対応するのが無難
 –  後述する多重代入法もしくは最尤法で対応
•  事前知識及び可視化の結果からNMARの疑
   いがある場合のみ対応を考える
 –  欠測をモデリング
  •  Heckmanモデル等
 –  感度分析
  •  モデルや特定のパラメータを変えてどの推定結果が変
     わるか
 –  かなりめんどくさい
考えたところで手法を選ぶ

欠測の可視化   どのように欠測しているか可視化



欠測について
         ランダムな欠測かどうか判断する
 考える


欠測処理を
          欠測に合わせた手法を選ぶ
 選ぶ
欠測処理を選ぶ
                              推定したパラメータにバイアス
     欠測処理           内容           が生じるどうか
                              MCAR   MAR   NMAR
                欠測データを行単位で
       リストワイズ   削除             ○

削除              分析に用いた変数の範
        ペアワイズ   囲で欠測データを行単     ○
                位で削除

                欠測を考慮した形で最
     最尤法        尤法を適用する(EMア    ○     ○      △
                ルゴリズム等適用)
                平均値や、他の変数に
       単一代入法    よる予測値を代入       ○
代入
       多重代入法    この後説明          ○     ○
削除はバイアスが生じる
                              推定したパラメータにバイアス
     欠測処理           内容           が生じるどうか
                              MCAR   MAR   NMAR
                欠測データを行単位で
       リストワイズ   削除             ○

削除              分析に用いた変数の範
        ペアワイズ   囲で欠測データを行単     ○
                位で削除

                欠測を考慮した形で最
     最尤法        尤法を適用する(EMア    ○     ○      △
                ルゴリズム等適用)
                平均値や、他の変数に
       単一代入法    よる予測値を代入       ○
代入
       多重代入法    この後説明          ○     ○
ぶっちゃけ最尤法か多重代入法
•  MARを前提に考えると削除は無い
                  10%は
•  欠測の割合に着目        目安


 –  10%未満→リストワイズでも良いという話も
 –  10%以上→最尤法か多重代入法


•  最尤法と多重代入法どっちを選ぶかは好み
 –  欠測の教科書など読む時には、この人は最尤法
    推しなんだなとか考えて読む必要がある
せっかくだから俺はmiceをえらぶぜ
•  多重代入法の方が直観的にわかりやすかった
 –  個人の感想です
 –  最尤法もmvnmleパッケージを使えばできるが理解
    が間に合わなかった
 –  あと、なんとなくRubinリスペクト


•  多重代入法にはいくつかアルゴリズムがある
 –  今回はMICEアルゴリズム
  •  miceパッケージとして実装されている
ここでRubin伝説
•  ハーバードの統計学の教授
•  Educational Testing Service(ETS)に勤めて
   いた数年であげた業績
  –  Rubinの因果推論モデル
  –  傾向スコア
  –  多重代入法
  –  EMアルゴリズム
多重代入法(MICEアルゴリズム)
         分析
    代入        統合
多重代入法(MICEアルゴリズム)
1.  代入
  –  なんらかの方法で欠測値を予測し、その結果を代
     入したデータを複数作る
    •  初期設定はPredictive mean matching
2.  分析
  –  作ったデータそれぞれに対して目的とする分析手
     法の適用
    •  例えば回帰分析
3.  統合
  –  分析で求めたパラメータを統合する
Predictive mean matching
•  他の変数を使って、欠測値を予測する
•  予測値に近い値を欠測していない値からもっ
   てくる
•  もってきた値からランダムに1つ取り出して欠
   測値を補完する
•  これを全ての欠測値に対して適用する
実際の使用例
library(mice)
data(sleep, package = "VIM")
imp <- mice(sleep) # 代入
fit <- with(imp, lm(Dream ~ Span + Gest)) # 分析
pooled <- pool(fit) # 統合
summary(pooled) # 結果の確認
実際の使用例
       with
mice          pool
補足事項
•  作成するデータセットの数を指定できる
 –  mice(data, m = 5)
•  miceを適用した結果から単一のデータセットを
   抽出できる            作成した
                                 データセットの
 –  complete(imp, action = 3)   範囲内の数を指定


•  with関数で使用できる分析手法
 –  線形回帰がメイン
 –  lm、glm、gam、nbrm
まとめ
•  欠測はMARのつもりで最尤法か多重代入法
•  理論(特にバイアス)はすっとばしたので参考
   資料をご覧ください
•  Rubinすごい
参考資料(書籍)
文献名             著者         出版社等       コメント

R in Action     Robert     Manning,   15章が実にわかりやすい。忙しい人はこ
                Kabacoff   2011       れだけ読んでおけば良い。

Flexible        Stef van   CRC Press, multiple imputationについて網羅されて
Imputation of   Buuren     2012       る。
Missing Data

不完全データの         岩崎 学       エコノミスト     新しくはないが日本語で網羅されている。
統計解析                       社, 2002    おすすめ。


欠測データ解析         逸見 昌之      統計数理       統計数理研究所の公開講座。NMARに踏
法(講義資料)         星野 崇宏      研究所,       み込んだ解説あり。資料は非公開。
                           2012
参考資料(web その1)
文献名                著者        出版社等                          コメント

欠測値データ解析           狩野裕       https://sites.google.com/     日本語かつケーススタディあ
の意味と有効性                      site/ksp397kano/              り。おすすめ。


Handling Missing   Paul D.   http://                       MIと最尤法の比較あり。この
Data by Maximum    Allison   www.statisticalhorizons.com   人は最尤法推し。この人も欠
Likelihood                   /wp-content/uploads/          測データに関して教科書を書
                             MissingDataByML.pdf           いている。


Missing Data and             http://www.upa.pdx.edu/       SEMに関しての文献だが簡潔
Missing Data                 IOA/newsom/semclass/          にまとまってるので復習する
Estimation                   ho_missing.pdf                時にチートシートっぽく使える。


何があっても割り付          佐藤俊哉      http://www.kbs.med.kyoto-     医学系の例。
けどおりに解析する          松岡淨       u.ac.jp/01Sep15.pdf
参考資料(web その2)
文献名               著者    出版社等                     コメント


Missing data      村山航   http://www4.ocn.ne.jp/   日本語。最尤法と多重代
analysis                ~murakou/                入法の丁寧な説明あり。
                        missing_data.pdf         おすすめ。
CRAN Task View          http://cran.r-           Rでパッケージを探すとき
(Multivariate→          project.org/web/views/   はまずここから。
Missing data)           Multivariate.html
今後のシリーズ前処理
•  最終的には、チェックリストを作りたい
•  欲しいデータ形式に向けてサンプルデータをひ
   たすら綺麗にしていくデータ前処理ハッカソン
   をしてもよいかもしれない
enjoy!!!
Ad

More Related Content

What's hot (20)

社会心理学とGlmm
社会心理学とGlmm社会心理学とGlmm
社会心理学とGlmm
Hiroshi Shimizu
 
マーケティングサイエンス徹底入門と実践Part2
マーケティングサイエンス徹底入門と実践Part2マーケティングサイエンス徹底入門と実践Part2
マーケティングサイエンス徹底入門と実践Part2
宏喜 佐野
 
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
Hiroshi Shimizu
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
 
統計的検定と例数設計の基礎
統計的検定と例数設計の基礎統計的検定と例数設計の基礎
統計的検定と例数設計の基礎
Senshu University
 
Tokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's RuleTokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's Rule
Hiroki Matsui
 
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
 
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo
 
MICの解説
MICの解説MICの解説
MICの解説
logics-of-blue
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
Masaru Tokuoka
 
Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定
Nagi Teramo
 
ネットワークメタ分析入門
ネットワークメタ分析入門ネットワークメタ分析入門
ネットワークメタ分析入門
Senshu University
 
Hastie_chapter5
Hastie_chapter5Hastie_chapter5
Hastie_chapter5
Yusuke Kaneko
 
Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定
Hiroki Matsui
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
Hiroyuki Masuda
 
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
Issei Kurahashi
 
20160604 TRIPOD ws@ACPJC
20160604 TRIPOD ws@ACPJC20160604 TRIPOD ws@ACPJC
20160604 TRIPOD ws@ACPJC
SR WS
 
機械学習 入門
機械学習 入門機械学習 入門
機械学習 入門
Hayato Maki
 
ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾
Yoshitake Takebayashi
 
Rで架空データの発生
Rで架空データの発生Rで架空データの発生
Rで架空データの発生
Makoto Hirakawa
 
マーケティングサイエンス徹底入門と実践Part2
マーケティングサイエンス徹底入門と実践Part2マーケティングサイエンス徹底入門と実践Part2
マーケティングサイエンス徹底入門と実践Part2
宏喜 佐野
 
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
Hiroshi Shimizu
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
Hiroshi Shimizu
 
統計的検定と例数設計の基礎
統計的検定と例数設計の基礎統計的検定と例数設計の基礎
統計的検定と例数設計の基礎
Senshu University
 
Tokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's RuleTokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's Rule
Hiroki Matsui
 
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
 
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Rubinの論文(の行間)を読んでみる-傾向スコアの理論-
Koichiro Gibo
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
Masaru Tokuoka
 
Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定
Nagi Teramo
 
ネットワークメタ分析入門
ネットワークメタ分析入門ネットワークメタ分析入門
ネットワークメタ分析入門
Senshu University
 
Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定Rで学ぶ観察データでの因果推定
Rで学ぶ観察データでの因果推定
Hiroki Matsui
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
Hiroyuki Masuda
 
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
Issei Kurahashi
 
20160604 TRIPOD ws@ACPJC
20160604 TRIPOD ws@ACPJC20160604 TRIPOD ws@ACPJC
20160604 TRIPOD ws@ACPJC
SR WS
 
機械学習 入門
機械学習 入門機械学習 入門
機械学習 入門
Hayato Maki
 
ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾ベイズ推定の概要@広島ベイズ塾
ベイズ推定の概要@広島ベイズ塾
Yoshitake Takebayashi
 
Rで架空データの発生
Rで架空データの発生Rで架空データの発生
Rで架空データの発生
Makoto Hirakawa
 

Viewers also liked (20)

生物成長曲線予測の事例
生物成長曲線予測の事例生物成長曲線予測の事例
生物成長曲線予測の事例
yoshi_flt
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
Yasuyuki Sugai
 
10分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.710分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7
Nobuaki Oshiro
 
Rで学ぶ離散選択モデル
Rで学ぶ離散選択モデルRで学ぶ離散選択モデル
Rで学ぶ離散選択モデル
宏喜 佐野
 
Rで部屋探し For slide share
Rで部屋探し For slide shareRで部屋探し For slide share
Rで部屋探し For slide share
Shota Yasui
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
tetsuro ito
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
Sercan Ahi
 
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShiny
Kazuya Wada
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
Likit Preeyanon
 
AshiAto ---Web閲覧履歴可視化ツール
AshiAto ---Web閲覧履歴可視化ツールAshiAto ---Web閲覧履歴可視化ツール
AshiAto ---Web閲覧履歴可視化ツール
Jun Obana
 
B2B Lead Generation & Lead Nurturing
B2B Lead Generation & Lead NurturingB2B Lead Generation & Lead Nurturing
B2B Lead Generation & Lead Nurturing
Jun Obana
 
日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介
VirtualTech Japan Inc.
 
B2Bベンチャー勉強会
B2Bベンチャー勉強会B2Bベンチャー勉強会
B2Bベンチャー勉強会
Joji Hori
 
日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介
VirtualTech Japan Inc.
 
哲学者のための確率入門
哲学者のための確率入門哲学者のための確率入門
哲学者のための確率入門
mznkn
 
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
hnisiji
 
生物成長曲線予測の事例
生物成長曲線予測の事例生物成長曲線予測の事例
生物成長曲線予測の事例
yoshi_flt
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
Yasuyuki Sugai
 
10分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.710分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7
Nobuaki Oshiro
 
Rで学ぶ離散選択モデル
Rで学ぶ離散選択モデルRで学ぶ離散選択モデル
Rで学ぶ離散選択モデル
宏喜 佐野
 
Rで部屋探し For slide share
Rで部屋探し For slide shareRで部屋探し For slide share
Rで部屋探し For slide share
Shota Yasui
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
tetsuro ito
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
Sercan Ahi
 
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShiny
Kazuya Wada
 
AshiAto ---Web閲覧履歴可視化ツール
AshiAto ---Web閲覧履歴可視化ツールAshiAto ---Web閲覧履歴可視化ツール
AshiAto ---Web閲覧履歴可視化ツール
Jun Obana
 
B2B Lead Generation & Lead Nurturing
B2B Lead Generation & Lead NurturingB2B Lead Generation & Lead Nurturing
B2B Lead Generation & Lead Nurturing
Jun Obana
 
日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介
VirtualTech Japan Inc.
 
B2Bベンチャー勉強会
B2Bベンチャー勉強会B2Bベンチャー勉強会
B2Bベンチャー勉強会
Joji Hori
 
日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介
VirtualTech Japan Inc.
 
哲学者のための確率入門
哲学者のための確率入門哲学者のための確率入門
哲学者のための確率入門
mznkn
 
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
Tokyo r#10 Rによるデータサイエンス 第五章:クラスター分析
hnisiji
 
Ad

Similar to Maeshori missing (20)

Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
Kohta Ishikawa
 
マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法
Koichiro Gibo
 
データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章
Hirofumi Tsuruta
 
Mplusの使い方 初級編
Mplusの使い方 初級編Mplusの使い方 初級編
Mplusの使い方 初級編
Hiroshi Shimizu
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai
 
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
Naoki Hayashi
 
Let中部2012シンポスライド
Let中部2012シンポスライドLet中部2012シンポスライド
Let中部2012シンポスライド
Mizumoto Atsushi
 
反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか
SAKAUE, Tatsuya
 
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
ryuhmd
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
Daisuke Yoneoka
 
機械学習
機械学習機械学習
機械学習
Hikaru Takemura
 
多変量解析の一般化
多変量解析の一般化多変量解析の一般化
多変量解析の一般化
Akisato Kimura
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用
Kinki University
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング
. .
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02
akira_11
 
2 2.尤度と最尤法
2 2.尤度と最尤法2 2.尤度と最尤法
2 2.尤度と最尤法
logics-of-blue
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
Daiyu Hatakeyama
 
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
Deep Learning JP
 
Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
Kohta Ishikawa
 
マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法
Koichiro Gibo
 
データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章
Hirofumi Tsuruta
 
Mplusの使い方 初級編
Mplusの使い方 初級編Mplusの使い方 初級編
Mplusの使い方 初級編
Hiroshi Shimizu
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai
 
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
Naoki Hayashi
 
Let中部2012シンポスライド
Let中部2012シンポスライドLet中部2012シンポスライド
Let中部2012シンポスライド
Mizumoto Atsushi
 
反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか
SAKAUE, Tatsuya
 
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
ryuhmd
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
Daisuke Yoneoka
 
多変量解析の一般化
多変量解析の一般化多変量解析の一般化
多変量解析の一般化
Akisato Kimura
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用
Kinki University
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング
. .
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02
akira_11
 
2 2.尤度と最尤法
2 2.尤度と最尤法2 2.尤度と最尤法
2 2.尤度と最尤法
logics-of-blue
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
Daiyu Hatakeyama
 
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
Deep Learning JP
 
Ad

More from Daisuke Ichikawa (12)

R25LT
R25LTR25LT
R25LT
Daisuke Ichikawa
 
母集団と標本
母集団と標本母集団と標本
母集団と標本
Daisuke Ichikawa
 
Tokyor20
Tokyor20Tokyor20
Tokyor20
Daisuke Ichikawa
 
Tokyor17
Tokyor17Tokyor17
Tokyor17
Daisuke Ichikawa
 
Tokyor16
Tokyor16Tokyor16
Tokyor16
Daisuke Ichikawa
 
Saku110716
Saku110716Saku110716
Saku110716
Daisuke Ichikawa
 
Tokyor15mod
Tokyor15modTokyor15mod
Tokyor15mod
Daisuke Ichikawa
 
Tokyo r11caret
Tokyo r11caretTokyo r11caret
Tokyo r11caret
Daisuke Ichikawa
 
ggplot2できれいなグラフ
ggplot2できれいなグラフggplot2できれいなグラフ
ggplot2できれいなグラフ
Daisuke Ichikawa
 

Maeshori missing

  • 1. ∼シリーズ前処理2013∼ 欠測への対応 @dichika
  • 2. 自己紹介 •  @dichika •  現代史に興味があります –  ジャニーズ –  プロレス –  参考書籍があれば教えて下さい
  • 3. 前処理とは •  手元にある観測データを、意図する分析手法 が適用できる形にまでもっていく方法、と広く 定義します。 •  たとえば
  • 4. たとえば •  欠測値への対応 •  連続データの離散化 •  外れ値処理 •  単位の変換(標準化) •  サンプリング •  不均衡データ •  属性抽出 •  データ形式の変換(時系列、グラフ等)
  • 6. シリーズ前処理について •  一説では、データ分析の8-9割の時間を占め るといわれながら、その方法についてはあまり 語られることのない前処理について迫っていく シリーズです。 •  私の発表をたたき台にして、「ぼくのかんがえ たさいきょうのまえしょり」をみんな共有してく れると嬉しいです。 •  一人で続けるのはしんどいので、誰か続いてく れると嬉しいです。
  • 7. これまでの前処理@Tokyo.R •  Rで学ぶロバスト推定(第13回) –  外れ値 •  xtsパッケージで時系列解析(第15回) –  データ形式の変換 •  Rを用いた地理的情報解析(第16回) –  データ形式の変換 •  不均衡データのクラス分類(第20回) –  不均衡データ •  二部グラフを使ったソーシャルネットワーク(第21回) –  データ形式の変換 •  抽出・推定・誤差評価(第27回) –  サンプリング
  • 10. 最初に •  欠測とは、データの欠落を想定しています •  R in Actionの第15章超おすすめなので欠測 の扱いについて手っ取り早く知りたければここ を読むのがオススメ 身長 体重 145 42 168 65 192 89 158 NA
  • 11. 欠測への対応はこれだ! 欠測の可視化 どのように欠測しているか可視化 欠測について ランダムな欠測かどうか判断する 考える 欠測処理を 欠測に合わせた手法を選ぶ 選ぶ
  • 12. まずは可視化から 欠測の可視化 どのように欠測しているか可視化 欠測について ランダムな欠測かどうか判断する 考える 欠測処理を 欠測に合わせた手法を選ぶ 選ぶ
  • 13. 欠測の可視化 •  sleepデータを例に取る –  VIMパッケージに含まれている –  哺乳類の睡眠に関するデータ –  体重、脳の重さ、睡眠時間、レム睡眠の時間等1 0種類の変数 –  今回はレム睡眠(Dream)に着目
  • 14. VIM(vimではない)で可視化 •  VIMパッケージが便利 –  matrixplot •  各列に対して標準化を行った上で図示 •  標準化により、文字列は欠測扱いになるので注意 –  marginplot •  2変数を散布図+箱ひげ図で図示 •  箱ひげ図は、もう一方の変数が欠測している/いない 場合での比較になっている
  • 15. Index 0 10 20 30 40 50 60 BodyWgt BrainWgt NonD Dream Sleep Span Gest matrixplot Pred Exp Danger
  • 16. Index 0 10 20 30 40 50 60 BodyWgt BrainWgt に欠測しやすい NonDとDreamは共 NonD Dream Sleep Span Gest Pred Exp Danger 並び替えて欠測パターンを確認
  • 17. marginplot 100 80 60 Dreamが Span 40 欠測した場合 の箱ひげ図が 赤 20 0 Spanの 4 欠測数 1 12 0 1 2 3 4 5 6 共通した 欠測数 Dream Dreamの 欠測数
  • 18. ちょっと考える 欠測の可視化 どのように欠測しているか可視化 欠測について ランダムな欠測かどうか判断する 考える 欠測処理を 欠測に合わせた手法を選ぶ 選ぶ
  • 19. 欠測はランダムか •  MCAR(Missing Completely At Random) –  欠測が完全にランダム •  MAR (Missing At Random) –  欠測をデータ内で統制すればランダム •  これを仮定することが多い •  NMAR (Not Missing At Random) –  欠測がランダムではない •  欠測メカニズムをモデル化して組み込む必要あり •  難しいので今回は扱わない
  • 20. よろしい、ならばMARだ •  原則、MARとして対応するのが無難 –  後述する多重代入法もしくは最尤法で対応 •  事前知識及び可視化の結果からNMARの疑 いがある場合のみ対応を考える –  欠測をモデリング •  Heckmanモデル等 –  感度分析 •  モデルや特定のパラメータを変えてどの推定結果が変 わるか –  かなりめんどくさい
  • 21. 考えたところで手法を選ぶ 欠測の可視化 どのように欠測しているか可視化 欠測について ランダムな欠測かどうか判断する 考える 欠測処理を 欠測に合わせた手法を選ぶ 選ぶ
  • 22. 欠測処理を選ぶ 推定したパラメータにバイアス 欠測処理 内容 が生じるどうか MCAR MAR NMAR 欠測データを行単位で リストワイズ 削除 ○ 削除 分析に用いた変数の範 ペアワイズ 囲で欠測データを行単 ○ 位で削除 欠測を考慮した形で最 最尤法 尤法を適用する(EMア ○ ○ △ ルゴリズム等適用) 平均値や、他の変数に 単一代入法 よる予測値を代入 ○ 代入 多重代入法 この後説明 ○ ○
  • 23. 削除はバイアスが生じる 推定したパラメータにバイアス 欠測処理 内容 が生じるどうか MCAR MAR NMAR 欠測データを行単位で リストワイズ 削除 ○ 削除 分析に用いた変数の範 ペアワイズ 囲で欠測データを行単 ○ 位で削除 欠測を考慮した形で最 最尤法 尤法を適用する(EMア ○ ○ △ ルゴリズム等適用) 平均値や、他の変数に 単一代入法 よる予測値を代入 ○ 代入 多重代入法 この後説明 ○ ○
  • 24. ぶっちゃけ最尤法か多重代入法 •  MARを前提に考えると削除は無い 10%は •  欠測の割合に着目 目安 –  10%未満→リストワイズでも良いという話も –  10%以上→最尤法か多重代入法 •  最尤法と多重代入法どっちを選ぶかは好み –  欠測の教科書など読む時には、この人は最尤法 推しなんだなとか考えて読む必要がある
  • 25. せっかくだから俺はmiceをえらぶぜ •  多重代入法の方が直観的にわかりやすかった –  個人の感想です –  最尤法もmvnmleパッケージを使えばできるが理解 が間に合わなかった –  あと、なんとなくRubinリスペクト •  多重代入法にはいくつかアルゴリズムがある –  今回はMICEアルゴリズム •  miceパッケージとして実装されている
  • 26. ここでRubin伝説 •  ハーバードの統計学の教授 •  Educational Testing Service(ETS)に勤めて いた数年であげた業績 –  Rubinの因果推論モデル –  傾向スコア –  多重代入法 –  EMアルゴリズム
  • 28. 多重代入法(MICEアルゴリズム) 1.  代入 –  なんらかの方法で欠測値を予測し、その結果を代 入したデータを複数作る •  初期設定はPredictive mean matching 2.  分析 –  作ったデータそれぞれに対して目的とする分析手 法の適用 •  例えば回帰分析 3.  統合 –  分析で求めたパラメータを統合する
  • 29. Predictive mean matching •  他の変数を使って、欠測値を予測する •  予測値に近い値を欠測していない値からもっ てくる •  もってきた値からランダムに1つ取り出して欠 測値を補完する •  これを全ての欠測値に対して適用する
  • 30. 実際の使用例 library(mice) data(sleep, package = "VIM") imp <- mice(sleep) # 代入 fit <- with(imp, lm(Dream ~ Span + Gest)) # 分析 pooled <- pool(fit) # 統合 summary(pooled) # 結果の確認
  • 31. 実際の使用例 with mice pool
  • 32. 補足事項 •  作成するデータセットの数を指定できる –  mice(data, m = 5) •  miceを適用した結果から単一のデータセットを 抽出できる 作成した データセットの –  complete(imp, action = 3) 範囲内の数を指定 •  with関数で使用できる分析手法 –  線形回帰がメイン –  lm、glm、gam、nbrm
  • 34. 参考資料(書籍) 文献名 著者 出版社等 コメント R in Action Robert Manning, 15章が実にわかりやすい。忙しい人はこ Kabacoff 2011 れだけ読んでおけば良い。 Flexible Stef van CRC Press, multiple imputationについて網羅されて Imputation of Buuren 2012 る。 Missing Data 不完全データの 岩崎 学 エコノミスト 新しくはないが日本語で網羅されている。 統計解析 社, 2002 おすすめ。 欠測データ解析 逸見 昌之 統計数理 統計数理研究所の公開講座。NMARに踏 法(講義資料) 星野 崇宏 研究所, み込んだ解説あり。資料は非公開。 2012
  • 35. 参考資料(web その1) 文献名 著者 出版社等 コメント 欠測値データ解析 狩野裕 https://sites.google.com/ 日本語かつケーススタディあ の意味と有効性 site/ksp397kano/ り。おすすめ。 Handling Missing Paul D. http:// MIと最尤法の比較あり。この Data by Maximum Allison www.statisticalhorizons.com 人は最尤法推し。この人も欠 Likelihood /wp-content/uploads/ 測データに関して教科書を書 MissingDataByML.pdf いている。 Missing Data and http://www.upa.pdx.edu/ SEMに関しての文献だが簡潔 Missing Data IOA/newsom/semclass/ にまとまってるので復習する Estimation ho_missing.pdf 時にチートシートっぽく使える。 何があっても割り付 佐藤俊哉 http://www.kbs.med.kyoto- 医学系の例。 けどおりに解析する 松岡淨 u.ac.jp/01Sep15.pdf
  • 36. 参考資料(web その2) 文献名 著者 出版社等 コメント Missing data 村山航 http://www4.ocn.ne.jp/ 日本語。最尤法と多重代 analysis ~murakou/ 入法の丁寧な説明あり。 missing_data.pdf おすすめ。 CRAN Task View http://cran.r- Rでパッケージを探すとき (Multivariate→  project.org/web/views/ はまずここから。 Missing data) Multivariate.html