分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。
金子研において、学生が研究室配属になった後は、新人研修として Python プログラミングを学んだり 色々なデータ解析・機械学習をしたりします。そして毎週、進捗の状況を報告してもらっています。その報告する資料の作り方として、データ解析・機械学習の結果は図表にしましょう、ということは、こちらに書いた通りです。
他にも、解析結果を見たときに、自分が想定していた結果とどんなズレがあるか、複数の解析結果が得られた場合にはその間の整合性はどうなっているか、検討してもらいます。言い換えると、「違和感がないか」を確認することです。
データ解析・機械学習の勉強や Python プログラミングに多くの時間がかかり、解析結果が出るまでに苦労すると、結果が出たこと自体に満足してしまい、その後に思考停止してしまうことがあります。このような状況に陥らないためにも、最初の一歩として、自分の違和感を大切にすることが重要です。
自分の違和感を正直に受け止め、それを出発点として、確認作業や次の考察に移ります。違和感からはじまり詳細に確認した結果、場合によっては、Python コードのミス (バグ) が見つかることもあります。違和感を無視して結果を鵜呑みにしたり、そのまま発表したりしてしまうと、そのバグに気づけませんし、バグはなかったとしても、その結果から次の考察や解析などに進むことはできません。
別のケースとして、違和感をそのままにした結果、何らかの報告や発表において、聴いている人から 「そんなことも気づかないのか」 と言われてしまうかもしれません。結果的に、Python コードにバグがあるかもしれませんし、ないかもしれませんが、いずれにしても違和感は重要です。バグであればコードを修正できますし、バグがなければ、なぜその違和感があったのか次の考察に進むことができます。
例えば、回帰分析を行ったときに得られたプロットで、対角線から外れた点に違和感があった場合、そのサンプルがどのようなものなのかを調べることができます。
そして、それが特異点であることに気付けたり、さらなる考察へと進めたりすることがあります。他にも、クラスタリングや可視化結果で、明らかに異なるグループに分かれている場合など、違和感に正直になって、その原因を突き止めることで、Python コードのバグに気づいたり、より深い解析や考察に進めたりできます。
解析結果を確認するときは、ぜひ違和感を大事にしていただき、とことん突き詰めるようにしましょう!
以上です。
質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。