SSブログ

データサイエンティストはどんなツールを使えるべきか? [キャリアプラン]

※2012/11/04 流行のデータサイエンティストに対応するために加筆・修正しましたw

自分は会社内で「データ分析担当」という割と日本では特殊な位置づけで仕事をしています。データ分析にはメインの在庫管理だけでなく、商品販売分析、店舗販売分析、マーケティング効果分析、経営分析なども含まれます。こういうふうに書くとうちの会社はデータ分析で進んでいるのか?と思われる方もいらっしゃるかもしれませんが、どちらかというと逆です(でした)。上司がデータ分析の重要性を理解していたために、こういう変わった職種で働くことができています。自分が入社時はデータを活用する、という観念が薄かったですが、現在はデータ活用の重要性が染み渡ってきていることを実感しており、次の「それぞれの人が自発的にデータを取りに行く」というステップの下地固めを現在行っています。

さて、データ分析を担当していて思うのが、「業務が広範のため、理想とするシステムを目指すのではなく適度な割り切りが必要」ということです。自分が思う業務範囲はKPI(Key Performance Indicator)の設定に始まり、データモデル・メタデータのメンテナンス、MDM(Master Data Management)というデータの正確性を担保し続ける上流工程があり、そこからようやくデータ保持(DWH)、データ取得(ETL)、データ加工、可視化(BI)に進んでいき、ようやくそこで分析に入ることができます。ここで通常発生する問題はそれぞれのフェーズで職種が分断していることが(日本では)多く、データ分析のPDCAを回すことができている企業が少ないということです。

データの可視化(BI)に関する外国の記事や、よく理解している人の書いている記事で共通しているのは、BIの開発はSmall start & Agile(アジャイル)であるべきだということです。しかし職種が分断していると、それぞれの間できっちりした仕様を受け渡す必要があり、そういうことをしているといくら時間があっても足りなくなるのが常です。効果を実感しつつBIの利用を軌道に乗せるには、元のデータモデルをシンプルにして高速にBIでビューを提供していくことが重要ではないでしょうか?

このようなことを考えていると、データ分析をする人は専門家に任せすぎることなく、データの正確性を保ち、データを各システムから取得し、データを分析・提供する、ということを統合的に扱えるスキルが求められます。基本的に日本で同じ会社にずっといる場合ではこれらのすべての分野の知識を吸収するのが難しいです。ということで、今回はツールに絞ってデータ分析業務を網羅する方法を紹介したいと思います。

◯表計算(Excel)
Excelなんて使えるよって声が聞こえそうですが、Excelに関しては「途中で数値をいじらずに1変数で全ての結果を得られるシートの作成ができるレベル」を目指してください。
・使用する関数…VLOOKUP,HLOOKUP,INDEX
また、それの作成にあたっては「オートフィルや条件付き関数を使うことで、あとからいちいちセルの内容をいじらずに再編集可能」にしておく必要があります。
・コンセプト…よく「=G3+J3+M3」といった書き方をしていることを見かけますが、SUM用の列を固めたり、SUMIF関数を使うことで後からの編集に強いシートを作ることができます。
そして、基本は「関数でやりきる」ですが、それでは処理しきれない時のためにExcel VBAは習得しましょう。いつもの作業が高速化されることうけあいです。

基本的にExcelは守備範囲が広がっています。昔は統計分析ならMinitabとかありましたが、もはや通常の解析や簡単なBIはExcelでやり切ってしまうのがベストだと思っています。Excelはデータの一貫性の管理ができないということでBIベンダーが必死に説いていますが、だれもがデータを簡単に扱えるメリットを捨ててまで得られるメリットなんてあるのでしょうか?私は非常に疑問に思います。Excelでデータの一貫性の管理レベルを上げるほうが効率がいいでしょう。

◯RDBMS・データベース(Access、MySQL)
Excelが無敵になりつつありますが、そうはいっても数百万件のデータを処理するのはDBの仕事です。ここでいきなりOracleとかを始めるとギャップが大きいので、まずはAccessでRDBMSというものを視覚的に理解し始めることをお勧めします。一方、基本的には個人で閉じて業務をこなす分にはAccessで十分ですが、業務システムからデータを取ってくることが出てくると、SQLが使えることが必須になってくるので、その段階になったらどれかRDBMSを習得するのが良いでしょう。文献が多く使いやすいオープンソースのMySQLなどはお勧めです。

◯ETL(Talend)
ETLはデータ取得・データ加工を高速に行うツールです。Excelはコピペでいろんなところからデータを簡単に持ってこれますが、基本的にDBを使う場合はローダー(インポートツール)を使うか、ETLを使うかのどちらかになります。ETLとは通常業務システム間のデータのやり取りに使用しますが、個人的にETLを使うことのメリットはずばり、「データの移動、変換、保存を簡単にできる・自動化できる」ということです。実はDBにデータを読み込んで加工して吐き出す、というのは手でやるのはそこそこ面倒な作業です。そこで一部の作業をETLで置き換えることで飛躍的に作業効率を上げることができます。自分の場合ではローカルのデータマートの更新を自動化したことで、いままで毎朝業務システムからCSVをダウンロードして差分更新していた作業がざっくりと無くなったため、業務効率の向上と、後々の帳票作成自動化を実現することができました。
通常ETLはものすごい高いツールですが、Talend Open Studioという製品は、様々なデータソース間のデータ保存・変換・取得が可能なオープンソース製品で、超おススメです。(本ブログでも使い方を紹介させていただいております)

◯BIツール(Qlikview,Jedox,Jasper,PowerPivot,その他商用ツールなど)
正直ここはオプションだと思います。ただしBIを手元で立ち上げられると、周りの人のためのデータ可視化が一気に進むため会社として非常に効果が高いです。なので簡便に使えるツールを自分で探し出して使いこなしていくようになれると無敵になれます。BIにはざっくりとレポーティング(定型帳票)とアドホック分析(オンライン分析、OLAP)があります。前者はいろいろなツールがありますので自分にあったものを探してください。オープンソース系でおススメはPalo,Jasperserver,Pentahoです。後者に関しては自分の中でPowerPivotが決定版になっています。これはOffice2010用の無料アドインで、簡単に設定ができ、OLAPをインメモリで高速に行うことが可能です。ちなみに自社ではQlikviewを最終的に導入しました。結局目的に対して一番最適なツールを選ぶ、そのためにどれが一番目的に合うかを自分で試して選別するスキルが最終的には必要になります。

◯統計分析(R、SAS)
実は自分はここまでは到達していません。ネックになっているのは難易度が高い点と、得られる結果が必ずしも説明できるものではない点です。前者は単なるスキル不足なのですが、後者は割と根が深い問題です。というのも「統計は万能」みたいな信仰が世の中にはありますが、通常の業務で使用するデータに関しては難しい分析は必要なく、地味に可視化ができていればことが足りるケースが多いのです。統計が必要なケースはデータ量や変数が多い場合ですが、仮説と結びつかない知見を産んでしまう危険性を秘めており、注意して使用しないと間違った知見を産んでしまう可能性があります。なので、機会があったら取り組もうと思っているものの、自分の業務ではまだ具体的に適用すべきテーマが見つかっていないのが現状です。

ということでいろいろなツールを紹介させていただきました。正直初めて触るには敷居の高いものばかりなので上から順に気長に取り組むのがおすすめです。習得にチャレンジしてみてください!
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。