값이 비어 있는 이유가 그 비어 있는 값 자체와 관련이 있는 상황을 말한다. 결측 데이터를 다룰 때 쓰는 세 가지 분류 중 하나이고, 셋 중 가장 다루기 어렵다.

분류결측이 무엇에 의존하나
MCAR (completely at random)아무것에도 의존하지 않는다설문지를 무작위로 몇 장 잃어버렸다
MAR (at random)관측된 다른 변수에 의존한다특정 연령대가 소득 문항을 잘 안 적는다 (연령은 관측됨)
MNAR결측된 값 자체에 의존한다소득이 높은 사람이 소득을 안 적는다

MCAR 이면 관측된 것만 써도 편향이 없다. MAR 이면 의존하는 변수를 모델에 넣어 보정할 수 있다. MNAR 은 보정에 필요한 정보가 관측되지 않은 값 안에 있어서, 추가 가정 없이는 편향을 없앨 방법이 없다.

추천 시스템의 평점이 왜 MNAR 인가

사용자-아이템 평점 행렬은 대부분의 칸이 비어 있다. 그 빈칸이 무작위로 생긴 것이 아니다.

  • 사용자는 볼 만하다고 생각한 것을 골라 보고, 본 것 중 인상적이었던 것에 평가를 남긴다. 애초에 관심 없는 아이템은 평가 자체가 없다
  • 노출되지 않은 아이템은 평가될 기회가 없었다. 무엇이 노출됐는지는 지금 서비스 중인 추천 모델이 정한다

두 경로 모두 “그 사람이 그 아이템에 매겼을 점수” 와 “평가가 남았는지” 가 얽혀 있다. 관측된 평점의 평균은 실제 선호의 평균보다 높게 나오고, 인기 아이템의 데이터가 과도하게 많이 쌓인다.

무엇을 해야 하나

빈칸을 그냥 무시하고 관측된 값만으로 학습하면 편향이 그대로 모델에 들어간다. 반대로 빈칸을 전부 “싫어함” 으로 두면 못 본 것과 싫어한 것을 같게 취급하게 된다.

관측될 확률을 추정해 그 역수로 가중치를 주는 IPW 가 표준적인 접근이고, propensity 추정이 틀려도 버티도록 결과 예측 모델을 함께 두는 doubly robust 계열이 그 뒤를 잇는다. 무작위로 노출해 얻은 소량의 편향 없는 데이터를 확보해 보정의 기준으로 삼기도 한다.