データ分析が出来るようになるには

データの統計分析ができるようになりたいと思い、日々分析コンペに手を出してみたり、本を読んだり、ネットで情報を漁り、勉強している毎日です。
ただ、統計学を体系的に勉強したことがない自分にとって、正直どこから手をつけていいのかがわからず、足元で使える手法を具体例として調べ手を動かしつつも、自分にあった勉強方法も模索しています。


バックグラウンド、現状、目標

理論物理を修士までやっており、多少なりとも数学の手法や統計力学の周辺知識があります。
現状の業務では、いわゆる探索的な分析(グラフ化、相関性の高い変数の抽出、簡単な線形回帰モデル化等)を行っている程度です。
あとは、個人的なアレで恐縮ですが、3月中旬より、念願だった部署移動が叶い、研究/データ分析の部署に行けることになりました。今の環境とはガラッと変わり、より自分がやりたいことに集中できるようになると思います。
目指したい姿として、分析屋さんになりたいというよりは、まずは分析が出来ることで食いっぱぐれないようになること、そして、人工知能が今のパソコンくらいのレベルで当たり前に普及した近未来で不自由なく人工知能を使いこなせるようになること、膨大なデータ量の中から独自の価値を見つけることができるようになることくらいが今の目標です。


分析が出来るということ

「分析が出来るようになりたい」と言う前に、その分析とはなんぞやということなのですが、一口に「分析」と言っても幅広く、とりあえずwikipediaを引用してみると、

分析(ぶんせき、希: ἀνάλυσις、羅、英: Analysis、 独、仏: Analyse)は、
1. ある物事を分解して、それらを成立している成分・要素・側面を明らかにすること。
2. 物質の鑑識・検出、また化学的組成を定性的・定量的に鑑別すること。
3. 概念の内容を構成する諸徴表を各個別に分けて明らかにすること。
4. 証明するべき命題から、それを成立させる条件へ次々に遡っていくやり方。

とあります。

自分の考えている分析は、1と3と4を含んでいますが、抽象的すぎてこの場合あまり得るものがありません。
もっとわかりやすく一言で言うと、「データから特徴を抽出し、事象を理解すること。」だと思っています。
特にオンライン上で起きている様々な事象は、そもそも今までは認識すらされていなかったと思っていて、それが、データを保存し分析できるようになってきて初めて研究の対象として認識されてきているのが現状だと思っています。また、今後IOT、VRなどが商用サービスとして発達してくるにつれて、ますますデータ量が増え、そこで何が起きているのかを理解し認識することに価値が出てくると思います。このような世界で、自分の望む方向に少しでも世界を動かしていけたらいいなと考えています。


というのがまず、大きな概念の話。
具体的にそれらが実現できる、もしくはそれらに関係のある「分析」とは、下記だと思っていて、今は主に「統計的な分析」と、「機械学習を使った分析」について勉強しているという状況です。

  1. 統計的な分析
  2. 機械学習を使った分析
  3. ディープラーニングを使った分析

統計学は所詮方法論

ネットだけだとほとんどの情報が断片的で散らばりすぎていて、初心者が学んでいくには少しハードルが高いです(それでもそうしていくしかないのですが)。
また、教科書だと、半分くらいはすでに知っている情報だったり、今取り組んでいる問題とはほとんど関係ない情報だったりするので、これも一般的に社会人が統計学を学ぶスタイルとしては効率が悪い(それでも教科書を改めて読み込むべきフェーズがなくはないのですが)。

そもそも統計学は、理論物理学とは違い、方法論であり、ツールとしての先人たちの知恵でしかない。これを「体系的に」と言っている時点で間違っているのかもしれません。本来、別の研究したいテーマや分野があって、その評価の方法が各分野で共通で使えるというものに過ぎない。全てを知っていなくてもよく、正しく使えれば良い。その正しく使えるラインは、当然自分の研究したいテーマによって違うので、誰かに教えてもらうのではなく自分で決めるべきものなはず。
だから、データ分析(とその背景にある統計学の知識)は、実データをいじりながら、学ぶべきだという結論に至り、そのようなスタイルで勉強できる環境を探しています。さらにいうと、やっぱり最低ライン押さえておくべき基本的なポイントは、「データ分析が出来るようになるため」というざっくりしたレベルにおいても共通してあり、ここをちゃんと押さえて、(かつできれば効率的に)学習できるWebコンテンツがあればベターです。

手を動かしながら、ざっくり体系的にかつ、必須のポイントを押さえられて勉強出来るというのは、なかなか難しいのですが、先述の下記の記事で紹介している情報サイトや、Codecademy、HackerRankなどの学習サイト、あとはKaggleとかのデータ分析コンペサイト、大学の授業がオンラインで受けられるCourseraなんかを使いこなして、学んでいくのが一番近道かなぁと思ったりしています。

データ分析の勉強方法 - サイバースイッチ


これらを学ぶ中で、統計的な分析、機械学習を使った分析、ディープラーニングを使った分析、これらがどういう位置づけでそれぞれどういうものなのか、出来るだけポイントを整理してここに書いていきたいと思います。