先週クライアントからいただいた質問です。実は複数のクライアントから同時期に尋ねられた質問でした。質問箱1回目の回答記事として投稿します。


質問💬

研修や教科書でデータ分析手法を学ぶのはいいのですが、それを実際の場面でどうやって応用したらよいか分かりません。応用力をつけるにはどうしたらいいのでしょうか?

分析チームの先輩データアナリストと話していると「回帰モデル作ってみようか」「次元削減してから」という言葉がするっと出てくるのですが、どうやって発想しているのでしょうか。


回答📝

技術の応用は難しいですよね。教科書で学ぶことと実地でできることには大きな差がありますが、これをやればできるようになる!という確たる手順があるわけでもないのが困るところです。私自身データサイエンティストに転身したときに悩みました。

応用力を高めるには「やってみる」ことが一番です。実践により応用力が少しずつ磨かれ、気が付いたときには自然にできるようになるものです。

とはいえ、これではアドバイスにならないので、応用力を高める上での工夫できることをお伝えします。これは、かつて分析チームに在籍していた分析初学者を育てるときにも意識していたことです。

まずは一つの問題設定、一つの手法を使ったタスクをマスターする

データサイエンスの道具は膨大です。教師あり学習、教師なし学習といった分類もありますが、細かく見れば次元削減、クラスタリング、回帰、分類、因果推論、統計的検定と様々あり、教科書によってもカバーしている範囲が異なります。すべてを短時間で体系的に学ぼうとしても無理な話です。

そこで、初学者の方にお勧めしていたのは、一つの手法に絞り込んで実践してみるということでした。

分かりやすいところでは回帰でしょうか。目的変数と説明変数の関係をモデル化する回帰問題に焦点を当て、まずはそれを使えるようになることを目指してみる。

どのような教科書でも回帰の話は必ずでてきますね。目的変数と説明変数の関係を考察する、もしくは、説明変数から目的変数を予測するために使われる手法です。回帰というとたくさんの手法が登場しますので、一つに絞って使えるようになりましょう。いきなり複雑な手法に手を出すのではなく、線形回帰から。

シンプルですが、シンプルがゆえに考えるべきことが多く、奥が深い手法でもあります。また、RやPythonだけでなくExcelでも実行することができます。

ちなみに私がはじめて取り組んだ問題はテキストデータの異常検知でした。これは中々複雑で、回帰のような正解のあるタスクでないため七転八倒した覚えがあります。しかし、その中でも「ポアソン分布による外れ値検知」というアプローチに絞ることで、異常検知の輪郭(統計屋さんのやり口)を理解することができました。

学んだことを応用して武器にする

では、線形回帰を例に学び方を考えてみましょう。

まず座学で線形回帰を学んだら、すぐに応用してみましょう。実務で変数同士の関係を考察したい場面はないでしょうか? 例えば、「時間外と年齢の関係」「エンゲージメントと年齢や職種の関係」を調べたいと思ったことはないでしょうか?

これらは回帰分析として取り組むことができますので、恐れずやってみましょう。

しかし、いざやろうとすると「え、、何からやったらいいんだろう?」と手が止まるはずです。データをどうやって準備するのか。どういう形のデータにするのか。ツールをどう動かすのか。実行結果をどうやって解釈するのかなどなど。

まるで泥沼に足を取られたかのようなもどかしさを感じるはずです。しかし、このもどかしさを乗り越える経験をしないと応用力は身に付きません。本を読んだり先輩にアドバイスをいただいたりしながら、何とか形にしてみましょう。

実践経験が一回りするころには、その手法(道具)を使う場面をおぼろげにイメージできるようになっているはずです。ここまでくれば、線形回帰という手法を通して、教師あり学習のアプローチや回帰分析の基本的な考え方を身につけることができているでしょう。

つまり、自分の中に「回帰」という名の幹のようなものができ始めたわけですね。もちろん、その枝は果てしなく広がるわけですが、幹があるのとないのは大違い。枝葉から学ぶのはとても非効率ですし、かつての私のように大混乱に陥ることになるでしょう。

そして、一つの幹ができれば次の幹を作っていきましょう。

次元削減、クラスタリング、レコメンド、異常検知、テキストマイニングなどいろいろと幹の候補があります。どの幹を選ぶかは自由ですが、できればプロジェクトの状況に合わせて自然に広げることをおすすめします。

もし、プロジェクトやチームで取り組んでいるタスクがどういった問題設定(=幹)になるのか分からない場合は、先輩や専門家に尋ねてみましょう。

学んだ分析手法を用途に合わせて自分なりに整理していく

さて、一つ目の話は一つの問題設定(幹)、一つの分析手法に集中して学ぶということをお伝えしました。これは果てしないように感じるかもしれませんが、もっとも堅実で実力がつくやり方だと考えています。

なぜ? AIを使えば何でも解けるんじゃないの? と思われる方もいらっしゃるかもしれませんが、残念ながらそうもいかないのです。

なぜかというと、データ分析の世界で取り組んでいることというのは、現実の一側面をシンプルに記録した限られたデータ(情報)を元に、現実で起きていることを説明しようとする取り組みだからです。

すべてのモデルは間違っているが、いくつかは役に立つものもある。

(統計学者ジョージ・ボックス)

データを使ったモデリングというのは、唯一の正解があるわけではありません。もしその現実を完璧に記述したメカニズムとモデルがあるなら、そもそもデータから推測する必要はないのです。したがって、コンテクストやゴールに合わせて工夫したり選別したりすることが求められるわけで、データアナリストの腕が試されるのです。

そうなると、必然的にデータアナリストは解きたい問題に合わせて武器を選ぶ必要があり、その知識を頭にストックしておかなくてはなりません。逆にいうと、シニアなデータアナリストは頭の中に問題と手法を繋ぐ辞書を持っているのだと思います。ただ、これは暗黙的なものなので普段は意識していないはずです。

データアナリストの頭の中

上の図でいうと左下の「ざっくり類型化」というのが辞書にあたります。物事の捉え方は人によって違いますので、自分なりに整理していくのがベストです。

もしご要望がありましたら、「私なりの整理」について記事を書いてみたいと思います。