데이터 기록 방법을 이해하는 데 도움이됩니다.
이야기를 공유하겠습니다 . 옛날에는 많은 데이터 세트가 페이딩 하드 카피에만 저장되었습니다. 그 어두운 날에 나는 (가식과 규모가 큰 조직과 계약을 맺었습니다. 많은 사람들이 재고를 소유하고있을 것입니다) 제조 공장 중 한 곳에서 약 10 ^ 5 개의 환경 모니터링 데이터 기록을 전산화했습니다. 이를 위해, 나는 개인적으로, (데이터가 어디에 있었는지 보여주는) 실험 보고서의 선반을 표시 데이터 입력 양식을 생성하고, 대한 임시 기관과 계약을 체결 글을 읽고양식에 데이터를 입력하는 작업자 (예, 읽을 수있는 사람들은 추가 비용을 지불해야했습니다.) 데이터의 가치와 민감성 때문에 한 번에 두 명의 작업자 (일반적으로 매일 바뀌는)와 동시에이 프로세스를 수행했습니다. 몇 주가 걸렸습니다. 필자는 두 가지 항목 세트를 비교하여 나타나는 모든 오류를 체계적으로 식별하고 수정하는 소프트웨어를 작성했습니다.
소년은 오류가 있었다! 무엇이 잘못 될 수 있습니까? 오류를 설명하고 측정하는 좋은 방법은 기본 기록 수준에 있으며 , 이 상황에서 특정 모니터링 지점에서 얻은 특정 시료에 대한 단일 분석 결과 (일부 화학 물질의 농도)에 대한 설명이었습니다. 주어진 날짜. 두 데이터 세트를 비교할 때 다음을 발견했습니다.
누락 오류 : 한 데이터 세트에는 레코드가 포함되고 다른 데이터 세트에는 레코드가 포함되지 않습니다. 이것은 일반적으로 (a) 한 줄 또는 두 줄이 페이지 하단에서 간과되거나 (b) 전체 페이지가 건너 뛰기 때문에 발생했습니다.
실제로 데이터 입력 실수 인 누락의 명백한 오류 . 레코드는 모니터링 지점 이름, 날짜 및 "분석 물"(일반적으로 화학 물질 이름)로 식별됩니다. 이들 중 하나에 인쇄상의 오류가 있으면 관련된 다른 레코드와 일치하지 않습니다. 실제로 올바른 레코드가 사라지고 잘못된 레코드가 나타납니다.
가짜 복제 . 동일한 결과가 여러 소스에 나타나고 여러 번 전사 될 수 있으며 그렇지 않은 경우에도 반복되는 측정 방법 인 것 같습니다. 중복은 간단하게 감지 할 수 있지만 잘못된 지 여부를 결정하는 것은 데이터 집합에 중복이 나타나는지 여부에 달려 있습니다. 때때로 당신은 단지 알 수 없습니다.
프랭크 데이터 입력 오류 . "양호한"항목은 데이텀 유형 을 변경하기 때문에 쉽게 잡을 수 있습니다. 예를 들어 숫자 "0"에 문자 "O"를 사용하면 숫자가 아닌 숫자로 바뀝니다. 다른 좋은 오류는 값을 너무 많이 변경하여 통계 테스트를 통해 쉽게 감지 할 수 있습니다. (한 경우, "1,000,010 mg / Kg"의 맨 앞자리가 잘려서 10의 값이 남았습니다. 살충제 농도에 대해 이야기 할 때 엄청난 변화입니다!) "50"에 "80"을 입력하는 것과 같이 나머지 데이터와 일치하는 값으로 정렬합니다. (이러한 종류의 실수는 OCR 소프트웨어에서 항상 발생합니다.)
조옮김 . 올바른 값을 입력 할 수 있지만 잘못된 레코드 키와 연관됩니다. 데이터 집합의 전체 통계적 특성은 변경되지 않았지만 그룹간에 가짜 차이가 발생할 수 있으므로 이는 교묘하지 않습니다. 아마도 이중 입력과 같은 메커니즘 만이 이러한 오류를 감지 할 수 있습니다.
이러한 오류를 알고 오류가 발생하는 방법을 알고 있거나 이론이 있으면 이러한 오류가있을 가능성이 있는지 데이터 세트를 트롤링하여 추가주의를 기울 이도록 스크립트를 작성할 수 있습니다. 항상 문제를 해결할 수는 없지만 나중에 "코멘트"또는 "품질 플래그"필드를 포함하여 나중에 분석하는 동안 데이터와 함께 제공 할 수 있습니다.
그 이후로 나는 데이터 품질 문제에주의를 기울 였고 대규모 통계 데이터 세트를 종합적으로 점검 할 수있는 더 많은 기회를 가졌습니다. 완벽한 것은 없습니다. 그들은 모두 품질 검사의 혜택을받습니다. 이 작업을 수행하기 위해 수년 동안 개발 한 몇 가지 원칙에는
가능하면 데이터 입력 및 데이터 기록 절차 (예 : 체크섬, 총계, 반복 된 항목)에서 중복성 을 생성하십시오 .
가능 하면 데이터의 모양 , 즉 컴퓨터에서 읽을 수있는 메타 데이터를 설명하는 다른 데이터베이스 를 만들고 활용 하십시오 . 예를 들어, 약물 실험에서 모든 환자를 세 번 볼 수 있음을 미리 알 수 있습니다. 이를 통해 정확한 레코드와 식별자가 모두 채워져 대기중인 값으로 데이터베이스를 작성할 수 있습니다. 제공된 데이터로이를 채우고 중복, 누락 및 예기치 않은 데이터가 있는지 점검하십시오.
분석을 위해 데이터 세트를 형식화하는 방법에 관계없이 항상 데이터를 정규화하십시오 (특히, 적어도 네 번째 정규 양식 으로 가져 오십시오 ). 이렇게하면 모델링 할 개념적으로 고유 한 모든 엔티티의 테이블을 작성해야합니다. (환경 적 경우, 여기에는 모니터링 위치, 샘플, 화학 물질 (속성, 일반적인 범위 등), 해당 샘플의 테스트 (일반적으로 화학 물질에 대한 테스트 포함) 및 해당 테스트의 개별 결과가 포함됩니다. 이렇게하면 데이터 품질 및 일관성을 효과적으로 검사하고 잠재적으로 누락되거나 중복되거나 일치하지 않는 값을 식별 할 수 있습니다.
이러한 노력 (좋은 데이터 처리 기술이 필요하지만 간단 함)은 놀랍도록 효과적입니다. 크거나 복잡한 데이터 세트를 분석하고 관계형 데이터베이스 및 해당 이론에 대한 실무 지식이없는 경우 가능한 한 빨리 배울 내용을 목록에 추가하십시오. 경력 전체에 걸쳐 배당금을 지불합니다.
가능한 많은 "멍청한"점검을 항상 수행하십시오 . 이것들은 날짜가 예상되는 기간에 빠지거나 환자 (또는 화학 물질 등)의 수가 항상 정확하게 합쳐지고 값이 항상 합리적이라는 값 (예 : pH는 0에서 14 사이 여야하고 아마도 예를 들어, 혈액 pH 측정 값에 대한 훨씬 좁은 범위 등) 여기에서 도메인 전문 지식이 가장 도움이 될 수 있습니다. 통계학자는 전문가에게 어리석은 질문을하고 데이터를 확인하기 위해 답을 활용할 수 있습니다.
물론 더 많은 것을 말할 수 있습니다-주제는 책의 가치가 있지만 아이디어를 자극하기에 충분해야합니다.