OrgPath2Vec:人事異動履歴からキャリアパスを分析する
異動履歴データから社内のキャリアパターンを発見できるだろうか。本記事では、Word2Vecを応用して従業員のキャリアパスをベクトル化する手法「OrgPath2Vec」を紹介する。所属コードの系列情報だけを用いて、組織内に存在する複数のキャリア類型を抽出した事例を解説する。
Pythonに関する実践知やノウハウを発信しています。
異動履歴データから社内のキャリアパターンを発見できるだろうか。本記事では、Word2Vecを応用して従業員のキャリアパスをベクトル化する手法「OrgPath2Vec」を紹介する。所属コードの系列情報だけを用いて、組織内に存在する複数のキャリア類型を抽出した事例を解説する。
この記事では、Windowsのパソコン上にPython環境を手軽に構築できる「WinPython」の導入方法を紹介します。 免責事項: 本記事で紹介しているWinPythonの導入および利用は、利用者ご自身の責任において行ってください。本記事の情報を元に実施した結果生じた、PCの不具合やデータの損失、勤務先のセキュリティ規程違反等のトラブルについて、筆者は一切の責任を負いかねます。特に業務PCで利用される際は、必ず貴社のITポリシーを確認した上でご活用ください。 WindowsでPythonの実行環境を作るには? Pythonを使ってデータ分析をしている人は非常に多いと思います。私もその一人で、Google Cloud Vertex AIのColab Enterpriseを分析環境として使っています。普通のColabと違い、フルマネージドでありながらランタイムを一定期間セキュアに維持できるのが気に入っています。 一方、ピープルアナリティクスの伴走支援しているクライアントの分析環境をお聞きすると、Vertex AIのようなWebネイティブな環境を持っている企業様は稀です。たいて...
棒グラフを使った人事データの可視化例です。棒グラフは量を比較するときに利用され、層別のデータ数や量的変数の平均値などの大きさを棒の長さで表現します。 人事データの可視化例 人事データ可視化の狙い * 全社的な人員配置戦略を検討するため、組織毎の在籍人数を確認する。 人事データ可視化アプローチ 利用するグラフ * 棒グラフ: カテゴリ変数の度数や、他の変数に対する統計量を棒の長さで表現する。 アプローチ * 所属別に従業員数を数え上げ、棒グラフで可視化する。 * グラフに所属の平均在籍人数を追記し、相対的に人数の多い部署や少ない部署を確認する。 グラフの作り方 * Pythonのseaborn.countplotによる可視化例。 import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker import japanize_matplotlib import seaborn as sns sns.set_theme(style='da...
折れ線グラフを使ってすべての個体(従業員)のデータを可視化するスパゲッティプロットの例です。すべての個体のデータをプロットすると線が重なってしまいますが、色の透過度を工夫することで全体的な傾向や外れ値・アノマリーを発見することができます。 人事データ可視化の例 人事データ可視化の狙い * 従業員別の時間外の推移を確認し、労務管理上の問題を確認する。 人事データ可視化アプローチ 利用するグラフ * 折れ線グラフ: 量的変数の経時的な変化を観察する。 アプローチ * 月別に独立した形で時間外が記録される横持ちデータから、縦持ちデータへ変換する。 * 各従業員の時間外時間数の推移を折れ線グラフを用いて可視化する。 * カテゴリカル変数である部の情報で線の色を変えることで、組織別の傾向を把握する。 * 各線の動きから季節変動や周期性、上昇・下降トレンドがないか確認する。 * 全体の動きと比較し、特異な動き方をしているデータはないか確認する。 グラフの書き方 * Pythonのseaborn.lineplotを使った可視化例。 import pa...
KDEプロットを使った人事データの可視化例です。KDEプロットは量的変数の分布を曲線で近似して可視化することができ、分布形状の比較を簡単に行えます。また、複数のカテゴリーで分割し俯瞰的に捉えるのに適しています。 人事データ可視化の例 人事データ可視化の狙い * 男女別の年齢構成の違いを比較し、人的資本経営の課題を発見する。 人事データ可視化アプローチ 利用するグラフ * KDEプロット: 量的変数の分布を滑らかな曲線で近似して確認する。 アプローチ * KDEプロットを使って男女別の年齢分布を確認する。 * 構成の違いを見るために、男女の人数差に影響されないように男女独立で密度を推定する。(common_norm=Flase を指定) * 組織などの属性でグラフを分割し、傾向の違いを把握する。 グラフの作り方 * Pythonのseaborn.kdeplotによる可視化例。 import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as tick...
Python in Excelであれこれ試しているのですが、前々から作ってみたかった簡易EDAツールを作ってみました。テーブルデータの項目を選ぶと、いい感じのグラフを自動的に作ってくれるというものです。以下の動画は動作させたときの例で、SNSに投稿したものです。再生速度を上げているので、実際の動作はもう少しゆったりしています。 Python in Excelの動作確認をしながら楽しく適当に作ったものだったのですが、XやLinkedInでポジティブな反応があって驚きました。ありがたいです! せっかくなので、こちらのブログでどうやって作ったのか紹介します。 やりたかったこと 今回やりたかったことは、データテーブルの項目を選ぶと自動的にいい感じのグラフを作るというものでした。つまり、データの種類に応じてデータ可視化手法を選ぶツールをPython in Excelで作ってみたわけです。 どのような場面でどういったグラフを選択するかというのは、ある程度データ分析の経験者の方であればあたりをつけられる思います。しかし、データ分析を始めたばかりの方は、すぐに思い浮かばないことがあるかもし...
Excelの上でPythonを動かせる「Python in Excel」がついに正式にリリースされました。記事を書いている2024年10月23日時点で、ビジネス向けのMicrosoft 365にて動かすことができます。個人向けはプレビュー版のままですが、試してみることもできます。 Python in Excel の概要 - Microsoft サポート Excel の Python は、現在、バージョン 2407 (ビルド 17830.20128) 以降、Windows で現在のチャネルを実行している Enterprise ユーザーと Business ユーザーにロールアウトされています。 バージョン 2405 (ビルド 17628.20164) 以降の Windows で現在のチャネルを実行しているファミリー ユーザーと個人ユーザーはプレビュー段階で利用できます。 (2024.10.23時点の記述内容) 早速手持ちの人事トイデータを使って動かしてみたのですが、以前触ったときよりも洗練されている気がしました。ざっとご紹介したいと思います。 何ができるの? 「Python...
相関分析とは? 相関分析は2つの量的変数の統計的な関連性を把握する分析です。具体的には、片方の量的変数の大小ともう片方の量的変数の大小が関係しているかどうかを確かめます。こうした関係がある場合、2つの変数には相関関係があるといいます。 世の中一般にみられる相関関係の例をあげてみます。 * 身長が高いと体重も重たくなる傾向にある。 * 気温が高くなると冷たい飲料の販売額が伸びる。 * 新卒入社の従業員の場合、勤続年数が大きいと年齢も高くなる。 これらは片方の変数が大きいと、もう片方の変数も大きくなるような例となっています。このような関係を「正の相関がある」といいます。 一方、上の例とは逆に、片方の量的変数が大きくなるともう片方が小さくなる事象もあります。これを「負の相関がある」といいます。具体的な例は以下のとおりです。 * 気温が下がると入浴剤の売上が伸びる。 * エンゲージメントが低下すると離職率が高くなる。 どのような場面で利用するの? 相関関係は予測や観察の土台になるものです。しかし、相関関係は手元にあるデータの値の連動性を記述したものにすぎません。...
クロス集計とは? 2つ以上のカテゴリカル変数を組み合わせて集計した結果を表にまとめることをクロス集計といいます。例えば、所属・年代別の在籍人数を整理したり、組織サーベイで選択式の質問項目の回答結果を整理したりする場合に利用します。 このようにしてできあがった表のことをクロス集計表または分割表といいます。 分割表というと、基本的にはカテゴリカル変数の組み合わせが出現する頻度や割合を集計し、表としてまとめたものを指します。 一方、クロス集計表は頻度集計の他に、カテゴリカル変数の組み合わせ条件の下で別の量的変数の統計量を整理したピボットテーブルを指すこともあります。 どのような場面で利用するの? クロス集計は次のような場面で利用します。 * カテゴリカル変数の組み合わせでデータ件数を数え上げたいとき。 * カテゴリカル変数の組み合わせたグループの大きさや割合を比較したいとき。 * 2つのカテゴリカル変数の統計的な関係を考察したいとき。 * カテゴリカル変数でグループ化したデータの特徴量を作る時。 Pythonでクロス集計表を作る Pythonでグループ集...