まずはお気軽にご相談ください。

【総合受付窓口】
大塚商会 インサイドビジネスセンター

0120-579-215(平日 9:00~17:30)

データ分析コラム(第1回)データマイニングとは

はじめに

データ分析製品固有の内容については各製品の紹介ページに譲りまして、この「データ分析コラム」では、個別の製品とは切り離した一般的な知識としてためになる情報をつづってまいります。

データマイニングの概要

データマイニングを一言でいうと

データマイニングは、大量のデータから機械学習によって利用価値のある法則を取り出す技術です。データを宝の山として、金、銀、宝石を掘り当てる様に例えられます。
コンピューター性能の向上により、近年活用が進んできています。取り出した法則は主に、予測するために使われますので、端的に予測分析とも呼ばれます。BI(Business Intelligence)ツールだけではできない多変量解析の技術を応用した分析となります。昨今ではBA(Business Analytics)や機械学習(マシンラーニング)といえば、データマイニングのことを指していることもあります。
なお、BA=Business Analyticsは、さほど一般的な用語ではありません。同じIT業界でも、BAといえばBusiness Analysisというソフトウェア開発方法論の一つにおけるモデリングパターンの意味で使われることの方が多いかもしれません。BAという略語にはその他の意味(美容アドバイザーとか)もたくさんあるので、このWebサイトでは、データマイニングという言葉で統一します。

データマイニングのプロセス

データマイニングは、下の図のように「ビジネスの理解」→「データの理解」→「データの準備」→「モデリング」→「モデルの評価」→「展開/共有」という大きくは6つのフェーズがあります。この6つフェーズは、一度やって終わるようなものではなく、循環的にずーっと繰り返されます。
「ビジネスの理解」についてはデータマイニングツールが直接役に立つ場面はあまりないかもしれませんが、その他のフェーズではデータマイニングツールが有効な場面が多くあると思います。
ちなみに下の図にはCRIPS-DM(クリプスディーエム:Cross-Industry Standard Process for Data Mining)と呼ばれるデータマイニングのためのさまざまな業種で標準的なプロセスです。ほかにも類似のフレームワークのようなものは幾つかありますが、基本的は考え方は同じです。何にしてもビジネスの理解が一番大事です。そして精度の悪いデータからは精度の悪い結果しか得られません。すなわち、データの理解とデータの準備のプロセスを抜きにして精度のよい予測モデルの生成等は望めないのです。
データマイニングツールは「適当にデータを投入すればAIが勝手に良い予測モデルを作ってくれる」という勘違いをされやすいのですけど、この6つのフェーズを見ての通り、そうやすやすとはいかないのです。

機械学習とは

データマイニングで使用される機械学習というのは、実はあまり目新しものではありません。原理的には最小二乗法だって立派な機械学習なのです。厳密には諸説あるのですが、最小二乗法が考案されたのは1800年頃、つまり江戸時代です。こういった手法をコンピューターを使って「そこそこ当てはまりの良い数式に収束させる」ことを機械学習といっているのです。
昨今のAIブームで機械学習という言葉を良く聞くようになりましたが、本当に新しいAIと呼べるような技術は、ディープラーニングだけです。その理由は、ディープラーニングであれば画像認識や音声認識など、人間には簡単にできるのにコンピューターには苦手だった分野での応用に期待できるからです。ディープラーニングは人間の脳神経が学習する振る舞いに良く似たアルゴリズムです。
じゃあディープラーニングの機械学習とデータマイニングツールでいうところの機械学習が、全く違うものなのか?っていうと実はそうでもないのです。一般的なデータマイニングツールにもニューラルネットという脳神経の振る舞いに良く似たアルゴリズムが実装されています。その階層が非常に深いということを除けば、本質的には「そこそこ当てはまりのよいモデルに収束させる」という似たようなことをやっているのであり、従前からある考え方の延長上にある技術なのです。

機械学習におけるデータの流れ

機械学習するためのデータを『教師データ』といいます。例えば「地域が東京で、時期が8月の初旬で、曜日が祝祭日で、天気が晴れのときに、アイスクリームが120個売れた」というような情報が教師データになります。
機械学習では、この教師データを『学習用データ』と『テスト用データ』に分けます(とりあえず半々にすることが多いと思いますが、例えば7対3とかでもいいです)。そして、学習用データから法則を見つけ、その法則がテスト用データで当たるか試す、ということを機械的に繰り返して法則をみつけます。
そうして生成された法則が『予測モデル』です。予測モデルは、地域、時期、曜日、天気といった『説明変数』を投入すると、幾つ売れそうか?という『目的変数』を返します。
説明変数や目的変数にはほかの言い方もあります。特に統計学の世界ではどうにもビジネスマンには馴染みにくい堅い用語が出てきますが、データマイニングツールの場合には、比較的アカデミックな理論はとりあえず置いておき、ツールとして統計の力をビジネスに利用できれば良い、という面があります。なのでデータマイニングの世界では、何を当てたいかという目的となる『目的変数』と、それを天気や曜日で説明しようとする『説明変数』、という呼称が良く使われるかと思います。このWebサイトでは説明変数や目的変数で統一します。

データマイニングツールの主な機能

製品によって違いはありますが、データマイニングツールの主な機能は下記のような機能です。

  • 記述統計機能(ピボットテーブル機能やグラフ機能も含みます)
  • データ加工機能
  • モデル作成機能(クラス分類・回帰、クラスタリング、アソシエーション)
  • モデル評価機能
  • 展開/共有機能

