DPCデータの分析とかやるブログ

DPCデータの分析なんかをテキトーにやってます。

SQLで吐き出したデータの活用について(技術的なお話)

DPCデータをSQLで引っこ抜く作業を続けていると、まあ、当然ながら「分析を」という話になる。

これが非常に面倒な話で、最初のうちはExcelでグラフをでっち上げていればいいのだが、何度も似たようなことを繰り返していると面倒になるのは間違いない。

(ありがちな例では、毎月同じことを聞かれるとか、半年に一回同じ分析を行う、なんてのがある)

Excelというのは「とりあえず大抵のことは出来る」ツールだけれども、どこまで行っても「とりあえず」で、業務の効率化とか、データ分析のツールとしては完全に能力不足だ。プロトタイプを作るとか、とりあえずデータを見てみるにはいいんだけどね。

ではどんなツールがいいのか、というと…

 

・各種BIツール

データの可視化と共有を目的として作られたBIツールを使う。例えばMicrosoftのPower BIなんかが候補に挙がる。

BIツールというと何をするツールかピンと来ないが、要はデータを動的に可視化するツールである。もっといえば、エクセルのグラフをマウスでぐりぐり動かしてみるツールだ。

データは直接SQL接続して引っこ抜くか、吐き出したcsvツールを読ませればいい。

 

・R

プログラミング言語というよりは、統計環境と呼ぶべきR。SQLのように特定用途に特化しているので、学習障壁が低い…そう、思っていた時期が、私にもありました…

いや、ヒストグラムでっち上げたり、箱ひげ図をでっち上げるには一番簡単なツールだけど、コマンドを打つたび返ってくる「おまえ統計のことわかってるよね?P値とか理解してるだろ?」という結果に諦めた人は多そうだ。

 

Python

なんだかんだで、データ分析にはPythonが向いている。行列データを効率的に扱うPandasという素晴らしいライブラリがあるので、ステロイド強化されたSQLみたいな感覚で使うことも出来る。

Pandasの範囲内でコードを書く限りは、Rよりずっと高速だ。

可視化ツールも、MatplotlibやSeabornがあるし、Scikit-learnのような機械学習ツールまで揃っている。

問題は、英語のドキュメントが読めないとかなり辛いということ。トラブったときは、最初から英語で検索したほうがいいし、日本語で検索しても英語サイトのStack Overflowが一番上に来たりする。

 

まあ、お仕事にもよりますが、自分はまずBIツールを試してみて、さらに高度なことをしたくなったらPythonかRをやるのがいいと思う。