「人事データ分析入門講座」講師の武田です。
本日もよろしくお願いします。

今回は、前回の続きで、カテゴリカル変数の外観を捉える方法をお伝えしていきます。

カテゴリカル変数の分析を始める前に

量的変数は定量的な比較ができますが、カテゴリカル変数は直接的には量的な分析を行うことはできません。そのため、量的変数に何らかのまとまり(グループ)を与えるものとして利用している方も多いのではないでしょうか。例えば、所属別に時間外時間数を比較したり、男女別にエンゲージメントを集計したり。

人事データ分析では人や組織の観点が重要で、それらが持つ属性情報が分析の切り口になります。そして、人や組織の属性情報の多くがカテゴリカル変数で表現されています。そのため、カテゴリカル変数は分析の切り口として大きな意味を持ちます。

それでは、人事データ分析を始める前にカテゴリカル変数の外観を捉えるとは、どのような作業を指すのでしょうか?

第一にやるべきことは、カテゴリカル変数に含まれる要素(カテゴリー)の種類を確かめることです。例えば、性別や所属、グレード(あるいは等級)というデータ項目があった場合、そのデータ列に含まれるすべての値をチェックして、列に含まれるカテゴリーの種類を特定するような作業です。

「そんなのわかっていることでしょう?」と思われる方もいらっしゃるかもしれませんが、データ分析者は疑わなくてはなりません。例えば次のようなことを確認する必要があります。

  • もしかしたら欠損があるかもしれない。
  • 過去の制度変更により新旧のグレード(等級)が混在しているかもしれない。
  • 自分が把握していない所属やグレードがあるかもしれない。
  • カテゴリー数が想定よりも多いかもしれない。
  • 統計ソフトウェア上はカテゴリカル変数と認識されているが、本来は数字かもしれない。

ということで、カテゴリカル変数の外観を捉える第一歩目は、データ列が持つカテゴリーの種類を明らかにすることです。一例として、当サイトで公開しているHRトイデータ人事情報拡張版」から、性別・部・グレードについて、それぞれのデータ列が持つカテゴリーを抽出してみました。この時点で欠損やイレギュラーな値が見つかることもあります。なお、この作業は統計ソフトウェアを使うと簡単にできます。

# 「性別」に含まれるカテゴリーの種類
'男', '女'

# 「部」に含まれるカテゴリーの種類
'営業部', '開発部', '経理部', '研究部', '総務部'

# 「グレード」に含まれるカテゴリーの種類
'M', 'L', 'S', 'E'

階層に注意する

上の例から、組織情報である「部」に注目してみます。カテゴリーをみると5つの部があることがわかりました。一般的に組織は階層構造になっていますので、部の下位レベルである課の状況も気になります。早速確かめてみましょう。

# 「課」に含まれるカテゴリーの種類
'A課', 'B課', 'C課', 'D課', 'E課', 'F課', 'G課', 'H課', 'I課', 'J課', 'K課', 'L課', 'M課', 'N課', 'O課'

課のデータ列に含まれるカテゴリーは、'A課'から'O課'までの15課ということになりました。部の数が5つでしたから、一つの部に対して平均的に3つの課が存在していることになりますね。

しかし、これは本当でしょうか?

この概算には「課の名前は全社でユニークである」という前提が潜んでいます。逆にいうと、同じ名前の課が複数の部に存在している場合は成り立ちません。

試しに部と課のペアを抽出してみると40ペアが抽出されました。以下、一部を抜粋したものですが、明らかに課の名前に重複がありますね。

('営業部', 'A課'),  ('営業部', 'B課'),  ('営業部', 'C課'),  ('営業部', 'D課'),  ('営業部', 'E課'),  ('営業部', 'F課'), ('営業部', 'G課'), ('営業部', 'H課'), ('営業部', 'I課'), ('開発部', 'A課'), ('開発部', 'B課'), ……〈省略〉…… , ('研究部', 'D課'), ('研究部', 'E課')

このように、カテゴリカル変数同士に何らかの階層構造がある場合、同じ値であっても実際の意味合いが異なってしまうので注意が必要です。

この問題の解決策はいくつかあります。今回のケースの単純な解決策は、部と課を連結した列を作ってしまうというものです。なお、トイデータにはあらかじめ部と課を連結した「所属」という項目を準備しています。

