Hatena::ブログ(Diary)

小人さんの妄想 このページをアンテナに追加 RSSフィード Twitter

2014-08-26

武器としてのデータ分析力

このほど、データ分析に関する本を上梓いたしました。

仕事上でご縁のあった方との共著となります。


この3ヶ月間というもの、私は「書く、書くために調べる、走る」の3つしかしていません。

それはそれでとても充実していたのですが、「書く」の中にこのブログが含まれていなかったため、

しばらくの間お留守となりました。コメント等いただいた方、ろくに返事もせず、すいません。

この状況は、もうしばらく続きそうです <(_ _)>ペコリ.


今回の出版にあたり、編集の方から依頼を受けたテーマは、こんなものでした。

『個別の分析手法の解説ではなく、それらをどのように組み合わせたら問題解決できるのか、手順を示してほしい。』

ビッグデータという流行語が騒がれて久しく、ネット上を検索すれば個々の分析手法に関する情報はいくらでも入手できる。

にもかかわらず、いまだ多くの現場でデータ活用に困難をきたしているのはなぜか?

個別の手法と、現場での活用との間のギャップを埋めて欲しい・・・これが、この本のテーマです。

本の帯にある「流れとレシピ」というキャッチコピーは、木ではなく森を見るのだぞ、という意味で付けています。


データ分析の方法を学ぶには、本来、その原理と仕組みを知るのが一番だと思います。

しかし、原理から学ぶ方法は、1つの大きな問題を抱えています。

それは、原理が分かればすぐに応用できる人と、いくら原理を説明されても全く応用できない人がいる、という事実です。

特にデータ分析という分野では、(原理の理解)≠(現場での応用) の傾向が顕著です。

どれほど「回帰分析というのは、最小二乗法でデータの間に線を引くことなんだよ」と原理を説明したところで、

「はぁ、何それ美味しいの?」という反応に終わることが少なくありません。

・・・愚痴になりました。

要は、原理と応用の間には大きな隔たりがあって、その間を埋めるには多大な想像力を必要とする、ということです。


専ら分析ツールを使う立場の人が、できるだけ少ない負担で分析の流れを把握するには、どうすれば良いか。

考えた末、この本では徹底的に枝葉末節を削り、どうしてもこれだけはと思える幹の部分だけを残すことにしました。

残された幹の部分を整理したところ、会社業務で用いる分析は 結局のところ2パターンしか無い、という結論に至りました。

本の中では、それぞれ「探索型分析」と「目的型分析」と名付けています。

まず、「探索型データ分析」とは「データはあるけれど、何をしたらいいのかわからない」というケースで使います。

この分析パターンは、いま手元にあるデータから、ー社の現状を把握し、⊆らの置かれている立ち位置を明確にするものです。

これによって、「自社の強みと弱点を明らかにし、製品やサービスの改善ポイント、市場と顧客層を見出す」ことができます。

会社としてまだ何も方針が定まっていない段階、あるいは、「データから何か方針を見出したい」といった段階で用いる方法です。

とりあえず何か着手していく場合に有効です。


もう1つの「目的型データ分析」は、「すでに目的となる数字があるけれど、その数字の改善・悪化に影響を与える要因を特定したい」という明確な意志を持っているケースで使われます。

探索型分析に比べ、一歩進んでいる会社のとるパターンです。

数字を左右する「隠れた要因」を特定することによって、どうすればその数字を改善・向上できるかを知ることができれば、会社業績に貢献できます。

目的となる数字の予測ができるようになるからです。

これはすでに方針が定まっている段階、あるいはデータからの予測・改善につなげたい段階で用いる方法です。

f:id:rikunora:20140826163339p:image


この2つのパターンに沿って、最低限必要となる分析手法を整理したところ、以下7つの手法が残りました。

f:id:rikunora:20140826163433p:image


この7つを、本の中では「データ分析の7つ道具」と呼んでいます。


以下、書籍に含めることができなかったボツ原稿の一部を掲載します。

7つ道具に当てはめた場合、「道具1〜4」まではエクセルで可能ですが、

「道具5〜7」についてはエクセルだけでは厳しくなります。

では、道具5〜7については、どうするか。

初期の原稿には、統計用のフリーウェアR言語を用いて分析する方法を紹介してありました。

◆ R言語スタートコマンド集

以下、R言語で道具5〜7の分析を行うための、最低限の手順を示します。


○データ読み込み

 ・エクセルデータを[CSV カンマ区切り]形式で保存する。

 ・R言語上で以下のコマンドを入力、実行する。

   # data1 <- read.csv(“保存したファイル名.csv”)

 これで、データがdata1に取り込まれる。


○道具5.因子分析

 ・因子分析を実行するコマンドは「factanal」。

  R言語上で以下を入力する。

   # factanal( data1, factor=3 )

 これで因子分析が実行される。factor=3 の意味は、取り出したい因子の数は3個にする、ということ。

 (適切な因子数を見積もる方法もあるが、ここでは省略)


○道具6.クラスタリング

 ・まずデータの要素間の距離を算出する。

   # data2 <- dist( data1 )

これで、data2に距離のデータが入る。

 ・クラスタリングを行うには、距離のデータに対して「hclust」を実行する。

   # result <- hclust( data2 )

これで、クラスタリングの結果がresultに入る。続いて

   # plot( result )

とすれば、結果のグラフが表示される。

f:id:rikunora:20140826163525p:image

※ クラスタリングには幾つかの方法があるが、hclustは「階層的クラスタリング」という方法を実行している。


○道具7.回帰分析

 ・線形回帰分析を行うコマンドは「lm」。線形とは、手短に言えば直線のこと。

  曲線による回帰分析はやや複雑なので、ここでは「lm」の方法を示す。

 ・先に読み込んだdata1の中に、身長と体重が含まれているとして、

   # lm( data1$体重 ~ data1$身長)

とすれば、身長から体重を予測する回帰分析が実行される。


 ・R言語でロジスティック回帰を行うには「glm」というコマンドを使う。

 ・先に読み込んだdata1の中に、販売データ(売れた1、売れない=0)と広告費が含まれていたとして、

   # glm(data1$販売 ~ $data1$広告費, family=binomial(link="logit"))

とすれば、広告費から販売確率を予測するロジスティック回帰が実行される。


以上の手順に従えば、R言語上でたった7個のコマンドを実行するだけで、因子分析からクラスタリング、回帰分析まで全ての分析が完了します。

もちろん、上の手順は詳細をことごとく省いてありますが、ここで言いたかったのは「わずか10にも満たないコマンドで全ての分析ができる」という事実なのです。R言語の全ての機能を知る必要も無ければ、特に身構える必要もありません。

私自身、やってみて驚いたのは、

 「分析完了までに必要なコマンドは、7個に過ぎない」

ということです。

たった7個です。

つべこべごたくを並べる以前に、とにかく覚えてしまうのが早道ではないでしょうか。


なぜこのR言語の箇所がボツになったかと言えば、この本はR言語という特定のソフトウェアの使い方を示すものでは無いからです。

もし、「2つの分析パターン」、「分析の7つ道具」が響いたなら、ちょっとこの本を手に取ってみて下さい。

きっと分析業務全体の流れが俯瞰できるものと思います。

(全体の流れを重視したため、個別の分析詳細や、計算方法などについてはあまり詳しくありません。)

よろしく。


スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/rikunora/20140826/p1
リンク元