研究活動における自動化の重要性
研究を進めるにあたって、各種作業の自動化を意識することは重要です。 本コース「各種処理の自動化」では、自動化に役立つツールや情報を紹介していきますが、まずここで研究活動において自動化がどのような役割を持つのか見ていきましょう。
多段階のデータ処理
例えば研究に必要な図表を作成する場合、以下のような多段階の処理が必要になります。
- 必要なデータの指定
- データの取得・移動・保存 (例: 観測データベースから取得、数値計算の実施)
- データの前処理 (例: 欠損値を適切に補間)
- データのメイン処理 (例: フーリエ変換を実施し、パワースペクトルを計算)
- 可視化に利用するデータの選定 (例: 複数のパラメータについて処理したが、詳細は3例のみ可視化)
- 図表の作成・保存
試行錯誤のスピードアップ
研究では、他の誰も試したことがないことを探求します。最初に頭に思い描いていたやり方のまま研究が進むことはほぼありません。したがって、研究を遂行するにあたって多くの試行錯誤が必要になります。
もし、上に挙げたデータ処理の各ステップで手動の作業が必要な形だと、なにか修正を行うたびに何度も同じような操作をする羽目になります。これは退屈ですし、多くの時間が必要になります。
もし、データ処理の各ステップが自動化されていれば、例えばスクリプトを一度実行するだけで作業が完了する形になっていれば、試行錯誤に必要な時間は大きく短縮されます。これにより、短期間で研究を完成させたり、何度も試行錯誤を行って研究の質を高める事ができます。
パラメータ・設定変更への柔軟性
同様の作業を、異なるデータやパラメータ、設定に基づいて実施したい場合があります。例えば、ある観測期間のデータだとうまくいったが、他の観測期間でも同様な性質が成り立つか試したい、といった場合です。その際も、もしデータ処理がパラメータ・設定に対して整理して記述され、自動化されていれば、例えばスクリプトの1変数を変更するだけで済むかもしれません。
再現性の確保
作業の自動化は研究の再現性を向上させることにも繋がります。人間が行動する場合、多くの暗黙的な知識を無意識に利用しているものです。
データ処理に人間の作業が入ると、やっている人間にとっては明らかなことでも、他の人にとっては良くわからない、という状況が発生しやすくなります。これは「誰がやっても同じ結果になる」という科学の再現性を妨げる要因となります。研究の再現性を確保する意味でも、自動化を意識することは重要です。
過度な自動化には要注意
自動化自体は非常にメリットが大きいものですが、もちろんデメリットもあります。 典型的なデメリットは、自動化するために余分な時間がかかることです。
例えば、本当に一度しか行わないこと(例: 観測データをデータベースから「全て」一度に取得する)を自動化するメリットは弱いです。その場合、作業を自動化させるために時間を費やすより、単に手動で作業を済ませて次の作業に移ったほうが作業時間全体としては短くなります。自動化の恩恵が大きいのは、試行錯誤が発生しやすかったり、同様の操作を何度も実行することが想定される場合です。
過度な自動化に注意しつつ、必要な部分を適切に自動化することで、研究全体の作業時間短縮を目指しましょう。