Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
simputationで
欠損値補完
第65回R勉強会@東京
1
@gepuro
自己紹介
• @gepuro
• 本業:ネット広告の分析
• 副業:Hoxo-M Inc.
• 趣味: サッカー,トライアスロン
• 著書
2
{simputation}
• 欠損値補完を良い感じにやってく
れるパッケージ
3
データ例
4
データの作り方
5
重回帰分析で補完
6
補完後
7
解説
• Sepal.Length を Sepal.Width と
Speciesで重回帰する
• 説明変数のいずれも欠損してない
場合にSepal.Lengthを重回帰で欠
損値補完する
8
impute_lm(dat, Sepal.Leng...
表で理解
Sepal.Length(目的変数) Sepal.Width Species
NA 3.5 setosa
NA NA setosa
NA 3.0 NA
9
impute_lm(dat, Sepal.Length ~ Sepal.Wid...
Q. 補完できな場合は?
10
A. 説明変数を減らす
表で理解
Sepal.Length(目的変数) Sepal.Width Species
NA 3.5 setosa
NA NA setosa
NA 3.0 NA
11
impute_lm(dat, Sepal.Length ~ Sepal.Wi...
中央値での補完
12
複数パターンの欠損の場合
13
%>%でつなげる。{dplyr}の利用
impute_ほげほげ
• impute_cart
• impute_const
• impute_em
• impute_en
• impute_knn
• impute_lm
• impute_median
14
• impute_mf
•...
%>% の 代わりに %>>% を使う
補完のロギング
• 欠損値をどのように補完したかを
振り返るようにする
15
{lumberjack}の利用
cellwise.csv に保存される
サンプルコード
16
cellwise.csv
項目名 意味 中身
Step ? 1
Time 実行時刻 2017-09-23 15:14:07 JST
Expression 補完に利用したメソッド impute_lm(Sepal.Length
~ Sepal.Wi...
{simputation}で
快適な欠損値補完
ライフを
18
参考
• http://schd.ws/hosted_files/user2017
/e8/user2017markvanderloo.pdf
• https://github.com/markvanderloo/si
mputation
• ...
告知
20
Japan.R 2017
• 運営メンバーの募集
• https://r-wakalang.slack.com
– #japan-r で開催準備をしてます
• 気軽に覗いてください!!
21
2017年12月2日 開催決定
Upcoming SlideShare
Loading in …5
×

simputatoinで欠損値補完 - Tokyo.R #65

2,176 views

Published on

simputatoinで欠損値補完

Published in: Technology
  • Be the first to comment

simputatoinで欠損値補完 - Tokyo.R #65

  1. 1. simputationで 欠損値補完 第65回R勉強会@東京 1 @gepuro
  2. 2. 自己紹介 • @gepuro • 本業:ネット広告の分析 • 副業:Hoxo-M Inc. • 趣味: サッカー,トライアスロン • 著書 2
  3. 3. {simputation} • 欠損値補完を良い感じにやってく れるパッケージ 3
  4. 4. データ例 4
  5. 5. データの作り方 5
  6. 6. 重回帰分析で補完 6
  7. 7. 補完後 7
  8. 8. 解説 • Sepal.Length を Sepal.Width と Speciesで重回帰する • 説明変数のいずれも欠損してない 場合にSepal.Lengthを重回帰で欠 損値補完する 8 impute_lm(dat, Sepal.Length ~ Sepal.Width + Species)
  9. 9. 表で理解 Sepal.Length(目的変数) Sepal.Width Species NA 3.5 setosa NA NA setosa NA 3.0 NA 9 impute_lm(dat, Sepal.Length ~ Sepal.Width + Species) 補完できる 補完できない 補完できない
  10. 10. Q. 補完できな場合は? 10 A. 説明変数を減らす
  11. 11. 表で理解 Sepal.Length(目的変数) Sepal.Width Species NA 3.5 setosa NA NA setosa NA 3.0 NA 11 impute_lm(dat, Sepal.Length ~ Sepal.Width) 補完できる 補完できない 補完できる
  12. 12. 中央値での補完 12
  13. 13. 複数パターンの欠損の場合 13 %>%でつなげる。{dplyr}の利用
  14. 14. impute_ほげほげ • impute_cart • impute_const • impute_em • impute_en • impute_knn • impute_lm • impute_median 14 • impute_mf • impute_pmm • impute_proxy • impute_rf • impute_rhd • impute_rlm • impute_shd
  15. 15. %>% の 代わりに %>>% を使う 補完のロギング • 欠損値をどのように補完したかを 振り返るようにする 15 {lumberjack}の利用
  16. 16. cellwise.csv に保存される サンプルコード 16
  17. 17. cellwise.csv 項目名 意味 中身 Step ? 1 Time 実行時刻 2017-09-23 15:14:07 JST Expression 補完に利用したメソッド impute_lm(Sepal.Length ~ Sepal.Width + Species) Key cellwise$new(key=“id”) で指定したkey 1 Variable 変数名 Sepal.Length Old 変更前 NA new 変更後 5.07657863284595 17
  18. 18. {simputation}で 快適な欠損値補完 ライフを 18
  19. 19. 参考 • http://schd.ws/hosted_files/user2017 /e8/user2017markvanderloo.pdf • https://github.com/markvanderloo/si mputation • https://cran.r- project.org/web/packages/simputati on/vignettes/intro.html 19
  20. 20. 告知 20
  21. 21. Japan.R 2017 • 運営メンバーの募集 • https://r-wakalang.slack.com – #japan-r で開催準備をしてます • 気軽に覗いてください!! 21 2017年12月2日 開催決定

×