SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
∼シリーズ前処理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!!!

Contenu connexe

Tendances

StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】Hiroyuki Muto
 
患者報告式尺度の開発方法
患者報告式尺度の開発方法患者報告式尺度の開発方法
患者報告式尺度の開発方法Senshu University
 
ロジスティック回帰分析の入門 -予測モデル構築-
ロジスティック回帰分析の入門 -予測モデル構築-ロジスティック回帰分析の入門 -予測モデル構築-
ロジスティック回帰分析の入門 -予測モデル構築-Koichiro Gibo
 
DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)Masaru Tokuoka
 
一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門Yu Tamura
 
統計的検定と例数設計の基礎
統計的検定と例数設計の基礎統計的検定と例数設計の基礎
統計的検定と例数設計の基礎Senshu University
 
Rで潜在ランク分析
Rで潜在ランク分析Rで潜在ランク分析
Rで潜在ランク分析Hiroshi Shimizu
 
GLMM in interventional study at Require 23, 20151219
GLMM in interventional study at Require 23, 20151219GLMM in interventional study at Require 23, 20151219
GLMM in interventional study at Require 23, 20151219Shuhei Ichikawa
 
媒介分析について
媒介分析について媒介分析について
媒介分析についてHiroshi Shimizu
 
第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)Masaru Tokuoka
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門shima o
 
GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論Koichiro Gibo
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)Yoshitake Takebayashi
 
ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法Masaru Tokuoka
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択kazutantan
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会Shushi Namba
 

Tendances (20)

StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
StanとRで折れ線回帰──空間的視点取得課題の反応時間データを説明する階層ベイズモデルを例に──【※Docswellにも同じものを上げています】
 
患者報告式尺度の開発方法
患者報告式尺度の開発方法患者報告式尺度の開発方法
患者報告式尺度の開発方法
 
ロジスティック回帰分析の入門 -予測モデル構築-
ロジスティック回帰分析の入門 -予測モデル構築-ロジスティック回帰分析の入門 -予測モデル構築-
ロジスティック回帰分析の入門 -予測モデル構築-
 
DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)
 
一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門一般化線形混合モデル入門の入門
一般化線形混合モデル入門の入門
 
統計的検定と例数設計の基礎
統計的検定と例数設計の基礎統計的検定と例数設計の基礎
統計的検定と例数設計の基礎
 
Rで潜在ランク分析
Rで潜在ランク分析Rで潜在ランク分析
Rで潜在ランク分析
 
GLMM in interventional study at Require 23, 20151219
GLMM in interventional study at Require 23, 20151219GLMM in interventional study at Require 23, 20151219
GLMM in interventional study at Require 23, 20151219
 
媒介分析について
媒介分析について媒介分析について
媒介分析について
 
第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)
 
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
 
GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論GEE(一般化推定方程式)の理論
GEE(一般化推定方程式)の理論
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 
社会心理学とGlmm
社会心理学とGlmm社会心理学とGlmm
社会心理学とGlmm
 
ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法
 
ベイズファクターとモデル選択
ベイズファクターとモデル選択ベイズファクターとモデル選択
ベイズファクターとモデル選択
 
潜在クラス分析
潜在クラス分析潜在クラス分析
潜在クラス分析
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
Rでベイズをやってみよう!(コワい本1章)@BCM勉強会
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 

En vedette

生物成長曲線予測の事例
生物成長曲線予測の事例生物成長曲線予測の事例
生物成長曲線予測の事例yoshi_flt
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現Yasuyuki Sugai
 
10分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.710分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7Nobuaki Oshiro
 
Rで学ぶ離散選択モデル
Rで学ぶ離散選択モデルRで学ぶ離散選択モデル
Rで学ぶ離散選択モデル宏喜 佐野
 
Rで部屋探し For slide share
Rで部屋探し For slide shareRで部屋探し For slide share
Rで部屋探し For slide shareShota 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 JPSercan Ahi
 
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Prunus 1350
 
Tokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's RuleTokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's RuleHiroki Matsui
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShinyKazuya 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 NurturingJun Obana
 
日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介VirtualTech Japan Inc.
 
B2Bベンチャー勉強会
B2Bベンチャー勉強会B2Bベンチャー勉強会
B2Bベンチャー勉強会Joji Hori
 
日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介VirtualTech Japan Inc.
 
哲学者のための確率入門
哲学者のための確率入門哲学者のための確率入門
哲学者のための確率入門mznkn
 

En vedette (20)

生物成長曲線予測の事例
生物成長曲線予測の事例生物成長曲線予測の事例
生物成長曲線予測の事例
 
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
 
10分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.710分で分かるr言語入門ver2.7
10分で分かるr言語入門ver2.7
 
