目次
はじめに
日頃の業務でソフトウェア開発をする一方、開発試験データや現場の稼働データを解析することもあります。そんな中、解析対象となるデータは決して完璧なものではなく、何かしらの理由で「得られたはずなのに得られなかった」データというものがよくあります。
そういった欠測が生じたデータを解析するにはどうしたらいいのか勉強するために、上記の書籍を読みました。
今回の記事は、これを読んで参考になった部分をTwitter上でメモしたものになります。
メモ
年末年始の読書2冊目を開始!
— Shisato (@4310sy) 2018年12月31日
いいペース! pic.twitter.com/qp1oHIPFsC
やってはいけない解析例
— Shisato (@4310sy) 2018年12月31日
欠測のあるデータを排除する。
とりあえず埋める。
回帰分析での欠測処理。
バイアスのない推定を行うためには、観測データ尤度の最大化による最尤推定やベイズ推定、適切な多重代入法を利用する必要がある。
— Shisato (@4310sy) 2019年1月1日
欠測のある不完全なデータを、如何に完全データであるかのように解析するかを考える事を、完全ケース分析、あるいはリストワイズ削除という。
— Shisato (@4310sy) 2019年1月1日
不完全データの種類
— Shisato (@4310sy) 2019年1月1日
本来は連続変数として得られる値を何らかの事情で離散化して測定したもの
ある数値以下は四捨五入させるといったラウンディング
ある値以上または以下であると、その値までしか得られないと打ち切るもの
データの欠測がどのようなメカニズムで生じているかは非常に本質的である。
— Shisato (@4310sy) 2019年1月1日
どのような解析方法を用いれば、欠測データから正しい統計的推測が可能なのか、あるいは不可能なのかを考える為に必要。
欠測パターン
— Shisato (@4310sy) 2019年1月1日
欠測データメカニズム
解析のための統計モデルと推定したいパラメータ
これらが何かによって、どのような解析方法を用いれば、バイアスのない推定結果を得られるかが決まる。
欠測データに対する最尤推定法の特徴
— Shisato (@4310sy) 2019年1月1日
異なる尤度を使う。欠測する事自体を情報として取り込んだ尤度を使う。
欠測データの発生メカニズムを考える。発生メカニズムについて複数のモデルがある。
観測されること
— Shisato (@4310sy) 2019年1月1日
欠測すること
のどちらかを示す欠測指標を用いることにより、欠測していること自体を情報として使えるようになる。
変数と欠測指標の同時確率分布を考える。
— Shisato (@4310sy) 2019年1月1日
欠測データ分析のためのモデルには3つのモデルがある。
— Shisato (@4310sy) 2019年1月1日
欠測の発生メカニズムに関する想定の違いにより、3つのモデルに別れる。
選択モデル
— Shisato (@4310sy) 2019年1月1日
データベクトルが与えられたもとで各要素が選択され、観測または欠測する確率を表している。
パターン混合モデル
— Shisato (@4310sy) 2019年1月1日
欠測指標で条件付けたデータの分布を特徴付けるパラメータ
各欠測パターンの生起確率を表すパラメータ
これらにより求まる生起確率、欠測パターンに基づいた条件付き分布
このモデルは、欠測パターンごとに生起確率を重みとした条件付き分布の混合分布となる。
共有パラメータモデル
— Shisato (@4310sy) 2019年1月1日
変量効果、データベクトル、欠測指標の同時確率分布の分解を考える。
変量効果と共変量を条件付けることで、欠測指標とデータが独立になると考える。
経時データにおける欠測データの解析に用いられることが多い。
欠測データメカニズム
— Shisato (@4310sy) 2019年1月1日
MAR(missing at random)
欠測するかどうかが、観測値にのみ依存する。
MCAR(missing completely at random)
欠測するかどうかが、何にも依存しない。
NMAR(not missing at random)
欠測するかどうかが、観測値と欠測値に依存する。
無視可能な欠測データ
— Shisato (@4310sy) 2019年1月1日
データがMAR、かつ平均値と共分散のパラメータと、欠測データの生起確率を表すパラメータの空間が分離しているとき、欠測データメカニズムが尤度に関して無視可能であるという。
パラメータ空間の分離
— Shisato (@4310sy) 2019年1月2日
平均値と共分散のパラメータと、欠測データの生起確率を表すパラメータが、関数として関係がなく、メカニズムが後者にのみ依存するということである。
MCARとは、欠測が完全にランダムに生じるということであるが、どの変数が欠測するかがランダムであるという意味ではない。
— Shisato (@4310sy) 2019年1月2日
NMARは、無視できない欠測または無視不可能な欠測とも呼ばれる。
— Shisato (@4310sy) 2019年1月2日
MARは無視可能と同一であると考えるので、NMARは無視不可能な欠測と同一視する。
欠測データがある状況でのEMアルゴリズム
— Shisato (@4310sy) 2019年1月2日
欠測値がデータに含まれる場合には、パターンが複数あり、それぞれが異なる尤度関数を持つ。
異なるパターンの関数を共通パラメータで微分するため導出が難しい。
こういう問題に対して、EMアルゴリズムは有効である。
EMアルゴリズムの計算手順は2つのステップに分かれる。
— Shisato (@4310sy) 2019年1月2日
1ステップ目
擬似的な完全データの対数尤度の条件付き期待値を計算する。
2ステップ目
計算した期待値を、平均値と共分散のパラメータに関して最大化する。
EMアルゴリズムによる対数尤度の列は単調増加である。この性質によって、EMアルゴリズムが正常に動作しているか確認出来る。
— Shisato (@4310sy) 2019年1月2日
EMアルゴリズムが収束しても、それは必ずしも最尤推定値とは限らない。
— Shisato (@4310sy) 2019年1月2日
尤度関数が複数のピークを持つ時、得られた収束先が最大尤度を与える点かどうか判別する手段はない。
複数の初期値を与えて、収束先の尤度を比較し、最も大きくなる点を最尤推定値として採用する。
1ステップ目の期待値計算が簡単に行える保証ない。
— Shisato (@4310sy) 2019年1月2日
その場合は、期待値計算の部分でモンテカルロ積分を行う方法が提唱されている。
単一代入の分類
— Shisato (@4310sy) 2019年1月2日
平均値代入
回帰代入
確率的回帰代入
マッチング
マッチング
— Shisato (@4310sy) 2019年1月2日
欠測が起こっている変数について、欠測している個体としていない個体のマッチングを行う。
マッチングのキー変数について、欠測している個体と類似した欠測していない個体のペアを作成して、後者で得られた観測値を前者の欠測値に代入する。
多重代入法の目的
— Shisato (@4310sy) 2019年1月2日
単一代入では推定値の分散の過小評価が起こり得る。
単一代入を複数回実施して擬似完全データを作成し、各擬似完全データごとに計算した複数の推定値の統合を行う。
欠測データメカニズムの検討方法
— Shisato (@4310sy) 2019年1月2日
t検定による方法
Littleの検定
Hausman検定
感度分析
— Shisato (@4310sy) 2019年1月2日
欠測データに対する仮定がどの程度、どのように結果に影響を及ぼすかを調べること。
とりあえず、これで一旦読了。
— Shisato (@4310sy) 2019年1月2日
これはもう1周して、じっくり読み直さないといけないな。
今は全体像を把握するすることを優先して3冊目に行こう。