統計的データクリーニングの理論と実践

―Rによるデータ編集/欠測補完システム―

統計的データクリーニングの理論と実践
著者 Mark van der Loo 著・ Edwin de Jonge 著・ 地道 正行 訳・ 髙橋 雅夫 訳・ 藤野 友和 訳・ 安川 武彦 訳・ 和田 かず美
分野 数学  > 統計  > データ解析
数学  > データサイエンス
情報・コンピュータ  > プログラミング・言語  > R
発売日 2022/02/24
ISBN 9784320114630
体裁 B5・368頁
定価 6,380円 (本体5,800円 + 税10%)
  • この本の
    内容
  • 目次
  • 関連情報

統計的なデータクリーニングシステムを構築するための包括的なガイド

データクリーニングとは、入手した原データを、分析に耐えうる品質にするために、エラーや矛盾する値を検出・修正し、欠測を補完する作業のことで、データ分析においてしばしば最も時間のかかるプロセスである。公的統計分野において、この分野は「データ編集」とも呼ばれ、この50年余に多くの知見が蓄積されてきたが、一般の統計のコミュニティにおける文献は多くない。
本書は、2013年に開催された世界規模のRユーザーカンファレンスであるuseR!2013において行われたデータクリーニングのチュートリアルがきっかけとなり、オランダ統計局の研究部門に所属する著者によって書かれている。近年のビックデータ時代の到来により、調査集計を行う公的統計部局は行政記録その他の幅広いデータを取り扱うようになるとともに、より広い分野においてもデータの入手が容易になったためにデータクリーニングの要請は広がり、公的統計分野での知見はより多くの分野で役立つ可能性を持っている。
著者は、本書で紹介されるデータ検証やエラーの局所化、エラー修正のための様々な方法や欠測値の補完といった様々なデータクリーニングのためのRのパッケージの多くを開発しており、実際に使用するためのコード例も豊富に掲載され、数値やテキスト、日付等のデータの取り扱いや、数値計算時の留意点など、プログラミングに関する内容も収録されている。


本書の特徴
データ分析を行う際に、しばしば最も手のかかるデータクリーニングに焦点を当て、理論とRによる実装の双方向から解説

アドホックで、データ毎に異なるカスタムメイドのクリーニングシステムではなく、汎用性を重視した構築の方法論も解説

データの矛盾を解消し、欠測を補完するための統計的手法、バッチ処理化やデータ変遷のモニタリングについても解説


〔原著〕Statistical Data Cleaning with Applications in R、 Wiley、 2018.

第1章 データクリーニング
1.1 統計的バリューチェーン
 1.1.1 原データ
 1.1.2 入力データ
 1.1.3 有効データ
 1.1.4 統計数値
 1.1.5 出力
1.2 本書での表記法と規則

第2章 R入門
2.1 コマンドラインにおけるR
 2.1.1 ヘルプの呼び出しとRの学び方
2.2 ベクトル
 2.2.1 ベクトルの計算
 2.2.2 配列と行列
2.3 データフレーム
 2.3.1 フォーミュラ・データインターフェイス
 2.3.2 論理演算を用いた行と列の選択
 2.3.3 添字を用いた選択
 2.3.4 データフレーム操作:dplyrパッケージの利用
2.4 特殊値
 2.4.1 欠測値
2.5 データの入出力
 2.5.1 Rにおけるファイルパス
 2.5.2 パッケージによって与えられる形式
 2.5.3 データベースからのデータの読み込み
 2.5.4 Rの外部データ処理
2.6 関数
 2.6.1 関数の利用
 2.6.2 関数の作成
2.7 本書で利用したパッケージ

第3章 データの技術的な表現
3.1 数値データ
 3.1.1 整数
 3.1.2 Rにおける整数
 3.1.3 実数
 3.1.4 倍精度数
 3.1.5 機械精度の考え方
 3.1.6 浮動小数点数を使った操作での留意点
 3.1.7 問題への対処
 3.1.8 Rにおける数値データ
