データ分析への取り組みを強化する会社や職場が増えています。しかし、実際に成果を上げるのは容易ではありません。手当たり次第にデータを集めて分析しても、有益な結果は導き出せません。

 本講座では、事業拡大や業務効率化に本当に役立つデータ分析の方法を、初心者にも分かりやすいように解説します。第1回でデータ分析の全体像を取り上げ、第2回以降はデータ分析ソフト「KNIME」を使いながら具体的な手順を説明します。

 KNIMEはオープンソースソフトウエアとして公開されており、無料で利用できます。実際に操作しながら、分析手法を身につけられます(図1)。

図1●オープンソースの分析ソフト「KNIME(ナイム)」の画面
[画像のクリックで拡大表示]

業務が分かっている人こそ、データ分析に向いている

 では早速、第1回の内容に入ります。今回はまず、データ分析のプロセスについて考えてみましょう。皆さんは、データ分析はどんな人がするものだとお考えですか。「データサイエンスの知識を持った人が望ましい」と思っている方が多いかもしれません。

 もちろんその通りなのですが、筆者はそれよりも重要な知識があると考えています。それは業務の知識です。これまで数多くの企業のデータ分析プロジェクトに携わってきましたが、業務の知識の必要性を痛感しています。

 例えば製薬会社で医薬品開発のためにデータ分析をする場合、薬学の知識が必須です。またデパートで購買分析をする場合には、そのデパートの特徴やマーケティングの知識が求められます。

 つまりデータ分析は、データサイエンスの専門家だけの仕事ではありません。現場の業務がよく分かっている人こそ、手掛けるべき仕事なのです。

 では、そうした人はどのように分析の知識を学ぶのでしょうか。既に有償の分析ソフトを導入している会社では研修などが用意されているかもしれません。しかし突然会社から「専門部署を作るからデータ分析の取り組みを始めてほしい」と言われた場合は、分析の教科書を買ってきて見よう見まねで始めるのではないでしょうか。

 筆者はこうした人から、「会社で分析チームを立ち上げたがうまくいかない」という相談をよく受けます。実際にどのように分析に取り組んでいるかを聞いてみると「機械学習の教科書に書いてある通りに、用意したデータを学習させてモデルを作ってみた。しかし思うような精度が出ない。教科書には失敗したときのことが書いていないからどうしてよいか分からない」と言います。

 こうした事態は「データ分析のプロセス」を意識していないために起こります。

手順に沿って分析を進める

 データ分析のプロセスとは、データ分析を進めるための手順のことです。例えばシステム開発をする場合は、「開発プロセス」と呼ばれる手順に従って作業を進めます。まずシステムの要件定義書をまとめ、次に設計書を作る、といった形です。

 データ分析も同様のプロセスに沿って進める必要があるのですが、多くの会社でそのことが認識されていません。普段システム開発に携わっている人も、データ分析になったとたん、プロセスを考えずに手元にあるデータをいきなり学習させてしまいます。それではうまくいくはずがありません。

 データ分析の世界で標準的に用いられているのが、「CRISP-DM(Cross-Industry Standard Process for Data Mining)」という分析プロセスです(図2)。CRISP-DMに従って作業を進めれば、予測精度が出ない場合にはどうすればよいかが分かります。何より、いきなり学習モデルを作ることから始めるのではなく、ビジネスの理解から始める必要があることも理解できます。

図2●CRISP-DMの反復プロセス
(出所:CRISP-DM Consortium)
[画像のクリックで拡大表示]

 簡単に説明すると、CRISP-DMには以下のプロセスがあります。

1. ビジネスの理解
 ビジネスの背景を理解し、ビジネス上の問題点を明確にする。そして何を分析して何を解決したいのかを検討し、分析プロジェクトの目標を決める。

2. データの理解
 データの内容を理解し、分析の目的に合ったものになっているか、余分なデータが入っていないかなどを確認する。

3. データの準備
 データの理解で確認した内容にあわせてデータを準備し、加工する。

4. モデリング
 分析に適したモデリング手法を選択し、「予測」「判別」「分類」といった作業をする。

5. 評価
 分析プロジェクトの目標を達成しているか評価する。

6. 展開/共有
 分析結果を生かした具体的なアクションに起こす。例えば何らかの予測や判別をするのであれば、データ分析の結果を基に予測や判別を実行するシステムを開発する。機械の故障要因を分析した場合は、故障を防ぐためのマニュアルを作るなど、その要因を取り除くための策を講じる。

 以上のCRISP-DMのプロセスは、一方通行ではありません。4.のモデリングがうまくいかない場合には、3.のデータの準備に戻る。5.の評価でプロジェクトの目標を達成しない場合には、1.のビジネスの理解に戻るといった具合です。1.~5.のプロセスを、繰り返し実行することもあります。

 最近では、「ディープラーニングの導入ありき」でプロジェクトがスタートすることもあるようです。しかしCRISP-DMに従うのであれば、1.ビジネスの理解でビジネスの問題を洗い出すことが最初の作業になります。

 まず問題を洗い出し、その問題解決に必要データがあるのかを確認する。それから適切なモデリングを検討し、ディープラーニングが必要と判断すれば採用する。いきなり全ての問題に取り組むのでなく、最も解決しやすい問題からプロジェクト目標を決定して少しずつ成功事例を積み重ねる。こうしたアプローチが重要です(図3)。

図3●CRISP-DMでは問題の洗い出しから始める
[画像のクリックで拡大表示]

プログラミング未経験でも使えるツールがある

 最後に、分析に使用するソフトウエアの選択方法について解説します。

 選択のポイントの1つが、オープンソースのソフトウエアを使用するかどうかです。会社によってはセキュリティの観点や品質保証の観点でオープンソースを使用できない会社もあります。その場合には有償の分析ソフトウエアを選ぶことになるでしょう。

 オープンソースでもよい場合には、自社で分析用のプログラムを書くかどうかを検討します。現在では、Pythonを代表とするプログラミング言語を使って利用できるデータ分析用のライブラリーが多数公開されています。これらを活用すれば、様々な分析を実行できます。

 しかし、ソフトウエア開発者ではない現場のデータ分析担当者にとって、プログラミングから始めるというのは時間や手間がかかります。心理的にもハードルを感じる人が多いのではないでしょうか。

 その場合は、グラフィカルなユーザーインターフェースを備えた分析ソフトが利用できます。プログラミングの知識を必要としないため、プログラミング未経験者でも扱いやすいのが特長です。

 だからといって初歩的な分析しかできないわけではありません。筆者のようにデータ分析を専門とするアナリストも、グラフィカルなユーザーインターフェースを持った分析ソフトを使用しています。データ分析ができる人材を早く育成できますし、分析ソフトの画面をみれば分析の内容や進捗状況が把握しやすいため、チームでデータ分析に取り組む上では便利なのです。

 次回以降は、筆者も使用しているオープンソースの分析ソフト「KNIME (ナイム)」を使って解説を進めます。

太田 佳秀
日立産業制御ソリューションズ 情報システム本部 AI&ビッグデータソリューション部 AI&ビッグデータソリューションセンタ 技師
太田 佳秀 八代学院大学(現神戸国際大学)経済学部卒業後、日立産業制御ソリューションズ入社。金融システム部門で金融情報システムや発注約定システム、資本市場システムの設計・開発を担当。2016年からAI&ビッグデータソリューション部門にてデータ分析を担当し、2017年から分析セミナーの講師を兼任。豊富な事例で分かりやすい講義に定評がある。『AI、IoTを成功に導く データ前処理の極意』(日経BP)共著