Rで学ぶ離散選択モデル
Rで学ぶ離散選択モデルRで学ぶ離散選択モデル
Rで学ぶ離散選択モデル
 
Rで部屋探し For slide share
Rで部屋探し For slide shareRで部屋探し For slide share
Rで部屋探し For slide share
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
 
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
 
Tokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's RuleTokyo r #37 Rubin's Rule
Tokyo r #37 Rubin's Rule
 
はじめてのShiny
はじめてのShinyはじめてのShiny
はじめてのShiny
 
Data preprocessing
Data preprocessingData preprocessing
Data preprocessing
 
sampling
samplingsampling
sampling
 
AshiAto ---Web閲覧履歴可視化ツール
AshiAto ---Web閲覧履歴可視化ツールAshiAto ---Web閲覧履歴可視化ツール
AshiAto ---Web閲覧履歴可視化ツール
 
B2B Lead Generation & Lead Nurturing
B2B Lead Generation & Lead NurturingB2B Lead Generation & Lead Nurturing
B2B Lead Generation & Lead Nurturing
 
日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介日本仮想化技術 提供サービスのご紹介
日本仮想化技術 提供サービスのご紹介
 
B2Bベンチャー勉強会
B2Bベンチャー勉強会B2Bベンチャー勉強会
B2Bベンチャー勉強会
 
日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介日本仮想化技術 OpenStackサービスメニューのご紹介
日本仮想化技術 OpenStackサービスメニューのご紹介
 
Tokyo r.28.lt.ss
Tokyo r.28.lt.ssTokyo r.28.lt.ss
Tokyo r.28.lt.ss
 
哲学者のための確率入門
哲学者のための確率入門哲学者のための確率入門
哲学者のための確率入門
 
第28回Tokyo.R
第28回Tokyo.R第28回Tokyo.R
第28回Tokyo.R
 

Similaire à Maeshori missing

Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statisticsKohta 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 1ryuhmd
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場Daisuke Yoneoka
 
多変量解析の一般化
多変量解析の一般化多変量解析の一般化
多変量解析の一般化Akisato Kimura
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用Kinki University
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング. .
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02akira_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-EncoderDeep Learning JP
 

Similaire à Maeshori missing (20)

Introduction to statistics
Introduction to statisticsIntroduction to statistics
Introduction to statistics
 
マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法マルコフ連鎖モンテカルロ法と多重代入法
マルコフ連鎖モンテカルロ法と多重代入法
 
データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章
 
Mplusの使い方 初級編
Mplusの使い方 初級編Mplusの使い方 初級編
Mplusの使い方 初級編
 
幾何を使った統計のはなし
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
 
Sakusaku svm
Sakusaku svmSakusaku svm
Sakusaku svm
 
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
【招待講演】パラメータ制約付き行列分解のベイズ汎化誤差解析【StatsML若手シンポ2020】
 
Let中部2012シンポスライド
Let中部2012シンポスライドLet中部2012シンポスライド
Let中部2012シンポスライド
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 
反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか
 
MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1MLaPP輪講 Chapter 1
MLaPP輪講 Chapter 1
 
第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場第五回統計学勉強会@東大駒場
第五回統計学勉強会@東大駒場
 
機械学習
機械学習機械学習
機械学習
 
多変量解析の一般化
多変量解析の一般化多変量解析の一般化
多変量解析の一般化
 
ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用ランダムフォレストとそのコンピュータビジョンへの応用
ランダムフォレストとそのコンピュータビジョンへの応用
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02
 
2 2.尤度と最尤法
2 2.尤度と最尤法2 2.尤度と最尤法
2 2.尤度と最尤法
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
 
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
[DL輪読会]Temporal DifferenceVariationalAuto-Encoder
 

Plus de Daisuke Ichikawa (12)

R25LT
R25LTR25LT
R25LT
 
母集団と標本
母集団と標本母集団と標本
母集団と標本
 
Tokyor23
Tokyor23Tokyor23
Tokyor23
 
Tokyor20
Tokyor20Tokyor20
Tokyor20
 
Tokyor18
Tokyor18Tokyor18
Tokyor18
 
Tokyor17
Tokyor17Tokyor17
Tokyor17
 
Tokyor16
Tokyor16Tokyor16
Tokyor16
 
Saku110716
Saku110716Saku110716
Saku110716
 
Tokyor15mod
Tokyor15modTokyor15mod
Tokyor15mod
 
世界のR(仮)
世界のR(仮)世界のR(仮)
世界のR(仮)
 
Tokyo r11caret
Tokyo r11caretTokyo r11caret
Tokyo r11caret
 
ggplot2できれいなグラフ
ggplot2できれいなグラフggplot2できれいなグラフ
ggplot2できれいなグラフ
 

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