데이터가 무작위로 누락되었는지 확인하기위한 통계적 접근


21

이진 분류 문제를 공격하는 데 사용할 많은 기능 벡터 세트가 있습니다 (파이썬에서 scikit learn 사용). 대치에 대해 생각하기 전에 누락 된 데이터가 '무작위로 누락'되거나 무작위로 누락되지 않은 경우 데이터의 나머지 부분에서 결정하려고합니다.

이 질문에 접근하는 현명한 방법은 무엇입니까?


더 나은 질문은 데이터가 '완전히 무작위로 누락되는지'를 묻는 것입니다. 그것을하는 현명한 방법은 무엇입니까?


누락 된 지표와 관측 된 변수 사이에 연관이없는 경우 누락 된 데이터 메커니즘은 MCAR입니다.
Randel

@Randel 실제로 이것을 테스트하기 위해 적용 할 좋은 테스트는 무엇입니까?
Lembik

상관 테스트 또는 회귀보다 특별한 것은 없습니다.
Randel

3
그것은 당신이 테스트하는 것이 아니며, 당신이 가정하는 것 입니다.
Tim

3
명확하게 말하면 : 무작위로 완전히 누락 되면 누락 가능성이 일정하다는 것을 의미하며, 아무것도 아닌 것에 달려 있습니다. 임의로 누락 누락이 연령 또는 성별과 같은 일부 측정 된 요인에 따라 달라 지므로 일부 모델을 사용하여 누락 된 패턴을 채울 수 있습니다. 임의로 누락되는 것은 누락이 측정 하지 않은 것들에 달려 있음을 의미 합니다. 문제에서 OP NMAR vs. MAR 이라고 말하지만 OP MAR vs MCAR을 의미 합니다.
AdamO

답변:


8

내 의견에서 내가 말한 정보를 찾았습니다.

에서 반 Buurens 책 , 31 페이지, 그는 기록

"MCAR 대 MAR을 테스트하기 위해 여러 가지 테스트가 제안되었습니다. 이러한 테스트는 널리 사용되지 않으며 실제적인 가치는 불분명합니다. 두 가지 절차에 대한 평가는 Enders (2010, pp. 17–21)를 참조하십시오 . 테스트 할 수 없습니다 이러한 테스트에 필요한 정보가 없기 때문에 MAR 대 MNAR "


질문은 MAR vs MNAR에 대해 묻지 만, 귀하의 답변은 MCAR vs MAR에 관한 것입니다. MCAR은 MNAR과 완전히 다릅니다.
Tim

데이터가 MAR인지 확인할 수 있으면 충분합니다. Bjorn이 말했듯이 그것이 MAR / MNAR인지 알 수는 없지만이 대답은 내가 믿는 그의 질문에 대한 대리입니다. Enders 테스트를 수행하고 MCAR임을 알게되면 대치 할 필요가 없습니다. 그것이 MAR이라는 것을 알게되면, 당신은 데이터를 MNAR일지도 모른다고 믿을만한 이유가 있는지 알아 내기 위해 데이터를 대담하거나 열심히 살펴볼 수 있습니다.
RayVelcoro

@RayVelcoro 이는 식별 가능성 문제입니다. NMAR 데이터가 MCAR로 나타날 수 있습니다. 팀은 NMAR (또는 그 반대)이 우리가 테스트 할 것이 아니라 우리가 가정하는 것이 옳습니다. MCAR 대 MAR에 대한 요점에서, 가장 중요한 것은 데이터가 MCAR이고 MAR 방법을 사용하는 경우 데이터에 실제로 영향을 미치는가? 나는 그렇게 생각하지 않습니다. MAR 분석법에 대한 침투성, 가용성 및 사용 편의성을 고려할 때 수사 거위 추적 테스트 및 테스트보다 비모수 적 가중치 또는 대치 절차를 사용하는 것이 좋습니다.
AdamO

17

누락 된 데이터를 검색하지 않으면 불가능합니다. 결측 데이터가 무작위로 누락되었는지 (MAR) 또는 무작위로 그렇지 않은지 (MNAR) 여부는 관찰 된 데이터에서 확인할 수 없습니다. 데이터가 무작위로 완전히 누락되지 않았는지 여부 만 알 수 있습니다 (MCAR). 그 외에도 MNAR과 달리 MCAR 또는 MAR의 타당성에 대해서만 호소하십시오 (예 : 데이터가 누락 된 이유보고). 또는 누락 된 데이터의 비율이 적고 MNAR에서는 결과가 뒤집 히기 위해 매우 극단적 인 시나리오가 발생하기 때문에 너무 중요하지 않다고 주장 할 수 있습니다 ( "팁 포인트 분석"참조).


