「データサイエンティスト」って何だ?

加工工程によりある製品の大量生産をするとします。
加工装置に入力する様々な条件があるとします。モノに対してどれくらい力をかけるか、とか、周囲の環境をどれくらいの温度に保つか、とか。管理すべき要因はいっぱいあります。
逆に、管理していないもしくはできない要因もたくさんあるはずで、外乱とか呼ばれます。
管理していようがしていまいが、完成品に影響を与える要因は、様々なセンサーを用いれば、測定することができます。圧力、温度、湿度、流量、…などなど、センシングデバイスを用いれば、様々な要因を数値で把握できます。

完成品がスペックインしているか否か、センター値からどれくらいズレているか、という点もまた、測定により管理されます。そして、「ここの力のかけ具合で完成品のここの寸法が変わる」とか「ここの温度を一定に保たないとここの長さのバラツキが大きくなる」など、様々な要因が完成品にどの様な影響を与えるかを表すことができます。y=f(x)などで表されるモデルです。xが要因、yが完成品、fはプロセスとか系などという言い方になるでしょうか。

xは実際は一つではなく無数にあります。
yも一意に決まるというよりは、あるばらつきを持って出力されます。
yを管理するにはxを管理しなければなりません。単純に、xを一定にしておいたらyも一定でしょ、というと、その通りかもせれませんがなかなか上手くはいきません。まず、「要因xを一定に保つ」ことは(「一定」の範囲にもよりますが)、不可能なことが多いです。また、無数にあるxのなかのいくつが連動してyに影響している場合もあります。というかその方が多いと思います。

そのような複雑な関係性を明らかにし、管理していくのが生産現場のエンジニアリングスタッフの仕事の一つだと思います。
いろんな手法・ツールがあって、平均とったり標準偏差出したり、検定したり回帰したり、最近だとAIとかが流行りですね。

もうずっと前からですが、センサをいっぱいつけてネットワークで繋いでサーバを設けることで、要因xは大量にストレージできるようになりました。リアルタイムで処理して加工工程にフィードバックすることだって、できる範囲は年々大きくなっています。ビッグデータとかIoTとかがキーワードですね。

ただ、データが多かろうが少なかろうが、大事なのはそのデータにどの様な「意味付け」をするかです。何でもかんでも検定して回帰したところで何も得られません。ある仮説を立て、その仮説に基づいてデータを取得し、そのデータを分析して、結果がどれくらい仮説通りになっているのか、仮説通りになっていない部分も絶対にあって、ではその原因は何なのか。そしてまた新たな仮説をたてて…。ということを繰り返しているわけです。もちろん、何の意味もないと思っていたデータが実はとある処理をしたらとてつもない価値があるモノだと判明した、みたいなこともありますが、それ狙いでデータ取りに行くのは流石に効率が悪いのですよね。ですので、この「仮説構築」「データ分析と意味付け」がエンジニアの真髄ではなかろうか、と思います。

最近、「データサイエンティスト」が持て囃されている感じがします。人材として不足しているそうです。「データサイエンティスト」の定義がイマイチ分かっていないのですが、たぶん上記の様な「仮説構築」「データ意味付け」「データ取り」「データ分析」などをする人のことなのかなと考えました。
ということは、データサイエンティストって最近ポッと出てきた職種ではなくて、ずっと前からあったものだよなあ、と思います。まあ、データ取る人と処理する人が別々、とかは環境によってはあるでしょうが、それはだいぶ恵まれた環境だと思います。

世の中のエンジニアは多かれ少なかれ皆んなデータサイエンティストではないだろうか、というのが今日書こうとしたことです。(相変わらず上手く伝わらない文章だ)
うーん、なんか定義付け間違ってるのかな。わからなくなってくるな。

ただ、データサイエンティストというのがメジャーになりだしたのは、ビッグデータやAIが流行り出した頃の様な気がしています。ということはやはり、データサイエンティストってAI(機械学習とか)やIoTに精通していることが暗黙の必須条件としてあるのでしょうか。結局、AI周りの技術を習得している人間がまだまだ少ないんですかねえ。

もうちょっと勉強したら見えてくるものも変わるかもしれませんが、本日は個人的なメモも兼ねて思ったことを書いてみました。