データサイエンスやデータ分析と言うと、難しいアルゴリズムなどを使って驚くようなインサイトを導き出すというイメージがあるかもしれません。
しかし、実はデータサイエンスの80%ほどの時間は「データラングリング」というデータの整形や加工作業に費やされています。
一部では「前処理」と言われたりもしますが、例え「前処理」が終わったきれいなデータであっても、データを分析する際に次から次へと出てくる様々な質問に答えるためには、データの形を柔軟に変え、様々な計算処理を行っていく必要があります。
ここで、実際に例を2つほど見てみましょう。
下にあるのはユニコーン企業とその投資家(Select Investors)のデータです。投資家の列を見ると、同じSoftbankでも別々の表記になったデータが入っています。
ここで問題となるのは、投資家の件数を集計しようとした際に、表記が異なることで別々な「投資家」として数えらてしまうということです。
こういった場合は、同じ意味を表す値を同じ文字として揃える必要があります。一般的には「名寄せ」などと呼ばれます。
Exploratoryでは「テキストデータの加工」のUIを使って名前を揃えることができます。
下にあるのはAppleが公開している世界の移動傾向データです。このデータは日ごとに値があるのですが、それぞれの日が列となっているため、横に長くなっています。
このデータを使って、ラインチャートで移動傾向を可視化したいとしましょう。
しかし、このデータは日ごとに列があるために、X軸に対して日付列を割り当てることができず、時系列の推移を可視化できません。
こうした問題は、日付ごとに列が分かれている横長のデータを、日付と値の2列にまとめた縦長のデータに変換することで解決できます。
一度縦長のデータにすると、後はそれぞれの列をチャートに割り当てるだけで、移動データの日毎の推移を簡単に可視化できるようになります。
Exploratoryでは、「ワイド型からロング型へ変換」のUIを使ってこうしたデータの形を簡単に変えることができます。
Appleの移動傾向データのように、データの形を「横持ち」から「縦持ち」のデータに変えることで可視化ができるようなり、データから知識を得られるようになっていきます。
上記の2つの例で見てきたように、必要に応じて様々なデータラングリングの手法を使ってデータを柔軟に、そして素早く加工、整形することができれば、データの分析、可視化のレベルが一気に上がり、よりクオリティの高いインサイトをデータから導き出すことができるようになります。
それではデータラングリングのスキルを習得、さらに向上するためにはどうしたらいいのでしょうか。
そこで次に挙げる6つのステップ(参照)が参考になると思います。
データラングリングの最初のステップは、手に入れたデータをじっくりと観察し、どういった情報が含まれているかを理解します。その上で、このデータを使って何を知りたいのか、そのためにはどのようにラングリングすればいいのかの道筋を作ります。
このステップでは、データを可視化や分析などの目的に合わせてデータの持ち方整えることを意味します。例えば、データの持ち方を横持ちから縦持ちに変えたり、一つのセルに含まれている複数の値を行や列に分割するなどの作業を含みます。
このステップでは、データに不必要な情報や必要以上にある情報を削ぎ落とし、データを綺麗に整えていくことを意味します。データには表記揺れや欠損値、外れ値が含まれていることがありますが、それらを整えていくことで分析した際の正確性を向上させます。
データが綺麗に整えられた後でも、分析の準備が整っているとは限りません。別のデータと紐づけたり、新たな計算処理を行うことで、データが持つ価値を向上させ、より深い分析ができるようになります。
データを整形したり、追加の計算処理を加えたりといったデータラングリングのタスクが一通り終わった際に気をつけなくてはいけないのは、そのデータの品質です。間違いがないのか、期待通りのデータとなっているのかを実行結果を元に検証する必要があります。
必要なデータを作り上げることができたなら、たいていの場合はそのデータを他の人たちと共有し、さらなる分析やレポート作成へと進んでいくことになります。この際に、他の人達から追加のデータの加工や計算に関する要件がよく入ってくるものです。また、これまでに作り上げたデータラングリングのプロセスを新しいデータに対して適用して欲しいといったリクエストも上げってきたりします。
そうした際に重要なのは、データラングリングの再現性です。これまでに行ったデータ加工や計算のプロセスをいつでも流し直すことができ、さらに他のデータに対して使えるようになっていれば、チーム全体でのデータラングリングにかかる時間は圧倒的に短縮でき、そのことで分析やレポート作成のスピードが一気に上がることとなります。
こうした6つのステップを通して、データを自由自在に扱い、データラングリングを効率的にこなしていけるようになれば、あなただけでなく、チーム全体のデータサイエンス力が一気に上がります。
データラングリングの話はデータサイエンスの話をする際に無視されがちですが、データラングリングはデータサイエンスの中でも特に重要なスキルなのです。