1
대단히 감사합니다. 데이터가 MCAR인지 확인하는 좋은 방법은 무엇입니까?
Lembik

@ Björn은 데이터에서 배울 수있는 것들에 필수적인 비대칭 성을 반영하기 위해 위의 단어를 바꿔야 할 수도 있습니다. 데이터가 MCAR이라는 가설 을 위조 하는 것은 가능하지만 (즉, 결측의 일부를 설명하기 위해 관측 된 공변량을 이용하는 모델을 구축함으로써) MCAR 또는 다른 가설 을 확인할 수는 없습니다 .
David C. Norris

좋은 지적. 나는 그것을 더 명확하게했다.
Björn

4

이것은 분류 관점에서 볼 때 상당히 가능합니다.

다른 모든 기능을 사용하여 누락 된 데이터와 누락되지 않은 데이터를 분류하려고합니다. 임의의 결과보다 훨씬 나아지면 데이터가 무작위로 누락되지 않습니다.


2

지형지 물에서 누락 된 값과 다른 지형지 물의 값에 상관 관계가 있는지 알고 싶습니다.

각 기능에 대해 값이 누락되었는지 여부를 나타내는 새 기능을 작성하십시오 ( "is_missing"기능이라고 함). is_missing 기능과 나머지 기능에 대해 선호하는 상관 관계 측정 (여기서는 상호 정보를 사용하는 것이 좋습니다)을 계산하십시오.

두 피처 사이에 상관 관계가없는 경우 피처 그룹으로 인해 상관 관계가있을 수 있습니다 (값이 10 개의 다른 피처의 XOR 함수로 누락 됨).

많은 기능 세트와 많은 수의 값을 가지면 임의성으로 인해 잘못된 상관 관계가 발생합니다. 그에 대처하는 규칙적인 방법 이외 (유효 설정, 충분히 높은 임계 값) 상관 관계가 대칭적이고 전이 적인지 확인할 수 있습니다. 그들이 사실이라면, 그들은 사실 일 가능성이 높으므로 더 확인해야합니다.


1

내가 사용하는 방법은 데이터 매트릭스가 값이 있으면 1이 주어지고 0이 없으면 0으로 표시되는 지표 변수로 구성된 섀도우 매트릭스입니다. 이들을 서로 원래 데이터와 연관 시키면 변수가 함께 누락되는 경향 (MAR)인지 아닌지 (MCAR)를 판별하는 데 도움이 될 수 있습니다. 사용 R(책에서 로버트 Kabacoff하여 "행동 R"을 차입)에 대한 예 :

#Load dataset
data(sleep, package = "VIM")

x <- as.data.frame(abs(is.na(sleep)))

#Elements of x are 1 if a value in the sleep data is missing and 0 if non-missing.
head(sleep)
head(x)

#Extracting variables that have some missing values.
y <- x[which(sapply(x, sd) > 0)]
cor(y)

#We see that variables Dream and NonD tend to be missing together. To a lesser extent, this is also true with Sleep and NonD, as well as Sleep and Dream.

#Now, looking at the relationship between the presence of missing values in each variable and the observed values in other variables:
cor(sleep, y, use="pairwise.complete.obs")

#NonD is more likely to be missing as Exp, BodyWgt, and Gest increases, suggesting that the missingness for NonD is likely MAR rather than MCAR.

1
에서 VIM , 당신은 또한 spinoplots을 확인할 수 있습니다. 그들은 각각에 누락이있는 두 변수의 히스토그램을 제공합니다. 우리는 두 개의 변수를 플로팅 할 수 있으며, 하나의 누락이 다른 것과 어떻게 다른지 볼 수 있습니다. 예를 들어, 우리가 생존 시간과 치료 할당을 플롯하면, 오른쪽으로 치우친 결손 분포가 보이면 더 낮은 생존 시간이 더 많은 결손과 관련이 있다는 것을 알 수 있습니다. 가변 생존 시간.
RayVelcoro

1
질문은 MAR vs MNAR에 대해 묻지 만, 귀하의 답변은 MCAR vs MAR에 관한 것입니다. MCAR은 MNAR과 완전히 다릅니다.
Tim

@Tim AdamO가 아래 질문에 언급 한 것처럼 OP는 MAR vs MCAR을 의미했습니다.
Phil
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.