「データ分析」大変ですよね…
データ分析の話題、よく耳にする機会ありませんか。
あなたが何らかのビジネスに関わっていることを前提としましょう。
ビジネスには常に商品と、それを必要とする顧客が存在しています。同時に、商品と顧客に関するデータが発生します。
ビジネスが大きくなっていくとどうなるでしょうか。当然扱うデータもどんどん増えていき、その規模も大きくなっていきます。ビジネスを成長させていくためには、顧客や商品に関するデータから傾向をつかみ、それを生かしていくことが必要です。
そこで登場するのがデータ分析です。何かしらのビジネスに関わっているかぎり、データ分析のスキルを持っていることは大きなアドバンテージになります。
さて、あなたがデータ分析しようと思ったとき、どんなツールを使うでしょうか。すぐに思いつく手段はおそらくExcelではないでしょうか。
Excelは定番ソフトですし、とても簡単に使えて、それでいて数値計算に限らずさまざまな用途に使うことができる非常に便利なツールであることについては、誰もが頷くところでしょう。しかしExcelは万能なツールではありません。以下に挙げる三つの課題が存在しています。
(1)大規模データへの対応
大きなデータを扱っているときや、たくさんのシートにまたがって使っているときなど、データ数が一定以上になると、Excelは挙動が一気に不安定になりますよね。Excelでは、一定規模以上のデータに対する分析は難しいと感じている人もいるのではないでしょうか。
(2)再現性の乏しさ
また、分析を実施した際の手順は基本的に残りません。手順をシート内のどこかにメモしているかもしれませんが、その手順を実行するのは、マクロを使わない限りは一回ごとに手動です。ミスをした場合には、もう一度やり直さなければなりません。
(3)限られた分析アルゴリズム
Excelがデフォルトで備えている分析用のツール(アルゴリズムといいます)は、回帰分析や各種検定、相関分析がメジャーなところでしょう。もしあなたが実行しようとしている分析がExcelですぐにできるのであれば、もちろん問題ありません。
しかし、たとえば「自社webサイトの訪問者数という時系列データに関する分析をしてレポート出して」というオーダーが来たとしましょう。全体のトレンドや、季節による影響がないかどうかなどの分析もしなければなりません。こうなると、Excelですぐに実行するのは難しくなります。
Excelの分析ツールだけでは対応できない場面や、標準で備わっている以外の分析方法を実行したい場合には、数式やVBAを駆使して自分でその分析方法を実装する必要があります。しかし、それは簡単にできることではありません。
あなたが実施したい分析において、もしこのように
・大規模なデータを扱い
・分析手順が保存できて
・ある程度複雑な分析をしたい
という三つの観点が必要とされているのであれば、Excel以外のツールにも目を向けてみませんか。本記事ではその選択肢の一つとして、「R」というツールを紹介したいと思います。
データ分析最強ツール「R」の実力
Rは、統計分析に特化したプログラミング言語です。プログラミング言語、というくくりではありますが、統計分析に特化したシンプルな作りになっています。
取っ付きやすさの大きな要因になっているのは、データフレーム、という考え方です。データフレームは列と行という表形式になっていて、Excelで扱うデータ形式と似ているため、Excelに慣れ親しんでいる人であれば、少し使ってみるだけでRに対する違和感はすぐに消えることでしょう。
しかもRは決してマイナーなツールではありません。研究者やデータサイエンティストの間では、分析のツールとして非常にポピュラーです。またRはオープンソースであり、世界中のユーザによって日夜開発が進められ、日々進化しています。
そういうとプロの分析者が使うツールだと思われがちですが、実際にはExcel以上に簡単に、かつExcelだけでは対処が難しい問題を解決できます。フリーのツールなので導入もスムーズです。
さきほどExcelに対してあげた三つの問題点である
・データ量が膨大になると動作が不安定
・一度やった分析を保存できない
・すぐに実行できる分析ツールが限られている
について、Rだとどのように対応しているのかみていきます。
(1)大規模データでも軽快に動く
Excelで扱うことができるデータ量ですが、Excel2013では最大行数は1,048,576行、最大列数は16,384列となっています。ただし、実際にはこれ以下の数十万件レベルで動作が不安定になります。
対してRで扱うことができるデータ数は、1000万行程度×400列であれば、PCのスペックにも依存しますが、たいていは動作も軽快です。Excelでは動作が不安定だったデータ量でも、Rならば動作は常に快適です。
(2)分析手順が残るので、やり直しも簡単
Excelの場合は分析手順は基本的に残らないので、自分で記録を取っておく必要があります。手順の実行は基本的に手動です。
対してRはプログラミング言語なので、当然処理の過程がコードとして全て残ります。どこか間違っていても、そこを修正してまたボタン一つで全ての処理をやってくれる。グラフを描く過程もコードにできます。
(3)最新の分析ツール(アルゴリズム)が使える
Excelはマイクロソフトの製品なので、バージョンアップもマイクロソフト次第です。
対してRはオープンソース。全世界から有志が開発に参加しているので、日々改修が行われています。学会で発表された最新のアルゴリズムも、すぐにパッケージがリリースされ、そのパッケージをインストールしさえすればすぐに使えるようになっています。