問い合わせ: contact@b-mystory.com
MyStory
データ分析
2025/11/02
キーワード:機械学習、データ前処理、欠損補完、EMアルゴリズム、多重代入法

機械学習の欠損補完はコレで決まり!アルゴリズム×ビジネス理解を融合したデータ前処理の極意

機械学習の欠損補完はコレで決まり!アルゴリズム×ビジネス理解を融合したデータ前処理の極意

本コラムでは、データ分析や機械学習モデル作成の際に直面する「欠損データの扱い」をテーマに、MyStory社員が普段どんな考え方・手順で欠損を補完しているのかをまとめます。一部、統計学の専門的な内容も含みますが、これまで当社が数多くのデータ分析案件を扱った際の知見や実務で本当に困るポイントにフォーカスして可能な限りわかりやすくお伝えします。。

欠損値は「ノイズ」ではなく、“現実”そのもの

まず最初に強調したいのは、欠損値(=データが入っていないセル)は、ただの「穴」ではなく、しばしば“意味のあるシグナル”そのもの、だということです。

たとえば人事データで「研修受講評価」が欠けている人がいたとします。この“欠け”は単なる入力漏れではなく、

など、組織上の文脈と結びついていることがよくあります。

この違いを無視して機械的に「平均値で埋めておきました」「0で埋めました」としてしまうと、分析データは一見きれいに揃いますが、現場から見ると「ぜんぜん実態と違う」ものになるリスクが極めて高いのです。だからこそ、欠損処理は“集計前の地味な下ごしらえ”ではなく、“分析の成否を左右するコア工程”です。MyStoryではそこをかなり重く扱います。

欠損には複数のパターンがある

欠損といっても全部同じではありません。代表的には次の3タイプがあります。

「完全にランダムに欠けている」状態です。
(例:一部の回答行が通信エラーで落ちた、担当者が手入力で何件か抜かした、など。)
データの持ち主の属性や値とは関係なく、たまたま抜けたパターン。

→ MCARであれば、欠損を持つレコードを除外しても、統計的なバイアスは比較的小さく済むことがあります。

「観測済みの別の情報に依存して欠けている」状態です。
(例:若手社員はまだ評価会議を経ていないので評価スコアが未入力、専門職は自由裁量労働なので残業時間の記録が欠けやすい、など。)

→ “完全なランダム”ではないので、単純に落とす・平均で埋めると特定のグループが体系的に薄まったり歪んだりします。現場の意思決定を誤らせる典型パターンです。

「欠けていること自体が、その人の値と結びついている」状態です。
(例:自己評価の低い人ほどアンケートに答えない/離職意向が高い人ほどエンゲージメント調査に無回答、など。)

→ これは最も扱いが難しいタイプで、単純補完はほぼNG。統計モデルの仮定を工夫したり、現場ヒアリングから“なぜ欠けているのか”を解釈して扱う必要があります。

この3つを見極めずに「欠損しているから0で埋めよう」「平均値補完でいいよね」とやると、MARやNMARの欠損を“都合よく丸めた”だけの分析になります。つまり、解くべきは現場の課題なのに、分析の入り口で歪みを入れてしまうことになるわけです。

よくある“ダメな欠損処理”

部署別の評価スコアが欠けていた社員に、部署平均のスコアをそのまま代入する──これは一見合理的ですが「その人の評価が高い/低いから欠けている」場合(=NMAR)には完全に逆効果です。平均で埋めることで、評価分布を人工的に中央へ押しつけ、優秀層・リスク層のシグナルを消します。

出社日数や残業時間など数量データでありがちな処理です。たとえば「残業時間の記録が欠けている人は0時間とみなす」と置換すると、“記録されていないだけでかなり働いている人”が、分析上は「超ホワイト勤務」に見えてしまうことがあります。人事のアラート設計で誤作動します。

アンケート回答で1問でも未回答がある人を分析対象から外す処理もよくあります。これをやると「忙しすぎて回答しきれなかった人」「不満が高くて回答したくない人」などが丸ごと消え、残った“ヒマで従順な層”だけで平均値を語ることになりがちです。組織改善の緊急度を過小評価してしまう危険があります。

この3つのやり方は、レポートの見た目はきれいでも「経営が本当に知りたい状態」を隠してしまうことが多いです。

統計的な欠損補完アプローチ

もちろん、欠損処理は闇雲な職人芸だけでやれ、という話ではありません。統計学・計量経済学にはしっかりしたメソッドが蓄積されています。その代表例が以下の2つです。

EMアルゴリズム(期待値最大化法)

EM(Expectation-Maximization)は、欠損を含むデータの「ありそうな分布(確率モデル)」を推定し、その分布から欠損値の期待値を推定していく手法です。ざっくりいうと、

