ビッグデータ活用が叫ばれるようになって久しい。ソフトウェア企業や流通大手はもちろん、金融業や公共サービスの場面でもビッグデータは事業戦略上重要な武器となっている。ビジネスにおいて多くの商品や顧客と関わる限り、ビッグデータを無視できる領域は存在しないといっても過言ではない。
では、ある日突然「ビッグデータを活用しろ」と言われて有効な手段を選べる人はどれだけいるだろうか? プレゼンのためにデータ分析をしてグラフを作る、というのはよくあることだが、ビッグデータは同じ手順で分析ができるのだろうか? そもそも効果的なグラフとは何なのか?
文章の書き方は学校で教わることもあるだろうが、グラフの作り方を学んだという人は少ないだろう。そんな人でも慌てることがないように、データの可視化=ビジュアライゼーションについて理解していこう。
データ分析のトラブル例
分析のために情報を集めることは日常的に行われている。それは顧客へのアンケートやPOSシステムから得られる購入状況、自社製品の利用データなど多岐にわたる。
インターネットの普及により量、種類ともに大規模なデータを容易に集められるようになった。しかし、そんな豊富なデータも使い方を知らなければただの数字の羅列と化してしまう。よくあるデータ分析の失敗を見ていこう。
ケース1:データ量が多すぎる
by Marc_Smith 大量に集めたデータはコンピュータ―で処理されるが、どのデータをどのように分析するかは人間が決めなければならない。そのとき、多角的に捉えたはずのデータをどのように処理させればいいのかわからない、といったことは起こり得る話である。手当たり次第に組み合わせるのも一つの手だが、それではとても効率的とは言えない。
あるいはそもそもデータ量が多すぎてパソコンでは処理しきれない、といったことも考えられる。大規模なコンピュータ―システムなんてよほどの大企業しか持っていないだろうし、かといって専用マシンを新たに導入するのはコストが高すぎる。
これらの問題を解決するためには自動化、継続性、低コストを兼ね備えた環境が必要となる。そのような都合のいい環境など存在するのだろうか?
ケース2:表を眺めても特徴が見えない
集めたデータを種類ごとに取りまとめて表にすることはデータ分析の基本的な作業だ。数値を適切にソートして組み合わせることでデータ内の傾向を分析することができる。
しかし、データを表で分析することには欠点も多い。第一に直感的でないことだ。数字の大小がはっきりしている場合はどこに注目すべきかがわかりやすいが、そうでない場合は数値を良く見比べなければならない。
第二に扱えるデータ量が限られてしまうことが挙げられる。2×2程度の表であればまだ理解できるが、ビッグデータでは数百項目にわたることも考えられる。また、二次元の表だけで扱えるとも限らない。
ビッグデータに対して表を用いて分析することは無謀なことだといえる。ではどのようにして分析すればいいのだろうか?
ケース3:効果的なグラフがわからない
大量のデータを視覚的に理解できるようにする手段がグラフだ。形と色でデータを表現することで、そのデータに詳しくない者でも直感的に理解できる。
しかし、データに合わせてグラフの種類を適切に選択できているだろうか? 多すぎる項目数のためにかえって見にくいグラフを作ってはいないだろうか?見た目の派手さにこだわって理解しにくいグラフになってはいないだろうか?
どのように見せればより伝わりやすいかを考えることはデータ分析において重要なことである。しかし、分析結果と表現方法は互いに深く関係しあうことも多い。結果もわからないうちから適切な表現方法を選ぶことなどできるのだろうか?
適切な分析手法で効率化を達成
ここまで様々なトラブルを紹介したが、いずれの場合も共通の目的から課題が発生している。すなわち効率化だ。可能な限り時間と労働力を掛けずに分析をするために多くのトラブルを解決する必要性が生まれるのだ。ここからは有効な効率化の手法を紹介していく。
クラウド上の機械学習で自動化
適切な分析を継続して行うことは人間には負担が大きすぎる。そこで使われるのが機械学習だ。与えられたデータから規則性を分析し、自動的に分類を行うことができる。
一般に機械学習では計算効率上昇のためにGPUを用いている。GPU向けの分析ツールを自前で準備するには金銭的にも技術的にも難しいものがある。
しかし、自社に大規模なコンピュータ―システムがなくても、クラウドコンピューティングを利用すれば、各プラットフォームに適したツールで機械学習を行うことができる。
MicrosoftのクラウドプラットフォームであるAzureで提供されている機械学習サービスが好例だ。
出典:azure.microsoft.com グラフィカルにノードをつなぎ合わせることで機械学習が行えるため、非エンジニアでも気軽に始められる。しかし、継続して大容量のデータを扱うとなればそれなりの料金が発生する。続ける意味があるのか、投入するコストに見合う効果があるのかを慎重に検討する必要があるだろう。
グラフを使い分けて理解しやすく
扱うデータの種類によって適切なグラフの種類も変わってくる。例えば、カテゴリーごとに何らかの量を比較したいときには棒グラフが効果的だ。
表の形でデータ分析を行う際、マス目ごとの数字に合わせて色付けを行うことで視認性を高めることができる。数値に合わせて図に色を対応させたものをヒートマップという。
by phylofigures そのほかに、割合を表現する際は円グラフを、時系列ごとのデータの推移を表すには折れ線グラフを用いる。他にもノードやバブルチャートといった表現方法もある。
どのグラフを採用する場合でも、重要なのは分かりやすさだということを忘れてはならない。判別のつきにくい色の組み合わせや3D効果などの無駄な装飾は使わない方がよい。
今すぐ始められるビジュアライゼーション
データを見やすく加工するには高度なツールが必要だと考える方もいるだろう。確かに、専門的なデータを扱うにはそれに特化したツールを用いることもある。対象がビッグデータであればよりその傾向は強い。
しかし、身近なツールからでもビジュアライゼーションは始められるのだ。本格的にビッグデータを扱う前に以下のツールで試してみるのもいいだろう。
Excelからでもビジュアライゼーションは始められる
出典:products.office.com データ分析に使われるツールとして最も一般的なのは「Microsoft Excel」だろう。しかし、Excelでビジュアライゼーションといわれてもピンと来ない方も多いだろう。
日常の業務でグラフをまとめることはあっても、それをビジュアライゼーションと意識することが少ないからだ。実はExcelには豊富なグラフ描画機能があり、それらを活用することで十分にビジュアライゼーションを行うことができるのだ。
柔軟性は乏しいが、ある程度形が整ったグラフを簡単に作ることができるのは大きな特長である。VBAを駆使すれば自動化もできるだろう。ただし、グラフの設定が標準のままではよけいなエフェクトが付いてしまうことがある。また、入力できるデータ数にも上限があるので注意して扱うべきだろう。
ウェブブラウザ上でグラフを書けるD3.js
ウェブページ上にグラフを描画するためのJavaScriptライブラリが「D3.js」だ。
出典:d3js.org 多様なグラフを簡単に記述できるのみならず、キーボードやマウス入力に応じてグラフを変化させることもできる。これはD3.jsがHTML5やJavaScriptの機能をフル活用できることによるものである。データベースと連携したり、インターフェースを追加したりすることが容易なため、近年人気が非常に高まっている。
D3.js自体の機能が極めて多様なため、使いこなすには時間がかかるかもしれない。しかし、全ての機能を理解できなくとも、グラフ描画自体は簡単に行えるため、新たな表現を模索している人にはお勧めである。ウェブベースの技術を使っていれば組み込むこともできるだろう。
ビジュアライゼーションで重要なのは分かりやすく、効率的に伝えることである。確かに派手なグラフは注目を集めるかもしれないが、装飾に時間をかけてしまっては意味がない。ましてや大量のデータが溢れる現代、悠長に装飾を考える余裕などないのだ。ビッグデータを活用するコツは自動化することに集約されるだろう。
U-NOTEをフォローしておすすめ記事を購読しよう