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

書籍情報

発売日 : 2022年02月24日

著者/編集 : Mark van der Loo/Edwin de Jonge/地道 正行/高橋 雅夫/藤野 友和/安川 武彦

出版社 : 共立出版

発行形態 : 単行本

書籍説明

内容紹介

本書は、数値データやカテゴリデータ、文字列や日付といった様々なタイプのデータを含むファイルをクリーンにするために、公的統計の分野で長年培われてきた技術と理論を幅広くまとめ、汎用的なデータクリーニングシステムをRで構築する方法を紹介する書籍です。Rにおけるデータ表現やデータ構造に関連する技術面についても詳しく解説するとともに、個別のデータ項目に関する知識に基づくルールを用いて統計的にデータを検証し、複数の項目が絡むエラーがある場合に修正すべき最小限の項目を特定し、修正あるいは欠測の補完を行うための様々な方法論も説明しています。

目次

第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 エラー局所化と混合整数計画法
 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索引
用語索引

著者情報

Loo, Mark van der, 1976-
mark van der loo
edwin de jonge
Jonge, Edwin de, 1972-
地道 正行
地道, 正行
髙橋 雅夫
髙橋, 雅夫
藤野 友和
藤野, 友和, 1974-
安川 武彦
安川, 武彦
和田 かず美
和田, かず美