より慎重な解決策としては、データ提供元(システムや部門)とコミュニケーションをとって実態を把握するのがよいでしょう。

ワーストケースへの対応

ワーストケースとして、階層以外の観点で同名で意味が異なるカテゴリーがあると判明した場合、それらを分離できるようにデータを加工しなくてはなりません。

ただし、人事システムのようにがっちりしたシステムから出てきたデータであれば、通常はこのような事態をシステムが許容しません。おそらく、名称とは別に値を識別する記号(コード)を有しているはずですので、それを利用することになるでしょう。

このようなワーストケースに直面することは稀かもしれませんが、経験上ゼロではありません。この問題は、人事制度の変更、組織改定、システム移行などを背景に生じます。したがって、このような事態が生じているときには、システムまたは人事内に何らかの対応表を持っているはずです。そうでなければ昇給や給与支給などの人事プロセスを回せないからです。

なお、人事システムの場合、名称の重複問題が起きた場合にはレコードの参照日付の対処になることが多いです。

カテゴリカル変数を計量する

さて、ここまでのお話は準備でした。カテゴリカル変数に含まれるカテゴリーの種類がわかったところで、計量していきましょう。

とはいえ、カテゴリカル変数は数量ではないので直接数えることはできません。そのため、「カテゴリーの種類ごとのデータ件数を数え上げる」というのが基本戦術になります。早速やってみましょう。

人事トイデータの中で部に着目し、カテゴリー別のデータ件数を数えてみると次のようになりました。結果はデータ件数の多い順にソートしています。データ件数に違いがあることがわかりますね。なお、このようなデータは計数データと呼ばれます。

開発部    290
営業部    150
総務部     60
経理部     50
研究部     50

件数だけでなく割合で見てみると次のようになりました。全体の約半数が開発部ということがわかります。

開発部    0.483
営業部    0.250
総務部    0.100
経理部    0.083
研究部    0.083

計数データを数字で見るのに加えて、グラフを利用するのもよい方法です。まずはデータ件数を棒グラフで可視化してみましょう。数字で見るよりもわかりやすいという方もいらっしゃると思います。

それでは課を含めた場合どうなるでしょうか?
部と課の情報を連結した「所属」を計量してみましょう。まずは先ほどと同じように件数を数えてみました。しかし、カテゴリー数が40個と多いため、俯瞰して見るのが少々大変です。

開発部E課    31
開発部M課    29
開発部C課    26
開発部A課    24
営業部A課    22
営業部C課    22
開発部J課    20
開発部K課    20
総務部D課    18
開発部F課    18
開発部I課    18
営業部F課    16
開発部O課    16
営業部D課    16
(省略)

このようなときは、統計量を見るのもよいです。所属のカテゴリーに対するデータ件数は量的変数なので、平均や標準偏差を計算して外観を捉えることもできます。

# 「所属」のカリー別データ件数の統計量
count    40.00
mean     15.00
std       5.71
min       8.00
25%      11.00
50%      13.00
75%      18.00
max      31.00

統計量だけでわかりにくい場合は、ヒストグラムを描いてみるとよいでしょう。

ここまでの分析で部や所属の外観が見えてきましたが、さらに踏み込んで他の変数を切り口として様子を見ておくのもよいでしょう。例えば、部と年代でレコードを数えると以下のようになりました。

あまりやりすぎると外観を捉えるという意味合いから離れてしまいますが、気になったことがあれば踏み込んで見てみることをおすすめします。人事データ分析においてデータの外観を捉えるというのは、データ欠損などの機械的な確認を越えて、分析者自身が組織や人に対する理解を深めるために重要だからです。

Whoという視点でデータの外観を捉えることをお伝えしました。

具体的には、「データ」「システム」「従業員」それぞれでどんな人が含まれているのか把握することが大切で、いずれも分析対象である人への理解を深めることがポイントになります。

データがやってきたら、まず何をやるべきか?(後編)

まとめ

今回は、カテゴリカル変数の外観を捉える方法をお伝えしました。カテゴリカル変数は他の量的変数に対して何らかの構造を与えます。また、数え上げることで量的変数として分析することができます。いずれにせよ、人事データ分析において大切な切り口となりますので、分析の初期段階でその全体像を捉えておくと有益です。

次回もお楽しみに!