SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
欠損値の種類と補間手法
について
GRID 株式会社
小野寺 大輝
分析に用いるデータの欠損
・センサデータの中で故障していたセンサが
合ったことに気づいた
・そもそも試験Aと試験Bがあり、試験Aは全員
受けているが、試験Bは任意なので80%程度の
受験率
データ受け取り側 データ受け渡し側
・解析を行うためにデータを可視化してみると
特定の時期のデータが欠損しているようだ
・アンケート結果のデータ分析であるが、
データを確認してみると、
美容に関するアンケートのため、男性の
回答比率がそもそも少ない
解析してみて初めて分かった欠損 データ受け渡し前に分かっていた欠損
欠損のある
解析用データ
1 2
34
欠損にどう対処しているのか…?
諦めるパターン 消すパターン
平均値代入パターン 慎重パターン
欠損あるから
扱えないわ
コレ…
よくわからんし、
消しとこ…
欠損よりは平均
値を使った方が
マシじゃない?
欠損の仕方に
よって対処方法
が異なるに
違いない
欠損の種類
●時系列データ(順番に意味のあるデータ)
●時系列ではないデータ(順番に意味のないデータ)
例:電球の明るさの調査(売っている電球の明るさ抜き打ち検査)
時間 値1
13:00 135
13:01 134
13:02 N/A
13:03 130
・線形補間やスプライン補間
1.MCAR
(Missing Completely At Random)
電球ID 明るさ
A 130
B 115
C N/A
たまたま寿命
が来ていた電
球の値が欠損
した
2.MAR
(Missing At Random)
電球
ID
明る
さ
室温
A 130 24
B 115 23
C N/A 37
室温が高過ぎ
るとよく計測
器が壊れて計
れなくなる
=他の変数に
依存した欠損
3.MNAR
(Missing Not At Random)
電球
ID
明る
さ
A 130
B 115
C N/A
明るさが大き
すぎて計測器
が壊れて計れ
なかった
=特定の範囲
の値が欠損
欠損の種類
●時系列ではないデータ(順番に意味のないデータ)
例:電球の明るさの調査(売っている電球の明るさ抜き打ち検査)
1.MCAR
(Missing Completely At Random)
電球ID 明るさ
A 130
B 115
C N/A
たまたま寿命
が来ていた電
球の値が欠損
した
2.MAR
(Missing At Random)
電球
ID
明る
さ
室温
A 130 24
B 115 23
C N/A 37
室温が高過ぎ
るとよく計測
器が壊れて計
れなくなる
=他の変数に
依存した欠損
3.MNAR
(Missing Not At Random)
電球
ID
明る
さ
A 130
B 115
C N/A
明るさが大き
すぎて計測器
が壊れて計れ
なかった
=特定の範囲
の値が欠損
・削除しても推定にそれほど
大きな影響を与えない
・他のデータから推定も可能
・削除すると室温が高いときのデータ
が消えるため、バイアスのかかった
データになってしまう
・明るさと室温に関連があれば、
室温から明るさを推定できる
・削除すると明るさが大きいデータが
なくなってしまい、バイアスの
かかったデータになってしまう
・推定も難しい
欠損への対処(代入法)
・MARはバイアスが生じてしまうため単純に削除することは望ましくなく、
補間等によって欠損値に適切な値を他の変数から予測して代入する必要がある
3.FIML(Full Information Maximum Likelihood)
4.データ拡大法
多変量正規分布を作成し、サンプリングする手法
多変量正規分布からノイズを加えた回帰式を求める
1.平均値代入法
欠損している変数の平均値を代入値とする
2.近傍法
欠損している変数を除いた変数の中で
最も距離が近い個体の値を代入値とする
電球
ID
明る
さ
A 130
B 115
C N/A 明るさの平均値
電球ID 室温 明るさ
A 36 130
B 23 115
C 37 N/A
室温が最も近い
箇所の値を代入
⑴.欠損データを除いて左のような図を作成
⑵.明るさが欠損している電球の室温から
どのくらいの明るさになりやすいかを計算
⑶.⑵で明るさが130になる確率30%のような形で
求まるので、その確率に基づいてランダムに
欠損値を選び出して代入
⑷.明るさの欠損が代入され、平均などが変わる
ので⑴から繰り返す
明るさ
室温
明るさ = 𝑎 + 𝑎 × 室温+ノイズ
という回帰式のa0とa1を求めて計算
欠損への対処(時系列データ)
●時系列データ(順番に意味のあるデータ)
時間 値1
13:00 135
13:01 134
13:02 N/A
13:03 130
・線形補間やスプライン補間
x
y
𝑦 = 𝑒 に対するプロット
線形補間が有効なケース:欠損幅が短い・欠損を含む期間で大きく変化していない
スプライン補間が有効なケース:図のような非線形な変化でかつ変化幅も大きい
欠損幅
変化量
欠損への対処(時系列ではないデータ)
データ:MAR(Missing At Random)欠損値と関連のある完全データが存在するケースについて
手法:データ拡大法(回帰式を作って他の変数から欠損値を予測
データの作成
ID x1 x2 x3 x4
1 440 450 344 9
2 366 376 500 141
3 N/A 14 222 79
4 497 507 254 226
…
1000 N/A 150 127 474
・x1,x3,x4については0~500までの整数を乱数で生成
・x2はx1と関連を持たせるためにx2=x1+10として設定
・x2が閾値以下となるときx1を欠損させた
評価したいこと
1.欠損割合と誤差の関連
2.データ数と誤差の関連
データサイズ
500 1000 10000
閾
値
(
欠
損
率
)
50(10%) 0.517 0.497 0.465
100(20%) 1.647 1.896 1.787
250(50%) 49.490 57.064 47.565
350(70%) 531.661 656.484 598.405
結果として
・データサイズを増やしたが、誤差は変わらなかった
(減ると思っていた)
・欠損率は思った通り大きくなるほど誤差は大きくなった
・急に誤差が増える場所があるのか…?
表中の値は
真の値との二乗誤差
欠損値に対する処理の所感まとめ
・有効だと考えているケース
線形補間:欠損幅が短い・欠損を含む期間で大きく変化していない
スプライン補間:図のような非線形な変化でかつ変化幅も大きい
●時系列データ(順番に意味のあるデータ)
●時系列ではないデータ(順番に意味のないデータ)
・平均値を代入する方法や最も近傍と思われる値を代入する方法、
回帰方程式を作成して回帰して代入する方法が存在するが、どれがベストかは検証が必要
・補間の性能の良さはデータサイズに依らないのではないか
・補間の性能の良さは欠損率には大いに関係がありそうだが、
欠損率と誤差の綿密な違いまでは発見できなかった
・欠損のパターンと補間方法をまとめる必要があり、
MNAR(Missing Not At Random)のような欠損値の補間のヒントになるような数値が無い場合
やカテゴリ変数にもNARに対する手法は適用できるのか検証

Contenu connexe

En vedette

元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!ReNom User Group
 
Style transfer
Style transferStyle transfer
Style transferzaburo
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門ReNom User Group
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural NetworksSeiya Tokui
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会Shotaro Sano
 
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例Takayoshi Yamashita
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAmazon Web Services Japan
 
深層学習時代の自然言語処理
深層学習時代の自然言語処理深層学習時代の自然言語処理
深層学習時代の自然言語処理Yuya Unno
 

En vedette (9)

元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!元BIエバンジェリストが語る!脱獄matplot!
元BIエバンジェリストが語る!脱獄matplot!
 
Style transfer
Style transferStyle transfer
Style transfer
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
 
AWS OpsWorksのご紹介
AWS OpsWorksのご紹介AWS OpsWorksのご紹介
AWS OpsWorksのご紹介
 
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例NVIDIA Seminar ディープラーニングによる画像認識と応用事例
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWS
 
深層学習時代の自然言語処理
深層学習時代の自然言語処理深層学習時代の自然言語処理
深層学習時代の自然言語処理
 

Plus de ReNom User Group

AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1ReNom User Group
 
ReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組についてReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組についてReNom User Group
 
ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介ReNom User Group
 
Renomロードマップの紹介
Renomロードマップの紹介Renomロードマップの紹介
Renomロードマップの紹介ReNom User Group
 
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing PlatformについてEDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing PlatformについてReNom User Group
 
AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにReNom User Group
 
ReNomDL 高速化の紹介
ReNomDL 高速化の紹介ReNomDL 高速化の紹介
ReNomDL 高速化の紹介ReNom User Group
 
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとはReNom User Group
 
ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知ReNom User Group
 
ReNom RG新機能の紹介
ReNom RG新機能の紹介ReNom RG新機能の紹介
ReNom RG新機能の紹介ReNom User Group
 
エンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代にエンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代にReNom User Group
 
バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介ReNom User Group
 
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介ReNom User Group
 
ReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリReNom User Group
 
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~ReNom User Group
 
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~ReNom User Group
 
ReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返りReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返りReNom User Group
 
ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介ReNom User Group
 

Plus de ReNom User Group (20)

AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1AI画像認識モデル開発をやってみた!#1
AI画像認識モデル開発をやってみた!#1
 
ReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組についてReNomを利活用した溶接モニタリングの取組について
ReNomを利活用した溶接モニタリングの取組について
 
ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介ReNom IMG version3.0最新情報の紹介
ReNom IMG version3.0最新情報の紹介
 
Renomロードマップの紹介
Renomロードマップの紹介Renomロードマップの紹介
Renomロードマップの紹介
 
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing PlatformについてEDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
 
AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるために
 
ReNomDL 高速化の紹介
ReNomDL 高速化の紹介ReNomDL 高速化の紹介
ReNomDL 高速化の紹介
 
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
 
ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知ReNom IMGの活用事例 + ReNom TAGの告知
ReNom IMGの活用事例 + ReNom TAGの告知
 
ReNom RG新機能の紹介
ReNom RG新機能の紹介ReNom RG新機能の紹介
ReNom RG新機能の紹介
 
ReNomDL V3の紹介
ReNomDL V3の紹介ReNomDL V3の紹介
ReNomDL V3の紹介
 
エンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代にエンジニアではなくてもAIモデル構築が可能な時代に
エンジニアではなくてもAIモデル構築が可能な時代に
 
バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介バージョンアップした「ReNomIMG」の紹介
バージョンアップした「ReNomIMG」の紹介
 
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
 
ReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリReNomIMG を使った料理名判別による栄養管理アプリ
ReNomIMG を使った料理名判別による栄養管理アプリ
 
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
 
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
 
ReNom DP&TDA
ReNom DP&TDAReNom DP&TDA
ReNom DP&TDA
 
ReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返りReNom 2016 ~ 2018振り返り
ReNom 2016 ~ 2018振り返り
 
ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介ユニアデックスのAIに向けた取り組みご紹介
ユニアデックスのAIに向けた取り組みご紹介
 

~チュートリアル第1弾~ チュートリアルの概要と事例の紹介