【データサイエンティストの基本】EDA(探索的データ分析)とは?重要性や探索タイプなどを解説
近年は、様々なデータが収集され、活用されています。
そんな中で、データサイエンティストと呼ばれる職業の需要も増して来ました。
データサイエンティストは、膨大なデータを扱うことでデータマイニングや機械学習を進めていきます。
彼らの目標は、データを分析することでこれまでは見えてこなかった相関性を発見したり、過去の傾向から未来の予測モデルを構築したりといったものです。
近年では、データサイエンスの知見を課題解決や意思決定に活用する流れも活発になりました。
こうした目標を達成するために、データサイエンティストがまずおこなうのが、これから扱うデータの特徴を把握することです。
データの特徴を可視化する手法は数多くありますが、なかでも「EDA(探索的データ分析)」は、現在のデータ分析を支える主要なメソッドです。
この記事では、EDAがどのような手法なのか、重要性や実行の流れ、基本となる4つのタイプから解説していきます。
更に、EDAを実行するツールとしてメジャーなPythonライブラリを紹介します。
EDAとは
まずは、EDAがどのようなものなのか、その重要性と合わせて解説します。
データ分析の手法
EDA(Exploratory Data Analysis)は、データサイエンスにおける手法のひとつで、日本語では「探索的データ解析」と呼ばれます。
EDAの目的は、データを解析する際に、モデルありきで進めるのではなく、そのデータから何が読み取れるのかを解析し、データ構造を明確にすることです。
そこでは、情報をまとめ、関数グラフや散布図などに落とし込むことで、雑多なデータの特性を把握していきます。
EDAは1960年代から統計学の分野で活用が進められ、膨大なデータからの予期せぬ発見を可能にし、仮定の提案・評価を支援する手法として広まりました。
現在ではAI開発の基礎となるデータマイニングや機械学習モデルの構築を実現する技術としても知られています。
ビジネスにおいても、データ分析を通して現状把握から問題解決、新たな戦略の立案にEDAが役立っています。
EDAは現在のデータサイエンスを支える手法であるため、NumPyをはじめとするPythonライブラリを中心に、さまざまなツールが開発・配布されています。
EDAの重要性
データサイエンスの目標は、データ分析を通して仮説を立て、予測モデルを構築することです。
この一連のプロセスにおいてEDAは、仮説・前提条件を立てる以前のデータ観察に用いられます。
従来の仮定検定と違ってEDAには、外れ値の検出、目立ったエラーの発見などにより、データ構造を明確にする効果があるため、データから有用な関連性を発見できるのです。
このように、データサイエンスにEDAを用いることは、より洗練されたモデル構築を可能にする、重要な手法といえます。
そのほかのデータ分析手法
データ分析では、目的によってEDA以外にもさまざまな手法を選びます。
まずデータ分析の基礎として、データ量や平均、標準偏差、最大値・最小値などをまとめる「記述統計」があります。
記述統計はEDAでも「観察」のプロセスで実施する、基本的な統計手法です。
次にデータ構造から一定の傾向を発見して未来の予測に役立てる「予測モデリング」では、統計モデルを作成して今後の市場動向を考える場面でも活用されています。
ちなみに、こうしたデータ分析やデータマイニングの結果を企業の意思決定に活用することを
「ビジネスインテリジェンス(BI)」
と呼び、多用な分析手法、ツールが存在します。
EDA実行の流れ
EDAの実行方法は「観察」と「集計と可視化」に分けられます。
ここでは2つのプロセスについて、内容を簡単に解説します。
観察
まずはじめに、分析対象のデータがどれくらいの量があるのか、どんな要素がどのように含まれているのかを観察します。
扱い慣れたデータでは飛ばしてしまうこともありますが、初見のデータでは基本的なデータ探索として、このプロセスが重要です。
例えば、「利益率」というデータが分析対象にあった場合。
「利益率の平均」を単純に計算するのか。
それとも、利益の額と売上の額をそれぞれ足し合わせ、その後「利益÷売上」で利益率を出すのか。
この2つは意味合いが大きく違ってきます。
前者は、店舗単位などの平均利益率を出す際には利用される可能性がありますが、全社的に実質の利益率を出すには後者が必要です。
このように、
1.その数値が何を意味しているのか
2.それをどう分析したいのか
ということを考慮するためにも、データの意味合いを理解する必要があり、観察が必要になるのです。
具体的には、ツールを使用してデータフレームの冒頭と終盤を表示して、含まれている要素やデータ量などを確認します。
データ量と要素が確認できたら、データの平均や標準偏差、最大値・最小値などを計算して、対象のデータがどのような分散を持っているかを把握します。
データの特性や分析の目的によっては、さらに詳しく観察したり、データを整理(データクレンジング)したりといった操作をおこないます。
この段階でも、データの中に有用な相関性を発見することも可能です。
合わせて、要素の欠損など、データ不備がないかもここで確認します。
集計と可視化
観察を済ませたら、ツールを用いてデータの集計と可視化をおこないます。
観察のプロセスでもある程度の情報は得られますが、ここではグラフなどを用いてより詳しく分析していきます。
EDAでよく用いられるグラフにはヒストグラムや散布図などがあります。
まずヒストグラムとは、データの分散を視覚化した柱状グラフで、縦軸に度数、横軸に階級をとるものです。
グループ・特徴量ごとにヒストグラムを作成することで、データをそのまま眺めているだけでは発見できない相関性が分かります。
次に散布図は、2つの度数を縦軸と横軸に配置し、要素を点で分布させることで、2つの特徴量の相関関係を調べるツールです。
ヒストグラムと散布図だけでも、さまざまな関係の発見が可能です。
データ分析ではさらに多面的にデータを調べていくために、データにフィルタリングをかけて特定の要素を見ていくことになります。
EDAではほかにも、箱ひげ図やパレート図、幹葉図、ヒートマップなど、多くのグラフ技法が用いられます。
EDAの4つのタイプ
EDAは、扱うデータの変数によって4つの基本的なタイプに分けられます。
それぞれのタイプについて、概要と実施する分析を解説します。
単変量非グラフィカル
EDAにおいてもっとも単純なタイプが
「単変量非グラフィカル」
で、分析の対象となるデータが1つの変数だけで構成されています。
変数が1つしかないため、分析の際に、事象の原因や、要素どうしの関連性には注目しません。
単変量非グラフィカルでの分析は、データのなかにパターンを見いだすことを目指します。
単変量グラフィカル
「単変量グラフィカル」では、対象のデータの変数が1つだけというのは変わりません。
しかし非グラフィカルではデータの全体像が把握できないため、変数の依存関係を明らかにするグラフィカルモデルを用いて分析を進めます。
このタイプでは「集計と可視化」のプロセスでヒストグラムや幹葉図、箱ひげ図などを用いて、データを視覚的に把握できるようにします。
多変量非グラフィカル
「多変量非グラフィカル」は、対象のデータが複数の変数で構成されているタイプです。
このタイプでは、変数どうしの関係性を表すために、クロス集計を主に用います。
クロス集計とは、データを整理して可視化する際に、2つ以上の観点からまとめる手法で、アンケートの回答内容が列に、回答者の年齢層が行に配置された表が典型的な例です。
多変量グラフィカル
複数の変数で構成されるデータを分析して、グラフィカルモデルを用いて可視化するタイプが「多変量グラフィカル」です。
このタイプでは、いくつもの要素の相関関係を把握するために、棒グラフや散布図を用いて多面的に可視化していきます。
その他、要因と結果の関係をまとめた多変量グラフ、時間経過による変化を表したランチャート、散布図にもうひとつ尺度を加えて円の大きさで可視化したバブルチャートなどが用いられます。
EDAで活用されるツール
データ分析には、目的や分野ごとに多様なツールが存在します。
ここでは、数あるデータ分析ツールのなかで、特によく使用されるものを紹介します。
NumPy
データ分析でもっとも有名なツールは、Pythonのライブラリである「NumPy」でしょう。
1995年のリリース以降、データ分析や機械学習、数値計算に欠かせないツールとなっています。
多次元配列を操作する強力な機能に加え、数値計算に必要なあらゆる関数を備えたNumPyは、膨大なデータを高速で処理することができます。
NumPyにはさらに、AIや機械学習を実装するうえで有用な関数も持っており、現在の機械学習を支えるツールでもあります。
発表から20年以上が経過し、世界中で採用されているため、日本語による情報が充実しているのも利点です。
Pandas
Pandasもデータ分析に欠かせないPythonライブラリで、主に観察のプロセスで用いられる、人気の高いツールです。
一般的にデータの観察は時間のかかるプロセスですが、独自のデータフレームを多数備えているPandasを使えば効率的に作業を進めることができます。
特に表データをSQLのように操作できる点や、集計結果を表計算ソフトに出力できる点が特徴です。
なおPandasはNumPyベースのツールであるため、この2つをセットで使うことが多いです。
matplotlib
matplotlibは、Pythonのグラフ描画ツールです。
EDAでは、データ分析の結果をさまざまなグラフを用いて可視化しますが、matplotlibは、そのプロセスを実行するためのツールで、折れ線グラフやヒストグラム、散布図といった二次元グラフから、複雑な3Dグラフまで作成することができます。
matplotlibには、さまざまな目的に合致する多用なライブラリが存在しており、用途ごとにそれらをインストールして利用します。
BIツールの導入はAMELAに
今回は、データ分析に用いられるEDAについて解説してきました。
今後は、多くの企業で
「単にデータとして収集していた情報を、いかに活用していくのか」
ということが注目されるでしょう。
売上データや顧客データはあるものの、うまく活用できていない・経営方針に反映できていないという企業様は多いです。
反対に言えば、上手くデータを活用することができれば、これまでよりも効率的にビジネスを進められる可能性があります。
最近は多くのBIツールも出てきているので、是非導入を検討してみてはいかがでしょうか。
AMELAでは、お客様の状況を細かくヒアリングした上で、最適なツールのご紹介や導入の支援をさせていただきます。
場合によっては、専用のツールの開発もご提案いたします。
特に
「うちの業界は特殊だから、一般的なツールでは対応しきれない」
という場合には、是非ご相談ください。