불완전하거나 누락 된 데이터를 처리하는 기술


12

내 질문은 분류 자 / 모델 교육 / 피팅 중 불완전한 데이터 를 처리하는 기술에 관한 것입니다 .

예를 들어, 수백 개의 행이있는 데이터 세트에서 각 행에 5 개의 차원과 클래스 레이블이 마지막 항목이라고 가정하면 대부분의 데이터 포인트는 다음과 같습니다.

[0.74, 0.39, 0.14, 0.33, 0.34, 0]

몇 가지가 다음과 같이 보일 수 있습니다.

[0.21, 0.68, α, 0.82, 0.58, 1]

이것이 바로이 질문의 초점이되는 데이터 유형의 유형입니다.

이 질문을하는 나의 초기 이유는 내 앞에서 직접 문제였다. 그러나 내 질문을 게시하기 전에 다시 표현하면 답변이 커뮤니티의 더 큰 부분에 유용 할 때 더 유용 할 것이라고 생각했습니다.

간단한 휴리스틱으로, 처리 흐름 중 분류기에 입력하기 전이나 분류기 내부에 적용되는 시점에 따라 이러한 데이터 처리 기술을 나눕니다.

후자를 위해 생각할 수있는 가장 좋은 예는 의사 결정 트리에서 사용되는 영리한 '3 방향 분기'기술입니다.

의심 할 바없이, 이전 범주는 훨씬 더 큽니다. 내가 아는 기술은 모두 아래 그룹 중 하나에 속합니다.

최근 "데이터 처리 누락"에 대한 개인 메모를 검토하는 동안 나는 상당히 인상적인 기술 목록을 가지고 있음을 알았습니다. 나는 단지 일반적인 마음의 평안을 위해이 메모를 유지하고 하급 동료가 나에게 누락 된 데이터를 처리하는 방법을 물을 때 실제로는 마지막 것을 제외하고 실제로 사용하지 않습니다.

  1. 대치 (Imputation) : 공통 분모가 있다고 생각하는 기술 집합에 대한 광범위한 루 브릭 ( 누군가 )은 누락 된 데이터가 추정 / 예측이 아닌 동일한 데이터 세트에 의해 직접 제공된다는 것입니다.

  2. 재구성 : 자동 연결 네트워크를 사용하여 누락 된 데이터 포인트를 추정합니다 (입력 및 출력 레이어의 크기가 동일한 신경망 만, 즉 출력이 입력과 동일한 차원을 가짐). 여기서의 아이디어는이 네트워크를 완전한 데이터에 대해 훈련시킨 다음 불완전한 패턴을 공급하고 출력 노드에서 결 측값을 읽는 것입니다.

  3. 부트 스트래핑 : (통계 분석의 다른 곳에서 사용한다고 생각하면 요약이 필요하지 않습니다).

  4. 거부 : 학습 세트에서 누락 / 손상 요소가있는 데이터 포인트를 조용히 제거하여 존재하지 않는 척합니다.


2
또한 테스트 중에 발생하는 모든 결 측값 패턴에 대해 분류기를 훈련시키는 "감소 모델"접근 방식이 있습니다. IE, i'th 속성이 누락 된 x를 예측하려면 교육 데이터의 모든 인스턴스에서 i'th 속성을 제거하고 학습하십시오. jmlr.csail.mit.edu/papers/v8/saar-tsechansky07a.html
야로 슬라브 Bulatov

현대 맥락에서 귀하의 대치 정의가 잘못되었다고 생각합니다. 대치에는 이제 데이터 세트의 다른 변수를 기반으로 누락 된 데이터를 모델링하는 작업이 포함됩니다. 현재 선호되는 대치 방법은 다중 대치 (Multiple Imputation)로, 각 결 측값 (모델을 기반으로 함)에 대해 여러 가지 대안을 생성하고 각 대체 완료 데이터 세트를 처리 한 다음 결과 간의 변동성을 반영하는 답을 결합합니다. ( "오래된 날"에 사람들은 비슷한 기록이나 평균 등에서 값을 대체하는 것과 같은 일을했지만 지금은 그렇지 않습니다.)
Wayne