記述統計機能(ピボットテーブル機能やグラフ機能も含みます)

データマイニングでは、要は当たる予測モデルが生成できれば良いのですが、そのためには先にあげた6つのフェーズを見ての通り、データの理解というプロセスが必ず必要です。
データを理解するためには、データの分布がどんな形をしているのか、クロス表、ヒストグラム、散布図等で可視化することが必要です。また、欠損値や外れ値がどの程度含まれるか、どういった対処が可能か、等を検討することも必要です。
ですから、データマイニングツールには、BIツールのような可視化機能も備わっています。BIツールの利用者は普通のユーザー部門の人を想定していますから使い勝手優先ですが、データマイニングツールの利用者は、データ分析スキルを持った人が使うことを想定していますので、BIツールよりかなり細かい表現が可能(特に目盛り、スケール、ラベル等)です。逆に、ドリリングやスライシングといったOLAP機能は持っていないです。

データ加工機能

データマイニングツールを使ううえでまず最初に身に着けるべき技術は、データを自由に可視化したり加工したりする技術です。このデータ加工の技術がないと、適切な説明変数を用意することができません。実際のところ適切な説明変数が用意できれば、もう適切な予測モデルができたも同じです。この説明変数の用意がそう簡単にはいかないところが、データマイニングの大変なところなのです。ですから、ほとんどの工数はデータ加工に費やされます。
先ほどAIという言葉が出てきましたが、それこそ説明変数を用意するところをAIでやって欲しいくらいなのですが、そこではAIは役に立ってくれないのがデータマイニングツールの現状です。
データ加工の主な作業としては、条件指定で抽出(サンプリング)、行→列変換、2つの表のJOIN、計算された項目の追加、グルーピング、ソートといった、データベースの専門家がSQL文やプログラミングを駆使してやるようなデータ構造の変換があります。この辺りがあまりに属人化してしまうと、分析チームとして共同作業が難しくなったり、引き継ぎが困難になったりします。そのため、データマイニングツールには、ETLツールのようなGUIでプログラムが書けなくてもできるデータ加工機能が備わっているものもあります。

モデル作成機能

データマイニングで生成できるモデルは主に次の3つです。

  • クラス分類/回帰モデル・・・予測モデルです。質的変数を当てるのがクラス分類、量的変数を当てるのが回帰です。
  • クラスターモデル・・・似たものをグループに分けるモデルです。
  • アソシエーションモデル・・・関係を見つけるモデルです。

それぞれのモデルについては、別の回に詳しく説明します。

モデル評価機能

データマイニングと統計解析の大きな違いとして、データマイニングは探索的、発見的な手法であるということがいえます。少し乱暴ないいかたかもしれませんが「色々適当に手当たり次第に試してみた結果として、良いモデルを採用すればいい」というのがデータマイニングの考え方だと言っても大きく外れていないと思います。データサイエンティストが、難しそうなアルゴリズムのパラメーターを増やしたり減らしたり調整していたとしても、すごく根拠があってそうしている、というよりも、より良いモデルを求めて適当に変えてみている、というあたりが正直なところでしょう。
このときに、何をもって「よいモデル」とするのか判断するために、モデル評価機能を使うことになります。例えば予測精度はもちろん重要ですが、そのモデル生成にかかる時間もまた重要です。分析できる時間も無制限にある訳じゃありませんから、どこか適当なところで諦めて妥協したモデルになります。
アルゴリズムとその設定パラメーターの組み合わせもさることながら、説明変数にいたっては無数に考えられます。教師データでは精度の良いモデルができたと思ったのに、実際の本番データでは精度が悪かった場合には、またモデルを見直さないといけません。
データマイニングツールには、こうした場面で適切にモデルを評価できるための機能が幾つも備わっています。
ちなみにビジネス目的でデータマイニングをするうえで、アルゴリズムの議論にはあまり意味がありません。上で述べたように、どのアルゴリズムを使おうが、結果的に良いモデルを選べば良いだけです。例えばSAP Predictive Analyticsのように、データマイニングツールによってはアルゴリズムを選ぶ必要すらない製品もあります。

展開/共有機能

データマイニングで得られた予測モデルは、さまざまなツールに展開されてユーザー部門によって活用されます。例えば、装置に故障の予兆が現れたらMotionBoard(可視化用のBIツールです)でアラームを出すとか、QlikView(非定型分析用のBIツールです)で為替レートや景気DIのスライダーを動かすと適切な発注量をシミュレーションできるWhat if分析等は、予測モデルを展開した例となります。
予測ができているならそのルールによって判断そのものをロボ的、アルゴリズム的に自動化する(例えば機械の運転を停止する、自動的に発注する)ことも考えられます。
データマイニングツールの予測モデルには、回帰式やディシジョンツリー等さまざまな形がありますが、モデルを取り出すときには、JavaのプログラムやSQL文にエクスポートされますので、ほかのBIツールやその他システムで利用することが可能です。

「統計解析」製品はこちら

「予測分析」製品はこちら

BI/ETLツール 導入事例をご紹介

各社それぞれの課題や状況に合わせて、ITの活用による解決方法をご提案しています。BI/ETLツールを導入した事例をご紹介します。