3.2 テキストデータ
 3.2.1 用語と符号化
 3.2.2 ユニコード
 3.2.3 よく使われる符号化方式
 3.2.4 Rのテキストデータ:文字クラスのオブジェクト
 3.2.5 Rにおける符号化方式
 3.2.6 ローカルの文字符号化方式以外の方式でのデータの入出力
 3.2.7 符号化方式の検出
 3.2.8 照合順序とソート
3.3 時刻と日付
 3.3.1 UNIXエポックからのTAI,UTC,POSIX秒
 3.3.2 時刻と日付の表記
 3.3.3 Rでの時刻と日付の保存
 3.3.4 Rでの日時の変換
 3.3.5 閏日,タイムゾーン,夏時間
3.4 ロケール設定に関する注意事項

第4章 データ構造
4.1 はじめに
4.2 表形式のデータ
 4.2.1 データフレーム
 4.2.2 データベース
 4.2.3 dplyr
4.3 行列
4.4 時系列
4.5 グラフデータ
4.6 ウェブデータ
 4.6.1 ウェブスクレイピング
 4.6.2 Web API
4.7 その他のデータ
4.8 表形式データのtidy化

第5章 テキストデータのクリーニング
5.1 文字列の正規化
 5.1.1 符号化方式の変換とユニコード正規化
 5.1.2 文字の変換と翻字
5.2 正規表現によるパターンマッチング
 5.2.1 正規表現の基本
 5.2.2 正規表現の詳細
 5.2.3 Rによる正規表現の生成
5.3 Rにおける汎用的なテキスト処理
5.4 近似テキストマッチング
 5.4.1 文字列間の距離
 5.4.2 Rにおける文字列間距離と近似テキストマッチング

第6章 データ検証
6.1 はじめに
6.2 validateパッケージの概要
 6.2.1 check_thatによるクイックチェック
 6.2.2 基本作業フロー:validatorとconfront
 6.2.3 validateとDSLに関する多少の背景
6.3 データ検証の定義
 6.3.1 データ検証の数学的な定義
 6.3.2 検証関数に対する操作
 6.3.3 検証と欠測値
 6.3.4 検証関数の構造
 6.3.5 validateにおける検証ルールの区別
6.4 データ検証関数の数学的な類型
 6.4.1 測定の詳細
 6.4.2 検証ルールの分類
6.5 validateパッケージを使ったデータ検証
 6.5.1 検証ルールとvalidatorオブジェクト
 6.5.2 パイプラインによる検証
 6.5.3 エラーや警告の発生
 6.5.4 線形等式検査の許容範囲
 6.5.5 オプションの設定と再設定
 6.5.6 検証ルールのインポートとエクスポート
 6.5.7 変数型とメタデータのチェック
 6.5.8 値の範囲と符号リストのチェック
 6.5.9 レコード内検証ルールのチェック
 6.5.10 レコード間検証ルールのチェック
 6.5.11 関数従属性のチェック
 6.5.12 データセット間の検証
 6.5.13 マクロ,変数グループ,キー
 6.5.14 出力の分析:validationオブジェクト
 6.5.15 出力次元と出力選択

第7章 データレコード内のエラー局所化
7.1 エラー局所化
7.2 Rによるエラー局所化
 7.2.1 errorlocateパッケージ
7.3 MIP問題としてのエラー局所化
 7.3.1 エラー局所化とMIP
 7.3.2 線形制約
 7.3.3 カテゴリ制約
 7.3.4 混合制約
7.4 数値的安定性の問題
 7.4.1 MIP解法の概要
 7.4.2 数値レコードの標準化
 7.4.3 数値の閾値の設定
7.5 実用上の問題
 7.5.1 信頼性ウェイトの設定
 7.5.2 条件付き検証ルールの単純化
7.6 まとめ
付録:式(7.33)の導出