ポイントは、「他の列との関係性」を踏まえて埋めること。単純平均よりも、年齢・部署・職種・勤続年数・評価ランクなど、関連する特徴量を同時に使えるため、“その人らしい”補完値に近づけやすくなります。

多重代入法(Multiple Imputation)

EMに近い発想ですが、「1回だけ埋めて終わり」ではなく“複数パターンの埋め方”をつくって分析し、その結果を統合します。メリットは2つあります。

人事データのように、性別・年齢層・職位・勤務地などが複雑に絡んで欠損が発生している場合、多重代入法はかなり有効です。特定セグメントだけ系統的に欠損している(=MAR型の欠損)ケースでも、歪みを緩和できます。

「アルゴリズムだけ」では実務ではNGな理由

ここからが、MyStoryがビジネスデータ分析の実務において一番大事にしているところです。統計的な手法(EMアルゴリズムや多重代入法)は強力ですが、万能ではありません。特に人事領域では「なぜ欠けているのか」に制度・運用・タイミングなどのビジネスロジックが深く関わります。

たとえば、私たちが過去に行った人事データの分析では、以下のようなことがありました。

ここで「機械的に平均値で埋める」「回帰モデルで推定して代入する」だけだと、むしろ現実から遠ざかります。なぜならこの欠損は“まだ評価対象になっていない人”や“制度上フォーマット外の人”という、まさに経営が知りたい層の特徴そのものだから。

だからMyStoryでは、統計アルゴリズムによる補完の前に・あるいは並行して、次のようなロジックベースの補完方針を整理します。

これらは単なる思いつきではなく、「どの属性×どの期間×どの制度で欠けているか」をクロス集計して、欠損の発生メカニズムを徹底的に洗い出すところから設計します。この工程こそが、単にアルゴリズムや技術力に長けているだけでなく、ビジネス力や人間の行動科学を強みにしているMyStoryの価値となります。

MyStoryの基本スタンス:アルゴリズム × ロジック

まとめると、MyStoryは欠損処理を次のような流れで進めます。

✓ MCAR / MAR / NMAR どの欠損タイプが支配的か
✓ 欠損が特定部署・特定職位・特定の人事イベント(異動、出向、休職、入社直後など)と結びついていないかを確認する
✓ 「欠損している人は誰か?」を可視化することで、そもそも経営が注目すべき人たちが浮かぶことすらある

✓ 制度・運用・時期に由来する“必然の欠損”には、業務ロジックに沿った埋め方を明文化する
✓ 「平均で埋めるのが妥当なグループ」「数値では埋めず別ラベル(未評価)として扱うべきグループ」を切り分ける

✓ 上記ルールでまだ埋まりきらない欠損については、EMアルゴリズムや多重代入で“その人らしい”値を推定
✓ その際、推定の不確実性もレポートし、意思決定側が過信しないようにする

✓ 経営会議や人事会議で使う指標に、どの程度の信頼性とバイアスが残っているかを明示
✓ 「この指標は新人にはまだ安定していない」「休職者は別扱いで見るべき」といった注意喚起も併せてお渡しする

この“アルゴリズム×ロジック”の組み合わせを行わないと、きれいなダッシュボードができたとしても、結局「現場の肌感とズレていて誰も使わない」という悲しい結末になりがちです。逆に、このプロセスを踏んでいれば、経営や人事部門が「この数値はどの前提で推定されたのか?」という説明責任に耐えられるようになります。

まとめ:欠損処理は「分析の下準備」ではなく「経営判断の土台」

✓ 欠損にはMCAR / MAR / NMARという欠損タイプがあり、ただ埋めればいいものではない
✓ 平均値で埋める/0で埋める/とりあえず削除する、といった安易なやり方は、組織にとって一番重要なシグナルを消してしまう
✓ EMアルゴリズムや多重代入法のような統計的メソッドを使えば、より妥当な推定値を得られる
✓ ただし実務では、制度・運用起因の欠損を理解したうえで“ロジックで埋める/埋めない”を設計することが欠かせない
✓ その2つを組み合わせ、分析に耐えるデータをつくってこそ、現場のアクションプランに落とせる

MyStoryの役割は、単に「欠損を埋める作業代行」ではありません。「欠損が示している組織の構造」「そこからにじむリスクや機会」「経営がどこを見にいくべきか」を一緒に発掘し、意思決定に耐えるデータ基盤をつくることです。これが、私たちが“欠損処理”と呼んでいる仕事の中身です。

【参考】MyStoryの『データ利活用支援』サービス
『データ利活用支援』サービスへ移動

ご相談はこちらDeep Sportsへ