欠損値や外れ値の設定、数量データをカテゴリーデータに変換、データの並べ方の変更などいわゆるデータハンドリングについて思うところをまとめておきます。
データハンドリングは、データ解析のなかでも最も大事
今更強調して言うことでもないかもしれませんが、データ解析でもっともややこしく、ミスしやすいがミスできないのがデータハンドリング作業です。
データサイエンティストの小副川 健氏がZDNetの記事でも述べているように、たくさんのデータを統計解析にかける場合、統計解析そのものよりもデータハンドリングに時間がかかります。japan.zdnet.com
データハンドリングの方法
統計解析の前段階での処理をすべてデータハンドリングと考えると、この段階の手続きとして以下の2つが考えられます。
私としては、後者のやり方を強く推奨したいです。いくつか理由があります。
間違いを見つけやすい
どんな作業でも間違いは起きます。例えばタイプミスです。データを直接操作した際に起きたミスは、元データとの比較に手間がかかり、ミスを見つけにくいです。これとは対照的に、スクリプトにおけるタイプミスは、そもそもスクリプトがうまく走らずにエラーが出るので、すぐに気づきます。また、元データとの比較もスクリプトで行えば、比較的シンプルな操作ですみます。
データ処理過程のすべてを記録し、完全な再現ができる
手作業の作業内容もすべてログにとればいいのですが、作業自体とログが別になるため、手間がかかります。一方、スクリプトを利用すると、スクリプト自体が作業ログを兼ねているので、余計な手間がかかりません。
このポイントについてはOno Keiichiro氏のスライドでより詳細に議論されています。