第8章 ルール集合のメンテナンスと単純化
8.1 検証ルールの品質
 8.1.1 完全性
 8.1.2 不要なルールと実行不能性
8.2 論理言語によるルール
 8.2.1 ルールの書き換えにおける論理学の活用
8.3 ルール集合の諸問題
 8.3.1 実行不能なルール集合
 8.3.2 固定値
 8.3.3 冗長なルール
 8.3.4 非緩和節
 8.3.5 非制約節
8.4 検出と単純化の手順
 8.4.1 混合整数計画法
 8.4.2 実行可能性の検出
 8.4.3 実行不能の原因となるルールの探索
 8.4.4 矛盾するルールの検出
 8.4.5 部分的な実行不能性の検出
 8.4.6 固定値の検出
 8.4.7 非緩和節の検出
 8.4.8 非制約節の検出
 8.4.9 冗長なルールの検出
8.5 まとめ

第9章 ドメイン知識のためのモデルベースの方法
9.1 データ修正ルールによる訂正
 9.1.1 修正関数
 9.1.2 数値データに関する修正関数のクラス
9.2 dcmodifyを使ったルールベースの修正
 9.2.1 ファイルからのルールの読み取り
 9.2.2 修正ルールの構文
 9.2.3 欠測値
 9.2.4 逐次実行および順序非依存実行
 9.2.5 オプション設定の管理
9.3 演繹的訂正
 9.3.1 数値データの入力ミスの訂正
 9.3.2 線形制約を使用した演繹的補完
付録:方程式(9.13)の考察

第10章 補完と調整
10.1 欠測データ
 10.1.1 データの欠測メカニズム
 10.1.2 Rを利用した欠測データのパターンの可視化と検定
10.2 モデルベース補完
10.3 Rにおけるモデルベース補完
 10.3.1 simputationにおける補完法の設定
 10.3.2 線形回帰ベース補完
 10.3.3 M推定
 10.3.4 ラッソ回帰,リッジ回帰,エラスティックネット回帰
 10.3.5 分類木と回帰木
 10.3.6 ランダムフォレスト
10.4 Rを使ったドナー補完
 10.4.1 ランダムホットデック補完と逐次ホットデック補完
 10.4.2 k最近傍と予測平均マッチング
10.5 simputationパッケージにおけるその他の手法
10.6 EMアルゴリズムに基づく補完
 10.6.1 EMアルゴリズム
 10.6.2 多変量正規分布を仮定したEM補完
10.7 補完のもとでのサンプリング分散
10.8 多重補完
 10.8.1 EMアルゴリズムに基づく多重補完
 10.8.2 Ameliaパッケージ
 10.8.3 連鎖方程式を持つ多変量補完(MICE)
 10.8.4 miceパッケージによる補完
10.9 補完の分散を推定するための解析的アプローチ
 10.9.1 推定量の一部としての補完
10.10 補完法の選択
10.11 制約のもとでの値の調整
 10.11.1 数学的定式化
 10.11.2 補完データへの適用
 10.11.3 rspaパッケージを使った補完値の調整
訳者補遺

第11章 事例:小規模なデータクリーニングシステム
11.1 セットアップ
 11.1.1 決定論的な方法
 11.1.2 エラー局所化
 11.1.3 補完
 11.1.4 補完データの調整
11.2 データ変遷のモニタリング
 11.2.1 データの差分(daff)
 11.2.2 セル変更の要約
 11.2.3 検証ルールによる変更の要約
 11.2.4 lumberjackによるデータの変遷の自動追跡
11.3 任意のOSでの実行方法とスクリプトの汎用化
 11.3.1 RScriptの利用
 11.3.2 docoptパッケージ
 11.3.3 データクリーニングのバッチ処理化
訳者補遺

参考文献
R索引
用語索引

Shopping
ご注文

6,380円
(本体5,800円 + 税10%)

ネット書店で購入