1 欠落率の基本
欠落率は、欠損データが全体のどれほどを占めるかを示す割合指標であり、観測対象に対して実際に値が得られていない比率を定量化する。データ品質の把握だけでなく、前処理として補完するか除外するか、あるいは分析手法を欠損に頑健なものに切り替えるかといった判断の前提になる。
欠落率は単なる「欠損の多さ」ではなく、欠損の定義と評価範囲の設定に強く依存する。そのため、実務では「何を欠損とみなすか」「どこまでを母集団に含めるか」を明確にしたうえで計算する必要がある。加えて、欠損がランダムに発生しているのか、特定の背景要因により偏っているのかで、統計的推定の妥当性や解釈の仕方が変わる。
1.1 欠落の定義
1.1.1 欠損の種類(未入力・未観測・異常値の扱い)
欠損は発生経路により性質が異なる。たとえば未入力は、ユーザーやシステム側の入力行為が行われなかった状況を指す。未観測は、センサー不良や観測条件の非成立などにより、本来取得できる可能性があっても実データとして得られなかった状態を含む。異常値の扱いは特に注意が要り、単に極端な値を観測として残すのか、それともデータ品質上の問題として欠損扱いにするのかで結果が大きく変わる。
この区別は、欠損のメカニズム推定(後述)にも関わる。未入力と未観測はともに欠損として集計できる場合がある一方、生成過程が異なれば欠損の偏り方も変わりうる。したがって、欠損の分類をデータ設計や運用ログに照らして説明可能な形に整えることが望ましい。
1.1.2 欠落として扱う条件(欠損コード、空欄、特定値)
欠落率を計算する前に、欠落としてカウントする条件を定義する。一般に、欠損コード(例:-999、9999などの専用値)、空欄、もしくは文字列としての欠損表現("NA"、"null"など)が明示的に存在する。さらに、特定値を欠落扱いにする運用もある。たとえば「本来は測定不能領域に相当する値」を欠損として扱う、あるいは「入力仕様上の埋め値」を欠落に変換する、などである。
条件は統一されていなければならない。列ごとに欠損判定基準が混在すると、同一の欠落率でも意味が一致しなくなる。加えて、欠損とみなさない値が本当に正当な観測なのか(異常値の閾値設定など)を検証し、欠落判定の根拠を記録しておくと再現性が高まる。
1.2 欠落率の計算
欠落率の計算は、分母(評価対象の総数)と分子(欠損と判定された数)を定義したうえで、割合または比率として算出する。算出単位を揃え、同じ欠損定義を用いることが前提である。
1.2.1 分母と分子の決め方
分子は「欠落として扱う条件を満たす観測の個数」である。分母は「欠落判定が可能な対象の総数」であり、分析に入る前提データの範囲を示す。たとえばデータテーブルにおいて、ある列の欠落率を求めるなら、その列が参照されうる行数が分母になる。行によってそもそもその列が存在しないケース(スキーマ変更や一部サブセットのみの保存)では、分母をどう設定するかが特に重要になる。
分母の取り方次第で欠落率は変化するため、欠落率を比較する場合は同一の評価範囲で計算していることを確認する必要がある。実務では、欠損判定に使う列の型(数値・文字列)や欠損コードの変換手順も分母算出に影響しうる要素として扱う。
1.2.2 集計単位(行単位・列単位・グループ単位)
欠落率は集計単位によって意味が変わる。列単位では特定の変数について、どれほど値が欠けているかを示す。行単位ではレコードごとの欠損度(どの程度の項目が欠落しているか)を示し、同一ユーザーや同一事象に偏りがあるかを見るのに使われる。さらにグループ単位では、カテゴリ(部署、地域、商品カテゴリなど)や区分(顧客区分、施設種別など)ごとに欠落の割合を比較できる。
同時に、グループ単位の欠落率はサブセット内の分母が変わるため、比較可能性の担保には注意が必要である。たとえばグループの母数が小さい場合、欠落率の不確実性が大きくなる。このため、欠落率とともに母数を表示する運用が望ましい。
1.3 欠落率が示す意味
欠落率は、欠損がどれほど存在するかという量的情報である。だが、その価値は「欠落率が高いこと」自体よりも、「その欠落が分析に与える影響を見積もるための観測」にある。
1.3.1 データ品質の評価
高い欠落率はデータ収集や入力過程の品質課題を示す可能性がある。列によって欠落率が大きく異なる場合、変数ごとに設計や運用上の難所があることを示唆する。逆に行単位で欠落が集中している場合は、特定の入力チャネルやイベント種別の問題が疑われる。
ただし欠落率だけでは原因を断定できない。取得不能の要因やユーザー操作の違いなど複数の背景がありうるため、欠落率は調査の出発点として位置づけるのが適切である。
1.3.2 分析の不確実性への影響
欠落が分析結果に与える影響は、欠損の発生がランダムかどうか、また欠損が推定対象とどう関連しているかに依存する。欠落率が高い場合、利用可能なサンプルが減るだけでなく、欠損によって残ったデータが母集団の特徴を反映しにくくなる可能性がある。結果として推定のばらつきが増え、推定値のずれが生じることがある。
不確実性の観点では、モデルの推定誤差だけでなく、欠損処理(除外や補完)による影響が上乗せされる。したがって、欠落率の高低に加え、欠落パターンを評価し、それに応じた検証(感度分析など)が必要になる。
2 欠落率の種類と表示方法
欠落率は単一の指標としてではなく、複数の切り口で表示することで理解が深まる。全体像(どれくらい欠けているか)に加え、変数差やレコード差、さらに条件付きの偏りを示すことが重要である。
2.1 全体欠落率
2.1.1 属性別欠落率
属性別欠落率は、列(変数)ごとに欠落率を算出し、どの項目が欠けやすいかを比較する方法である。一般に、同じ欠損定義と同じ対象行集合に対して計算することで意味が通る。複数の特徴量を扱う分析では、欠落率が高い変数がモデル入力に寄与しにくくなることがあるため、事前に把握しておくと設計が安定する。
2.1.1.1 列(変数)ごとの比較
列ごとの比較では、欠落率に加えて分母のサイズも同時に確認する。欠落率が同程度でも母数が違えば信頼性の強さが異なる。欠落率ランキングを作ると、前処理の優先順位(補完の対象、除外する候補、追加のデータ取得が望ましい候補)が整理しやすい。
さらに、データ型が異なる列同士では欠損の出方が変わりうるため、数値列、カテゴリ列、テキスト列などで欠落率を分けて見ると解釈しやすい場合がある。
2.1.2 サンプル(行)別欠落率
サンプル別欠落率は、レコード(行)ごとに欠けている項目の数や割合を示す。データ品質の観点では、特定のサンプルが「非常に欠けている」ことでモデルの入力が偏る可能性があるかを確認できる。
2.1.2.1 レコード欠損の集中度
レコード欠損の集中度とは、欠落が少数のレコードに集中しているのか、広く分散しているのかを捉える考え方である。たとえば、多くのレコードは完全で一部のレコードだけ欠けているなら、除外方針が有効な場面がある。一方で全体的に欠けており、平均的に欠落があるなら、除外より補完や欠損に強い推定枠組みが適することが多い。
集中度を評価する際は、欠落数の分布(度数)や累積分布を併せて見ると、どの程度の閾値で除外すべきかの議論が可能になる。
2.2 条件付き欠落率
条件付き欠落率は、特定の条件(カテゴリ、期間、層など)を固定して欠落率を比較する。全体の欠落率だけでは見えない偏りを検出しやすくなる。
2.2.1 グループ別比較(カテゴリ別)
カテゴリ別比較では、例えば地域や部門、商品カテゴリなどに分け、各層の欠落率を算出する。層によって欠落が系統的に高い場合、収集手順の違いや利用状況の差が疑われる。欠落率が低い層は設計の参考になり、欠落率が高い層は追加調査や対象プロセスの見直しにつながる。
比較の際は、カテゴリの人数が少ないと欠落率が極端になりやすい点に留意する必要がある。母数表示や、必要に応じて集約単位を見直すことが実務では重要になる。
2.2.2 時系列・期間別欠落率
時系列・期間別欠落率では、観測日やデータ生成時点を基準に期間を区切り、期間ごとの欠落率を追跡する。これにより、システム変更、運用ルールの導入、機器の故障など、時間に関連した要因を推定できる場合がある。
変動が急な区間がある場合、後続の欠損処理では期間に関する情報を取り入れるか、あるいは期間内で別の推定方針を採用するなどの工夫が検討できる。
2.3 欠落率の可視化
可視化は、欠落率を直感的に理解し、原因仮説や前処理方針の議論を促進する。数値だけでは気づきにくいパターンを見つける用途で効果がある。
2.3.1 欠損ヒートマップ
欠損ヒートマップは、行と列の格子に欠落有無を割り当て、欠損がどこに集中しているかを色で表す手法である。列方向の縦筋が目立つ場合は特定変数の欠落が強い。行方向の横筋が目立つ場合は特定レコード群に欠けが集中している可能性がある。
ヒートマップの有効性は、並べ替えにある。欠落率の高い列を上位に並べる、あるいは同様の欠落パターンを持つ行をクラスタリングして隣接させることで、構造が浮かび上がる。
2.3.2 欠落パターンの要約図
欠落パターンの要約図は、ヒートマップを簡潔に表現することで全体の形を把握するための図である。たとえば欠落の組合せ(どの列が一緒に欠けるか)を要約し、頻出するパターンをラベル付きで示す。これにより、同時欠落が存在するか、特定の組合せが支配的かを短時間で把握できる。
要約図は可読性を高める一方で、詳細な位置情報は失われる。したがって探索段階ではヒートマップと要約図を併用し、疑わしい箇所を詳細に戻って確認する運用が実際的である。
3 欠落パターンの評価
欠落率の数値だけでは足りず、欠落の並び方や関連性を調べることで、統計的推定の妥当性に関わる条件を見積もれる。評価は「メカニズムの仮説」と「観測データからの手がかり」に基づいて進める。
3.1 欠落のメカニズム概観
欠落のメカニズムは、欠損がデータの情報に依存している度合いで整理される。分類は推定戦略の選択に影響するため、概観として把握しておくことが重要である。
3.1.1 ランダム性の観点
ランダム性の観点では、欠損が観測済み情報や潜在的な真の値に対して独立に発生しているかを考える。欠損が完全にランダムであれば、除外や単純な補完が比較的妥当になりやすい。一方で欠損が特定の特徴量に結びついているなら、残ったデータは母集団と異なりうる。
実務では完全なランダム性を証明するのは難しく、観測された関連から仮説を立て、推定と検証で妥当性を評価する方針が採られる。
3.1.2 構造的な欠落の疑い
構造的な欠落の疑いは、欠損が特定の条件や状態に結びついている可能性を示す。たとえば特定カテゴリの顧客では特定項目の入力が運用上不要である、あるいは装置の種類によって測定可能な項目が異なる、などの状況がある。こうした場合、欠損は単なる偶然ではなく、生成過程の一部として解釈される。
構造的欠落は補完の難易度を上げる場合がある。なぜなら欠損が「値の欠け」ではなく「値が定義されない状況」を含むことがあり、その境界の切り分けが必要になるためである。
3.2 欠落の相関と手がかり
欠落の関連性を調べることにより、どの要因が欠損と結びついているかの手がかりが得られる。ここでは欠落フラグ(欠けているかどうか)を目的変数のように扱う発想が役立つ。
3.2.1 欠落と他変数の関連
欠落フラグを説明変数や目的変数の片側に置き、他の特徴量との関連を確認する。例えば、ある列の欠落が特定のカテゴリ変数と強く結びついているなら、入力仕様や利用シーンの違いが原因かもしれない。連続変数では、欠落が起きやすい値域や分布のシフトが観測されることがある。
関連が見つかっても因果を即断することはできないが、少なくとも欠損が完全にランダムである可能性は下がる。結果として、補完モデルにその関連性を取り込むか、欠損に頑健な手法を使うかの判断材料になる。
3.2.2 欠落と目的変数の関連の検討
目的変数との関連を見ることは、欠損が予測や推定の中心に与える影響の大きさを推し量るために重要である。欠落しているケースの目的変数分布が欠落していないケースと異なるなら、除外により目的変数の分布が歪む恐れがある。
検討では、目的変数が連続かカテゴリかに応じて適切な比較を行う。さらに、目的変数自体が欠落する場合は同様の手続きを繰り返す必要がある。欠落が双方に関係するなら、前処理戦略はより慎重に設計されるべきである。
3.3 欠落パターンの記述指標
欠落パターンを数値化することで、探索結果を比較可能にする。ここでは同時欠落とクラスターという観点を記述指標として扱う。
3.3.1 同時欠落の程度
同時欠落の程度は、複数の列が同じレコードで一緒に欠ける割合や頻度として表される。たとえば変数AとBが同じ条件で入力される設計なら、欠落も同時に起きやすい。逆に欠落の組合せが複雑であれば、複数の生成要因が存在する可能性がある。
同時欠落はペア単位で見るだけでなく、上位の組合せパターンを抽出して整理することで、補完設計や特徴選択の議論が進みやすくなる。
3.3.2 欠落クラスターの有無
欠落クラスターの有無は、欠け方が無作為ではなく集塊として現れるかを評価する考え方である。行方向で類似の欠落構造を持つ集団がある場合、入力経路や対象母集団の分割を反映していることがある。列方向でも欠けやすい変数の集合がまとまるなら、設計上のまとまりや依存関係の存在が示唆される。
クラスターの検出には、行と列の並べ替えや次元削減、クラスタリングの補助などが用いられる。重要なのは、検出されたまとまりが実務上の意味(運用や仕様)と結びつくかどうかである。
4 欠落率に基づく実務対応
欠落率と欠落パターンの評価結果は、前処理方針とその検証計画に直結する。ここでは除外と補完の選択、補完方法の考え方、そして評価時の注意点を扱う。
4.1 前処理方針の決定
前処理は「どの情報を残し、どの情報を捨てるか」「推定のためにどのような仮定を置くか」を決める行為である。欠落率が高い場合ほど方針選択の影響が大きくなる。
4.1.1 除外(リストワイズ等)の適用条件
リストワイズ(欠損を含む行を丸ごと除外する方式)を用いるのは、欠落が少なく、除外しても母集団が大きく変わらないと見込める場合である。欠落が目的変数や主要な説明変数と結びついているなら、除外により分布が歪むため、適用の妥当性が下がる。
さらに、除外によってサンプル数が不足する可能性も考慮する。モデルが複雑でパラメータ数が多いほど、有効データが減ると過学習や推定不安定が起きやすい。したがって除外は、欠落率の低さだけでなく、欠落と重要要因の関連が小さいことを確認したうえで慎重に選ぶ必要がある。
4.1.2 補完(イミュテーション)の適用条件
補完は欠落部分に値を推定して埋める方法であり、除外に比べてデータ量を維持できる。適用条件としては、欠落のメカニズムが完全なランダムから大きく逸脱していない、あるいは関連情報を使って欠落をある程度説明できる見込みがあることが挙げられる。
ただし補完は仮定を導入する。補完モデルが欠落パターンを十分に捉えられない場合、埋めた値が系統誤差を生む。したがって、欠落の構造性が疑われる場合は、補完前に欠損フラグや層別の考え方を検討するなど、補完方針を慎重に組み立てることが求められる。
4.2 補完方法の考え方
補完方法は大きく単純補完とモデルベース補完に分けられる。選択の鍵は、変数間関係をどの程度活かせるか、そして不確実性をどのように扱うかである。
4.2.1 単純補完(平均・中央値・最頻値)
単純補完は、欠落した値を統計量で置換する簡便な方法である。平均や中央値は数値変数に対して用いられやすく、最頻値はカテゴリ変数に対応する。利点は実装が容易で、欠落率の小さい状況では手軽にベースラインを作れる点にある。
一方で、単純補完は分散を過小評価しやすい。欠落が多数あると、埋め値が実データの多様性を損ね、モデルの学習が歪む可能性がある。さらに、欠落が他変数と関連している場合、統計量のみでは関連構造を反映できない。
4.2.2 モデルベース補完(回帰、近傍法)
モデルベース補完は、他の変数を用いて欠落値を推定する。回帰補完は、欠落対象の列を目的として、観測可能な列から予測値を算出する。近傍法は、似たレコードの情報を利用して欠落値を推定する発想であり、非線形な関係にも適応しやすい場合がある。
モデルベース補完の注意点は、推定誤差や過学習である。特に欠落が多い列や欠落フラグが強く偏っている場合、補完モデルは偏りを学習してしまうことがある。そのため、補完モデル自体の妥当性検証、必要なら交差検証、そして欠落機構に関する仮説との整合性を確認することが重要になる。
4.3 分析結果の評価と注意点
欠落処理は分析の一部であり、最終結果に影響を与える。したがって評価では、欠落処理による変化を測定し、解釈に適切な条件を付すことが求められる。
4.3.1 感度分析(補完方針の比較)
感度分析は、欠落処理の選択肢を複数用意し、結果がどれほど変わるかを観察する手法である。たとえば除外と補完、さらに補完方法を単純補完とモデルベース補完で比較するなどがある。結果が安定しているなら、欠落処理の仮定に対して推定が頑健である可能性が高まる。
反対に、結果が大きく変わる場合は、欠落機構や補完モデルの仮定が影響している可能性がある。感度分析の結果は、最終報告で「どの仮定がどの程度重要か」を伝える材料として機能する。
4.3.2 バイアスと解釈の留意点
欠落処理は潜在的なバイアスを生みうるため、解釈には条件を添える必要がある。除外の場合は、欠落している集団が除かれることで推定対象の定義が変わる可能性がある。補完の場合は、推定値が仮定に基づくため、真の分布からずれるリスクがある。
また、欠落率が高い変数を強く使う分析では、埋め値や除外の影響が支配的になりやすい。したがって、欠落率の高い領域では推定の不確実性を強調し、可能なら欠落フラグをモデルに組み込むなど、欠落情報そのものを活用して解釈を支えることが望ましい。