1 欠損データの基礎
1.1 欠損の定義と範囲
欠損データとは、データ集合のうち特定の項目(変数)について値が観測されていない状態を指す。欠損は「未記録」「未回答」「測定不能」などの形で現れ、データ処理上は数値やカテゴリの値としては扱えない。範囲としては、個々のセル単位で欠けるケースから、ある対象(観測単位)ごとに複数変数が欠けるケースまで広い。さらに、データセット全体で欠損が散在する場合と、特定の集団や条件に偏って発生する場合がある。
欠損は単なる情報欠落ではなく、統計推定や機械学習の入力を変化させる要因になる。特に欠損が結果と無関係とは限らないため、データ欠損の有無をどう扱うかは、分析の妥当性に直結する。
1.2 欠損が生じる主な要因
1.2.1 入力・収集工程での欠落
収集段階では、入力ミスや運用上の記録漏れが欠損の典型要因となる。例として、フォームに必須項目があるにもかかわらず未入力で送信された、ログに反映されないイベントがあった、インポート時に型変換エラーで値が失われた等が挙げられる。また、データ取得の仕様として任意入力が含まれる場合、値が「無回答」として残りやすい。
加えて、収集システムの障害や通信途絶により、一定区間の記録が欠けることもある。このような場合、欠損の発生時点や対象に偏りが生じ得るため、後述する診断では欠損の位置情報(いつ・誰について)を意識する必要がある。
1.2.2 計測・実験条件に起因する欠落
測定や実験では、条件が満たされないと値が取得できないために欠損が生じる。例えばセンサーの飽和、観測可能レンジ外での打ち切り、前処理で除外されたサンプル、天候や装置都合での中断などが該当する。生物・医療領域では、対象者の状態により測定項目が実施されないことがある。
この種の欠損は、現実の変動要因と結びつくことが多い。したがって、欠損がランダムに見えても実際には条件依存であり得る。分析側は、計測プロトコルや除外基準を理解したうえで、欠損の意味づけを検討することが重要になる。
1.2.3 追跡不能・回答未完了に起因する欠落
追跡研究やアンケートでは、対象が途中で離脱したり、回答が途中で止まったりすることで欠損が発生する。離脱理由が結果に関連する場合、欠損は推定を体系的に歪める可能性がある。例えば、症状が悪化した対象ほど追加質問に答えない、逆に改善した対象ほど追跡に現れないといった偏りが起こり得る。
また、運用上の都合(連絡失敗、期限超過、本人確認の不成立)でも欠損が生じる。これらは直接的には測定と関係しない場合もあるが、対象の属性や状況と相関することがあるため、結果との関係を切り分ける視点が必要になる。
1.3 欠損の種類(データ型・項目単位)
1.3.1 離散値の欠損と連続値の欠損
欠損は「値の性質」によって扱いが変わる。離散値(カテゴリやクラス)では、代入によってカテゴリ分布をどう保つか、誤ったクラス割当が性能や解釈を損なわないかが問題になる。連続値では、平均・分散などの統計量や外れ値の影響を踏まえた代入設計が必要になる。
さらに、欠損後に行う処理(例えば距離尺度を用いるモデルや正規化)もデータ型で異なる。したがって、欠損処理は「欠損の有無」だけでなく「変数のタイプ」と「後段の学習・推定方法」を同時に考えるべきである。
1.3.2 変数単位・観測単位の欠損
欠損は、変数(列)に偏っている場合と、観測単位(行)に偏っている場合で性質が異なる。変数単位の欠損では、特定の項目に値が集まらないため、その変数自体の有用性や情報量が下がる。観測単位の欠損では、サンプルが部分的に欠けるため、削除を行うと対象数が急減しやすい。
この差は、処理手法の選択に影響する。例えば行削除(リストワイズ)を行えば観測単位の欠損が致命的になる。一方で、列ごとの処理やモデルを工夫するなら、変数単位の欠損を比較的扱いやすい場合がある。
2 欠損メカニズムと影響
2.1 欠損メカニズムの分類
2.1.1 無作為欠損(概念)
無作為欠損は、欠損が「観測されるデータや未観測の本当の値に依存しない」状況を表す概念である。実務では完全な無作為性を保証するのは難しいが、近似として仮定されることがある。このとき、欠損処理が推定量に与える歪みは相対的に小さくなる傾向がある。
ただし「無作為に欠けているように見える」だけでは不十分である。データ収集手順や対象の振る舞いを踏まえ、依存関係がないかを検討する必要がある。
2.1.2 条件付き無作為欠損(概念)
条件付き無作為欠損は、欠損が観測可能な共変量に基づいて起きるが、未観測の値そのものには依存しないという概念である。例えば、ある項目が年齢層によって測定されやすい一方で、その項目の真値には直接影響されないような状況を想定する。
この仮定のもとでは、観測可能な情報を用いて欠損の発生確率を調整することで、バイアスを軽減できる可能性がある。逆に、重要な共変量が欠けていると調整が成立しにくくなるため、特徴量設計が鍵になる。
2.1.3 欠損が結果に依存する欠損(概念)
欠損が結果や未観測の値に直接依存する場合、推定は歪みやすくなる。この概念では、欠損の有無が真の状態を反映しているため、単純な削除や簡易代入では情報が系統的に失われる。
たとえば、測定項目の重要度が高いほど回答が揃う、逆に深刻な状態ほど追跡されない等が該当し得る。厳密な推論には感度分析やモデル化が不可欠になりやすい。
2.2 欠損が統計推定や学習に与える影響
2.2.1 推定量のバイアス
欠損が無作為でないと、利用可能なデータが母集団の縮図にならない。結果として、平均、回帰係数、分布特性などの推定量が系統的にずれる。特に、欠損の確率が目的変数や説明変数と結びつくと、学習された関係が本来の関係から逸脱しやすい。
削除法は観測集合を意図せず再定義するため、バイアスを直接導入し得る。代入法もまた、欠損値の条件付き分布をどれだけ正しく再現できるかに依存して誤差が変わる。
2.2.2 分散・不確実性の増大
観測情報が減ることで、推定のばらつきは増える。たとえバイアスが小さく見えても、サンプル数や有効情報量の減少により信頼区間が広がったり、予測の誤差分解が悪化したりすることがある。
加えて、代入を行う場合は、代入された値自体の不確実性も加味する必要がある。複数の補完を行い、そのばらつきを推定に反映する設計が望ましい場面がある。
2.2.3 予測性能の劣化
機械学習では、欠損処理の不整合が予測精度の低下に繋がる。例えば、学習時に特定の欠損パターンを見落としていると、欠損が現れる状況で入力が適切に表現できない。さらに、代入が目的変数の周辺構造を歪めると、特徴間の関係が壊れ、汎化性能が落ちることがある。
また、欠損を特別なカテゴリとして扱う方針は、単純で実装しやすい一方、欠損の意味が条件や対象により異なる場合に解釈が難しくなる。
2.3 欠損の探索と診断
2.3.1 欠損率・欠損分布の可視化
まず欠損の規模を把握する。各変数の欠損率、欠損が集中する観測単位の有無、欠損同士の共起パターンを可視化することで、削除や代入がどれほど情報を失わせるか見通しが立つ。ヒートマップや欠損パターンの集計は実務で有用である。
欠損率が低い変数だけを見て安心してしまうと、特定のサブグループで欠損が高い場合に見逃しが起こる。全体と局所の両方を確認する必要がある。
2.3.2 欠損と説明変数の関連チェック
欠損の有無を目的変数のように扱い、説明変数との関連を調べるとメカニズムの手がかりが得られる。例えば、欠損あり/なしでグループ比較を行い、統計的差が大きい説明変数があれば、条件付き要因が疑われる。
この診断は「未観測の値に依存するかどうか」を直接確かめることはできないが、「観測可能情報で欠損が説明できそうか」を評価するのに役立つ。結果として、代入モデルに含めるべき共変量の候補が具体化する。
2.3.3 欠損パターンの要約
欠損は単発ではなく、複数変数の組み合わせとして現れることが多い。パターンを要約し、代表的な欠損型(例:特定ブロックが欠ける、特定の変数だけが欠ける等)を列挙すると、処理戦略を立てやすくなる。
特に、多くの観測で同じ欠損が繰り返される場合、欠損は特定の収集条件や手続きに紐づいている可能性がある。パターンが観測ごとに多様である場合は、モデルベース手法や柔軟な枠組みを検討する価値が高まる。
3 欠損データの処理手法
3.1 削除(リストワイズ・ペアワイズ等)
3.1.1 長所と短所
削除は最も直感的で、欠損を含む観測または変数を解析から除外する方法である。利点は実装が簡単で、代入による推定誤差を導入しない点にある。欠損が非常に少ない場合は、性能や推定の安定性を保てることがある。
一方で欠点は、データ数の減少による分散増大と、欠損が偏っている場合のバイアスが生じうることにある。リストワイズは欠損を含む行を丸ごと落とすため、欠損率が中程度でも有効サンプルが急減する。
3.1.2 適用条件と注意点
削除を選ぶ場合、欠損が少ないことに加え、欠損の偏りが推定対象に対して大きくない可能性を確認する必要がある。欠損率が高い変数が主要な説明に関わると、除外は情報損失を加速させる。
また、削除の種類(行を落とすか、列を落とすか、ペアワイズでの計算上の違いがどう出るか)により、推定量の定義が変わる。比較可能性の確保のため、手続きの仕様を明確にし、再現可能な形で記録することが重要になる。
3.2 代入(イミュテーション)
3.2.1 単純代入(平均・中央値・最頻値等)
単純代入は、欠損値に同一変数内の代表値を当てる方法である。平均、中央値、最頻値、あるいは固定値などが使われることが多い。手間が少なく、外部学習モデルを必要としない点が利点である。
ただし、代表値への押し込みにより分散が縮み、相関構造が崩れることがある。さらに、欠損メカニズムが条件付きであると、単純代入は本来の条件付き分布を再現できないため、バイアスが残りやすい。
3.2.2 回帰代入・予測モデルによる代入
回帰代入や予測モデルによる代入では、欠損対象変数を他の変数から予測し、その予測値を補完する。線形回帰、木系モデル、ニューラルネットなど幅広いモデルが利用される。単純代入に比べ、分布の形や関係性を保持しやすいことが利点である。
注意点は、代入に用いる学習と本来の目的の学習が近い構造になるほど、リーケージ(情報漏えい)のリスクが高まる点である。したがって、代入モデルの学習は分割(学習・検証)に厳密に従い、実運用に合わせた手順で行う必要がある。
3.2.3 多重代入の考え方
多重代入は、単一の補完値ではなく複数の補完データセットを作り、それぞれで分析を行って結果を統合する考え方である。補完値が持つ不確実性を明示的に反映しやすい。
統合では、平均的な推定値に加え、補完間のばらつきから不確実性を組み立てる。適切に設計すれば、単一代入に比べて推論の過度な確信を抑えられる。計算コストは増えるが、推定の信頼性を重視する場合に有効である。
3.3 モデルベース手法(欠損を前提に学習)
3.3.1 欠損を特徴として扱う
欠損を「情報」と見なして、欠損フラグや欠損パターンを特徴量に組み込む手法がある。欠損が発生すること自体に意味がある場合、これによりモデルが欠損メカニズムの影響を学習できる可能性がある。
ただし、欠損フラグの追加は、欠損が単なる欠損でなく欠損理由の反映になっている場合に限り有効になりやすい。別のデータ取得条件では欠損の意味が変わる可能性があるため、運用環境の整合性が前提になる。
3.3.2 欠損対応アルゴリズムの利用方針
欠損対応アルゴリズムでは、内部で欠損値を扱う仕組みを持つモデルを選ぶ。例えば木系の分岐設計や特定の最適化枠組みなど、欠損を前提に学習する実装がある。利点は、補完の段階を分離せずに学習を進められる場合があること、また欠損による分布歪みを抑えられる可能性があることにある。
方針としては、欠損率や型(カテゴリ/連続)、欠損の共起構造に対してモデルの仮定が整合しているかを確認する必要がある。実装により解釈のしやすさや不確実性の扱いが変わるため、評価設計と併せて検討することが望ましい。
3.4 時系列・空間データ特有の扱い
3.4.1 時系列での前後情報の活用
時系列では、欠損が時間方向に沿って現れることが多く、前後関係が情報になる。単純代入で時系列の連続性を壊すと、予測が不安定になることがある。したがって、同一系列内の過去データや未来情報(利用可能な場合)を用いて補完を設計することが重要になる。
具体的には、前後の観測を用いた平滑化、移動窓に基づく補完、状態空間モデルのように時間構造を内包した推定などが検討対象になる。欠損が大きいギャップでは、外挿の不確実性が増すため、推定の信頼性を評価する手順が欠かせない。
3.4.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 交差検証とリーケージ防止
交差検証では、分割ごとの学習・検証を厳密に分離し、代入の学習に検証データが含まれないようにする。リーケージは評価の過大見積もりを招くため、代入処理を必ず学習部分で行い、その結果を検証部分へ適用する手順を徹底する。
欠損処理はしばしばパイプラインの外側で実行されがちである。実務では、統合したワークフローとして実行し、分割の境界をまたがないように設計することで事故を減らせる。
4.4 よくある落とし穴
4.4.1 欠損率の見落としと過度な一般化
欠損の存在を把握せずにモデルを適用すると、入力処理が暗黙に行われ、予期しない動作につながる。さらに欠損率が低いデータを基に評価すると、別条件で欠損率が高くなった場合に性能が急落することがある。
過度な一般化とは、欠損の性質がデータセットや時間帯によって変わらないと決めつけることを指す。運用では、欠損率と欠損パターンの変動を継続監視し、必要に応じて処理設計を見直すべきである。
4.4.2 不適切な代入によるバイアス増大
代入は万能ではなく、仮定が合わないと悪化する。単純代入の分散縮小、回帰代入での外挿、代入モデルの学習範囲の誤りによるリーケージなどは、推定の信頼性を下げる典型である。
また、代入に使う特徴量に欠損対象と強く結びつく情報が含まれている場合でも、モデルの学習が正しく分割されていないと結果が不自然になる。したがって、代入の選択だけでなく、手順の正確さと評価設計を同時に確認することが重要になる。