データ活用プロジェクトで予測モデルを作る場面はよくありますね。AIや機械学習技術が浸透してきた今日、データから予測モデルを作ることは特別なものではなくなってきました。
ところで、どのような場面で予測モデルを利用されていますか?
予測という言葉を文字通り捉えると、何となく将来的なものを予測するように感じる方もいらっしゃるかもしれません。参考書によっては、予測モデルを用いたアプローチについて「何が起こりそうか?」という問いと紐づけて説明しているものもあります。この表現は大変わかりやすいのですが、もう少し幅を広げて考えることもできます。
データサイエンスにおける「予測」とは?
データサイエンスにおいて「予測」を考えるとき、それは必ずしも将来の予測だけを意味するわけではありません。例えば、以下のようなタスクも予測タスクといいます。
- Webに投稿された記事のジャンルを推定してタグ付けする。
- ユーザーが次に何を買いたいか予測してレコメンドする。
- 従業員の労務記録からストレス状態を推定する。
- メールの文面からスパムかどうか判別して仕分ける。
- 画像に含まれる物体の種類を認識する。
- 来期の売上や損益を予測する。
これを見ると必ずしも将来の予測を意味するわけではないことがわかりますね。実際、私がこれまでに携わってきた予測タスクでは、将来の予測でないものが大半でした。
データサイエンスにおける予測とは、手元にあるデータを活用して、新たに入手したデータから何らかの未観測の値を予想することを指します。
一般的には、手元にあるデータには、予測したい対象とその手掛かりになるデータがセットで記録されていて、新たに入手したデータには手掛かりしか含まれていない、というようなシチュエーションとなります。
先ほどあげた一つ目の例でいうと、以下のような状況で新たに入手したWeb記事のジャンルを予測してみましょう、というタスクになります。
- 手元にあるデータ: Web記事本文(手掛かり)・ジャンル(タグ)
- 新たに入手したデータ: Web記事本文(手掛かり)のみ ⇒ ジャンルを予測したい
機械学習分野では、予測する値が量的変数の場合に「回帰問題」、カテゴリカル変数の場合に「分類問題」と呼びます。一方、統計学や統計解析においては、予測に利用するモデルによって呼び方が異なる場合もあります。
ピープルアナリティスクにおける予測タスク
それでは、人事分野においては、どのような予測タスクが存在しているのでしょうか?
すぐに思いつくアイデアとしては、以下のようなものがあります。
- 従業員別に時間外の累積を予測して法定基準を超過しそうであればアラートを出す。
- キャリア希望に合う社内ジョブやプロジェクトの情報をレコメンドする。
- ジョブディスクリプションに対して候補者のマッチ度合いをスコアリングする。
- 配置業務で空きポストに対して候補者の適合度をスコアリングをする。
採用・配置・評価など、業務プロセスを起点として考えていくと、利用できそうな場面を思いつくことができるでしょう。予測という言葉に引っ張られず、業務の流れを冷静に洗い出して考えることが大切です。
発想を広げるためには、以下のような問いを考えてみるとよいかもしれません。これらの問いは、いずれも何らかの作業を省力化することを狙ったものです。
「人手でやっている作業で機械処理させたいことはないか?」
「新人には難しいが1-2年もすればなれるような作業はないか?」
「人海戦術でやっている作業はないだろうか?」
人事業務のシステム化の歴史は長く、給与計算や人事管理の重要な部分はシステム化されてきました。しかし、既往の人事給与システムはカチッとした業務ルールに基づいてシステム化されていますので、ルール化できない作業はシステムの外に置かれています。そのため、省力化のチャンスは意外にあるのです。
ルール化が難しい作業を狙う
一例として、「従業員別に時間外の累積を予測して法定基準を超過しそうであればアラートを出す」というタスクを考えてみましょう。
このタスクに対して、ルールベースでのアプリケーション仕様を考えると、例えば以下のように閾値を持ってシステム化する必要があります。
- 年度上限の設定: 360時間
- 月別累積閾値の設定: (360 / 12) × 経過月数 × 安全係数
- 従業員別累積時間外を算出し閾値と突合
ここで問題となるのは、①安全係数をどの程度設定したらよいか分からないことと、②従業員のワークスタイルのバラツキや季節変動に弱いことです。全社一律で安全係数を設定するのも違う気がしますが、その一方で、部門や上司に安全係数を設定してほしいと依頼しても困るでしょう。このように、バラツキや不確実性を持った情報を取り扱うには既往システムでは対応が難しい場合があります。
このようなとき、データを活用して来月以降の時間外を予測するモデルを構築し、予測モデルの予測値を累積してアラートを出すような仕組みを作ると業務改善につながります。
これを実現する最も単純な方法は、従業員別に過去数か月の移動平均をとって予測するようなものですが、これでも安全係数を手動で設定するよりかはよさそうです。さらに働き方の多様性に対応するためには、実績データに基づいて従業員や職種・職場の季節変動や周期性を考慮した予測モデルを構築すれば精度は高まるでしょう。
省力化はコストの削減だけに限定されない
さて、省力化というとどうしてもコスト削減的なニュアンスが含まれてしまうと思います。先ほどの時間外アラートの例も、人事担当者や管理職が時間をかければできることかもしれません。しかし、見方を変えると、人手でできなくはないがやると大変だからできていないとも想定されます。つまり、コスト削減ではなく新しい価値を生み出しているともいえます。
もっと前向きな例といえば、従業員の希望に合わせたキャリアパスやポストのレコメンドでしょうか。レコメンドも予測に基づいたアプローチのひとつです。人材の流動性が高まり、組織内の異動も自発的なものに転換していくとしたら、こうした情報の提示は大切です。しかし、これについて人事部門が一人ひとりアナログで対応するには限界もあるでしょう。そこで組織内レコメンドのような仕組みが求められ始めています。
このようなパーソナライゼーションを実現するにはデータの力は欠かせません。そして、その問題解決の根本は何らかの作業の省力化に帰着しますが、アウトプットの価値はそこではないはずです。例えば、ECサイトのレコメンドはカスタマーの商品探索作業を省力化しながら商品の発見を手助けしています。
コスト削減の観点だけでなく「これが実現できるともっと良くなるのに」という角度で考えてみると、面白いアイデアがきっと出てくるでしょう。
万能でない予測モデルをうまく活用する
ここまで、ピープルアナリティスクにおける予測タスクについて考えてきました。データを使った予測は省力化という観点でみると広がりがあるものです。
その一方、データによる予測は決して万能ではない、ということに注意する必要があります。その主な理由は、次の通りです。
- 予測モデルを作るために使用したデータの傾向と全く異なることは予測できない。
- データを生成しているメカニズムが大きく変わったときに対応できない。
- 予測モデルの精度は100%にならず、出力に何らかの不確実性を含んでいる。もし精度が100%になるようなシチュエーションであればルール化できるはず。
データを使った予測モデルはいたるところで利用されていますが、それは上記のような制約を重々理解したうえでのことです。データサイエンティストには様々な予測の相談事が持ち込まれるのですが、初めに思いつく問いは「その問題はルールベースで解けないだろうか?」です。もしルールによって問題が解けるのであれば、データを使った予測モデルを実装する必要はありません。
それでは、データによる予測モデルを使って省力化すべき業務とはどのようなものでしょうか?
それをひとことでいうと、熟練度の異なる100人の作業者がいたとして、80人くらいはその作業の結果が同じになるような作業です。もし100人がみな完全にこなせる作業であるならば、おそらくルール化ができるものでしょう。一方、100人いたときに100通りのアウトプットになるようなものであれば、予測モデルでの自動化は困難です。
このように書くと期待外れだなと思う方もいらっしゃるかもしれませんが、冷静に観察してみるとチャンスはいたるところに転がっています。前向きに考えるために、以下のような問いを考えてみることをお勧めします。
「経験を積めば誰でもできるようになる作業は何だろう?」
「もっと戦略や施策を考えるのに時間を使いたい。手放す作業は何だろう?」
「従業員に提示すべき組織開発や人材育成につながる情報は何だろうか?」
また、これとは違う角度になりますが、データ分析タスクの部分的な作業に予測モデルを使う、またはプロセスに組み込むというユースケースもあります。例えば、テキストデータの前処理のために分類モデルを活用したり、欠損値を補完するために回帰したりなど。
道具としての特性を正しく把握することができれば、応用範囲を広げることができます。これは予測に限ったことではありません。問題解決のアイデアを思いつきやすくなりますので、データ分析手法の制限や特長を正しくつかむことをおすすめします。