現在データサイエンティストとして2年ほどコンサルファームで働いています。
今回は私がこの2年間で学んだ「データサイエンティストに必要なスキル」について、自分なりの答えを話していきたいと思います。
これからデータサイエンティストやMLエンジニアなどを目指す方の参考になれば嬉しいです。
ドメイン知識
データサイエンティストというと、統計学や機械学習の知識に詳しくなければ、というイメージがある人も多いでしょう。実際自分も、数理統計の勉強会などで教科書を読んだりしていました。
確かにそういった専門知識も大事ですが、業務でデータサイエンスを扱うにはそのビジネスの業界特有知識、すなわちドメイン知識もずっと大事です。
「夏になるとアイスが売れやすい」「長期休暇シーズンは道路状況が混雑しやすくなり、最適なルートが変化する」といった業界の経験知がないと、そもそもの仮説が立てられなかったり、途中で分析が行き詰まったりします。
なので個人的にはプロジェクトが始まった時のキャッチアップが最も大事だと思います。
どうしても分析業務にのめり込みすぎると、目の前の数字ばかり見てしまって、背景にある人の意思やお金の動きなどを見失いがちです。
ドメイン知識を意識して日頃の分析業務に取り組むことで、最終的にクライアントを納得させられるような分析ができます。
課題解決力
これもよく言われるのが、課題解決力です。
現場の生のデータを扱うと、理論通りに分布していないデータや、そもそも仕様が違っているデータなども山のように出てきます。その度に「こんなデータじゃ何もできない」「統計的に有意差が出ていないので何もわからない」となっていては仕事になりません。
課題を解決するために大事なのは「**できない」と述べることではなく「何が原因であるか」「どうすれば改善するか」を考えることです。
「データが正規分布になっていない」のであれば、サンプルを増やしたり違う分布を考えたり、そもそものデータに違う属性のものが紛れていないか疑うなど、何かしら手立てがあるはずです。
「予測値が正しいか評価する基準をクライアントも明確に持っていない」場合は、ある程度の検証スコープを決めてしまい、その範囲でまずはスモールスタートしてみる、などです。
統計学的に正しい事実を述べることは学問的には大事ですが、さらにその一歩先を目指して分析できるようになる、ということがデータサイエンティストに求められているなと感じます。
とにかく手を動かす
後はとにかく手を動かすこと。面倒でも手を動かす。そこから分析は始まります。
あれこれとデータと戯れていくうちに初めて気づくこともあります。仮説を立てるにしてもまずはデータを見る、集計する、可視化する。初速が遅いと後でできる検証の幅も狭まりまってしまいます。これは自分もまだまだ向上せねばならない点です。
ただ数字を眺めているだけでなく実際に集計作業をしていかないと、いつまでもデータの特徴は見えてきません。
机上の空論であれこれ考えようとすると、検証するパターンが増えすぎてしまいます。「この場合はこう、あの場合はこう…」と時間をかけて準備しても、そもそもそんなケースはデータに存在せず、考える必要がなかった! なんてことになりかねません。
クイックな分析をするためにも、手を動かすクセをつけましょう。
それと同時に、すぐに集計や可視化ができるツールを用意しておくのも大事です。
Excelで十分集計できるという人もいれば、pythonでpandasをつかった方が便利だという人もいます。自分もpandas派です。ただExcelの方が可視化に優れているなとも思います。
いつでも出したい数字をすぐに出せるように、武器を磨いておく。そういった日頃の準備も大事なことだと思いました。
最後に
私がこれまで働いてきた経験から、データサイエンティストに必要なスキルについてお話しました。
今後も勉強した内容や経験を発信したいと思います。しゅがでした。
コメント