前処理なくしてデータ分析はできない

前処理なくしてデータ分析はできない

データ活用の有用性は社会全体で注目が高まっていますが、世の中のデータは分析用に取得されているものばかりではありません。入力過程で欠損してしまったり、想定していたデータが取れないことも多々あります。またデータの中には、画像や音声などそのままでは分析に使用できない性質のものも多いです。
実態とかけ離れたデータをインプットしてしまうようなことはあってはなりません。そうした事態を避け、データを正しく分析できるようにする重要な過程が「前処理」です。

今回は、これまでにデータサイエンティストとして働く中で感じた 前処理を通じて得られる3つの力 と、背景を汲むことを怠ればおかしなデータを見落としてしまうと考えさせられた、イレギュラーなデータに対峙したこと といった前処理にまつわるエピソードをお届けします。

前処理とは?
前処理とは、分析に入る前に収集したデータを分析に使えるように加工することで、分析工程としては必要不可欠なフェーズです。なぜ必要不可欠かというと、収集したデータがそのまま使えることは実務上ほとんどないからです。(全くと言っても良いかもしれません。)

前処理を通じて得られる3つの力

1.データセットを設計できる力

まず最初に必要なのが、分析に使用するに適したデータセットを考え設計できる力です。
受領したデータを見てどこが必要な項目か、他のテーブルとの関係性はどうか、そのままのレコード数で良いか、どの項目単位で集計する必要があるか、などを考え、使いやすく適切な形に設計することができると、後の工程が格段にやりやすいものとなります。また、後になって仕様変更や追加分析などが生じる可能性を考え、できるだけ対応が容易な形で設計することも重要です。

普段使用されているデータベースから構造・関係性の把握を徹底することで、データセットを設計する力は自然と培われていきます。

2.データを加工できる力

次に、設計した計画に沿って実際のデータを加工・集計し、計画したデータセットを実体化できる力も必要です。
この力は初学者にとってなかなかハードルの高い部分ではありますが、 データサイエンティスト協会が提供している「前処理100本ノック(https://digitalpr.jp/r/39499)」は、そのトレーニングが出来る良いツールなのでおすすめです。
実際のビジネスシーンにあるようなデータセットが例題として使われているので、ここで得たスキルや知識がそのまま業務に活かされやすいようになっています。また、同じ例題をSQL・R・Pythonと違う環境で試すことが出来るので、今まで使ったことのない言語を使い始める良いきっかけになるはずです。

3.背景を汲んで判断できる力

無事に二つの力を習得し、データセットを構築して実体化することができても、それだけでは対応できないイレギュラーなことも多く存在します。
想像の範囲を超える値やデータの件数が出てきたとき、それが誤った値なのか、妥当なものなのかを判断して然るべき対応をとることができる力が求められます。ここはこれまでの経験ですと、データを取り巻く環境や事情を把握していないと、適切に対処することが難しい場合が多いです。

自社のプロジェクトであればデータ元の担当者に聞けば事情を聴き状況を把握することは可能ですが、受託しているプロジェクトの場合、そのあたりの事情の把握が難しい場合もあり、自力で調べて補完することも少なくありません。次の章で、実際に経験したプロジェクトの中から具体例をご紹介していきます。

[ 実体験 ] おかしなデータを見落とさないためには

とあるプロジェクトで「飲食店の全店舗の売上データを毎日取得、その実績をレポーティング」していたときのエピソードです。朝一番に、前日データを取得、SQLでデータマートを作成後、レポート作成、が基本の流れでした。しかし時折、レポート化してみるとデータに異常は無いはずなのにおかしな点が出てくることがありました。例えば下記のようなケースです。

前日データが全くなかった

原因
> 店舗が改装のため休業だった
> 店舗が入っている商業施設の休業日だった
> 何らかの原因により前日実績が反映されていなかった など

前日データが1件しかなかった

原因
> 前日の処理が日をまたいでしまった
> 店舗休業日だったが前日残した処理を行った など

店舗の存在、稼働は確認できるが、データが全く出力されない店舗が出現した

原因
> データは正しいが管理方法が変わっていた
> コード形態の規則に則ってコードが変更された
> オーナー会社の変更に伴い店舗コードが変更された など

上記の現象は、1件1件のデータに不備はないためデータを見ただけでは気づくことが出来ないものです。レポートを見て異常に気付いたあとは担当者に確認したり、ネットで店舗の稼働状況を調べたりして原因を突き止めレポートの修正にあたりました。

このように、一言に前処理と言っても手元にあるデータを鵜呑みにせず、データの背景を汲みとり、おかしな点がある場合は、自ら調べたデータなどで補完を行なう必要があります。

前処理の良いところ

細かい作業が多く、分析プロジェクトにおいて注目されることの少ない前処理ですが、続けることで分析者としての成長につながる点もあります。
まず何と言っても、プロジェクトやデータ自体に対する理解が圧倒的に深まります。自社のプロジェクトでない場合、馴染みのないデータを相手にすることが多いため、これはとても大切な要素です。

もしもあなたが、分析知識をあまり持たずに前処理を担当していたとしても、受領したデータを読み込んで理解を深めることにより、その後の分析をより実行しやすくするアシストが可能です。これは後にあなた自身が分析に携わることになったときに必ず役に立つ経験となるでしょう。

またデータに触れることで、データ同士の関係性を体系的に理解することができるなど、受領データを見ることで得られることは多いです。
土台がしっかりしていないと頑丈な建物を建てることが出来ないのと同じように、前処理は分析における土台作りと言えるプロセスであり、その仕事の丁寧さが良い結果を生むものであると考えます。

大変に感じることも多々ありますが、私にとって前処理(データと向き合う時間)とは、没頭できて楽しく有意義な時間です。年末の大掃除のように、データの断捨離最適化を経て終えた後はすっきりとした気持ちになります。

他の工程にも同じことが言えるかもしれませんが、前処理を知っていると他の工程のクオリティが上がり、また他の工程で得た経験や知識が前処理のクオリティを上げてくれるのです。

物事の上達に大切なことは、自発性を持ち楽しんで取り組むことだと私は考えます。「地味」「楽しくない」「報われない」など否定的なワードで語られがちな前処理ですが、苦しい気持ちや前が見えない、報われない思いで前処理を続けている人が、この記事を読んで少しでも前向きに前処理と向き合う心持ちになっていただけたら幸いです。

この記事を書いた人

株式会社Rejoui データサイエンティスト
早坂亜紀(Aki Hayasaka)

「働きやすい組織」の実現を目指し、エンゲージメントやメンタルヘルス向上・採用支援などPeopleAnalytics領域でのデータ分析を担当。データサイエンティストである傍らで、プロのジャズシンガーとしても活動。毎月のレギュラーライブをはじめ都内ライブハウスにて活動中。

コラムカテゴリの最新記事