@Wayne이 modern기술을 설명하는 논문을 알려 주 시겠습니까? 감사합니다
Enzo

R 패키지 mice에는 jstatsoft.org/article/view/v045i03 과 같은 JSS에 대한 훌륭한 입문서가 있습니다. (R을 사용하지 않더라도 소개가 유용하다는 것을 알게 될 것입니다.) 그리고 R 패키지 Amelia에는 패키지에 포함 된 멋진 비네팅이 있습니다. 이 두 패키지는 세부 사항이 다르지만 둘 다 다중 대치를 사용합니다.
Wayne

답변:


3

나는 다른 질문 에이 대답을 주었지만 여기에도 적용될 수 있습니다.

" 매트릭 컴 플리 션 ( Matrix Completion ) 이라는 상당히 새로운 연구 영역이 있는데 , 아마도 당신이 원하는 것을 할 것입니다.이 강의 에서 Emmanuel Candes 의 정말 좋은 소개가 있습니다. "

기본적으로 데이터 집합의 순위가 낮거나 (즉, 대략적으로 낮음) 100 개의 행이 있지만 실제 행렬에 10과 같은 작은 순위가있는 경우 (또는 10 개의 큰 특이 값), 행렬 완성을 사용하여 누락 된 부분을 채울 수 있습니다 데이터.


2

나는 여기에 약간의 정통적이지 만 도대체 무엇입니까. 참고 : 이 사고 방식은 분류에 대한 저의 철학에서 비롯된 것입니다. 즉, 설명, 개념적 일관성 등이 아니라 순수한 예측에 직설적으로 사용하는 경우이를 사용한다는 것입니다. 따라서 여기서 말하는 것은 회귀 모델 구축에 접근했습니다.

다른 분류 방법은 누락 된 데이터를 처리하는 기능이 다양하며 다른 요인에 따라 ^ 5를 시도 할 수 있습니다 .NA에 질식하지 않는 분류기를 사용하십시오. 이 경로를 결정하기위한 결정의 일부에는 모델을 적용 할 향후 데이터에서 유사한 비율의 NA가 발생할 가능성에 대한 생각도 포함될 수 있습니다. 특정 변수에 대한 NA가 과정에 필적 할 경우, 변수와 함께 롤링하는 것이 합리적 일 수 있습니다 (즉, 실제 정보보다 더 유익한 데이터를 가정하는 예측 모델을 작성하지 마십시오) 실제로 어떻게 될지 예측해보십시오.) 사실, NA가 무작위로 누락되었다고 확신하지 못하면 새 변수 (또는 변수가있는 경우 새 수준)를 코딩하는 경향이 있습니다.

누락 된 데이터를 잘 취하지 않는 분류자를 사용해야 할 합당한 이유가 있다면 내 접근 방식은 # 1 (다중 대치)이 될 것이며, 대치 된 데이터 세트에서 유사하게 작동하는 분류 모델을 찾고 있습니다.

^ 포함 : 예측 변수에 누락이 얼마나 있는지, 체계적인 패턴이 있는지 (있는 경우 분석에 대한 의미를 통해 자세히 살펴보고 생각할 가치가 있음), 전체적으로 처리해야하는 데이터의 양 .


1

문제의 데이터를 담당하는 데이터 생성 프로세스에 대한 합리적인 직감이 있다면 베이지안 아이디어를 사용하여 누락 된 데이터를 추정 할 수 있습니다. 베이지안 접근법에서는 결측 데이터가 임의의 변수라고 가정하고 관측 된 데이터에 조건부로 결측 데이터의 후부를 구성합니다. 그런 다음 사후 수단은 누락 된 데이터의 대체 수단으로 사용됩니다.

베이지안 모델을 사용하면 용어의 넓은 의미에서 대치로 인정받을 수 있지만 목록에 표시되지 않았기 때문에 언급하는 것으로 생각했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.