데이터 클렌징
Data cleansing데이터 클렌징 또는 데이터 클리닝은 레코드 세트, 테이블 또는 데이터베이스에서 손상되거나 부정확한 레코드를 검출 및 수정(또는 삭제)하는 프로세스로 데이터의 불완전, 부정확, 부정확 또는 무관한 부분을 식별하여 더럽거나 거친 [1]데이터를 교체, 수정 또는 삭제하는 것을 말합니다.데이터 클렌징은 데이터 논쟁 도구를 사용하여 대화식으로 수행되거나 스크립트 작성 또는 데이터 품질 방화벽을 통한[2] 배치 처리로 수행될 수 있습니다.
클리어 후 데이터 세트는 시스템 내의 다른 유사한 데이터 세트와 일치해야 합니다.검출 또는 제거된 불일치는 원래 사용자 입력 오류, 전송 또는 저장 장치의 손상 또는 서로 다른 저장소에 있는 유사한 엔티티의 서로 다른 데이터 사전 정의로 인해 발생했을 수 있습니다.데이터 클리닝은 데이터 검증과 달리 검증은 거의 항상 데이터가 입력 시 시스템에서 거부되고 데이터 배치가 아닌 입력 시 실행된다는 것을 의미합니다.
실제 데이터 삭제 프로세스에서는 인쇄 오류 제거 또는 기존의 엔티티 목록에 대한 값 검증 및 수정이 필요할 수 있습니다.검증은 엄격하거나(유효한 우편 번호가 없는 주소를 거부하는 등), 퍼지 또는 대략적인 문자열 매칭(기존 알려진 레코드와 부분적으로 일치하는 레코드 수정 등)을 사용할 수 있습니다.일부 데이터 클렌징 솔루션은 검증된 데이터 세트와 교차 검사하여 데이터를 삭제합니다.일반적인 데이터 클렌징 방법은 데이터 강화입니다.이 방법에서는 관련 정보를 추가하여 데이터를 보다 완전하게 만듭니다.예를 들어, 그 주소와 관련된 임의의 전화번호로 주소를 추가하는 경우.데이터 클렌징에는 데이터의 조화(또는 정규화)도 수반할 수 있습니다.이는 "변형 파일 형식, 명명 규칙 및 열"[3]의 데이터를 통합하여 하나의 통합 데이터 세트로 변환하는 프로세스입니다.단순한 예로는 약어("st, rd 등")를 "Street, road, ethera"로 확장하는 것입니다.
동기
관리가 부정확하고 일관성이 없는 데이터는 잘못된 결론을 초래하고 공공 및 민간 규모 모두에서 잘못된 투자를 유도할 수 있습니다.예를 들어, 정부는 인구센서스 수치를 분석하여 사회기반시설과 서비스에 대한 추가 지출과 투자가 필요한 지역을 결정할 수 있다.이 경우 잘못된 재정 결정을 피하기 위해 신뢰할 수 있는 데이터에 액세스하는 것이 중요합니다.비즈니스 세계에서 잘못된 데이터는 비용이 많이 들 수 있습니다.많은 기업이 연락처 정보, 주소, 기본 설정 등의 데이터를 기록하는 고객 정보 데이터베이스를 사용합니다.예를 들어, 주소가 일치하지 않으면, 회사는 우편물을 재발송하거나 고객을 잃는 비용을 부담하게 됩니다.
데이터 품질
고품질 데이터는 일련의 품질 기준을 통과해야 합니다.예를 들어 다음과 같습니다.
- 유효기간:조치가 정의된 비즈니스 규칙 또는 제약에 부합하는 정도(유효성(통계) 참조).최신 데이터베이스 테크놀로지를 사용하여 데이터 캡처 시스템을 설계하면 유효성을 보증하기가 매우 쉬워집니다.유효한 데이터는 주로 레거시 컨텍스트(소프트웨어에 제약이 실장되지 않은 경우) 또는 부적절한 데이터 캡처 테크놀로지(스프레드시트 등)가 사용된 경우(사용자가 선택한 데이터를 제한하는 것은 매우 어려운 경우)에서 발생합니다.셀(셀 검증이 사용되지 않는 경우)을 지정합니다.데이터 제약은 다음 범주로 분류됩니다.
- 데이터 유형 제약 – 예를 들어 특정 열의 값은 부울, 숫자(정수 또는 실수), 날짜 등 특정 데이터 유형이어야 합니다.
- 범위 제약: 일반적으로 숫자 또는 날짜는 특정 범위 내에 있어야 합니다.즉, 허용 가능한 최소값 및/또는 최대값을 가집니다.
- 필수 제약 조건:특정 열은 비워 둘 수 없습니다.
- 고유 제약 사항:필드 또는 필드 조합은 데이터 집합 전체에서 고유해야 합니다.예를 들어, 어떤 두 사람도 같은 사회 보장 번호를 가질 수 없습니다.
- 멤버 자격 제약 조건 설정:열의 값은 이산 값 또는 코드 집합에서 가져옵니다.예를 들어, 사람의 성별은 여성, 남성 또는 비이진수일 수 있습니다.
- 외부 키 제약 조건:이것은 세트 멤버쉽의 일반적인 경우입니다.열의 값 세트는 고유한 값을 포함하는 다른 테이블의 열에 정의됩니다.예를 들어, 미국 납세자 데이터베이스에서 "주" 열은 미국의 정의된 주 또는 지역 중 하나에 속해야 한다. 즉, 허용되는 주/지역 집합은 별도의 주 테이블에 기록된다.외부 키라는 용어는 관계형 데이터베이스 용어에서 차용되었습니다.
- 정규 표현 패턴:경우에 따라서는 텍스트 필드의 유효성을 확인해야 합니다.예를 들어, 전화번호에는 (999) 999-999 의 패턴이 필요합니다.
- 필드 간 검증:여러 필드를 사용하는 특정 조건이 유지되어야 합니다.예를 들어, 실험 의학에서 백혈구 분리의 합계는 모두 백분율이기 때문에 100이어야 합니다.병원 데이터베이스에서 환자의 퇴원 날짜는 입원 날짜보다 빠를 수 없습니다.
- 정확도:표준값 또는 참값에 대한 측정의 적합성 정도. 정확도 및 정밀도를 참조하십시오.정확도는 일반적으로 데이터 정리를 통해 달성하기가 매우 어렵습니다. 이러한 "골드 스탠다드" 데이터는 종종 사용할 수 없는 등 진정한 가치를 포함하는 외부 데이터 소스에 액세스해야 하기 때문입니다.일부 클렌징 컨텍스트(특히 고객 연락처 데이터)에서는 우편 번호를 지리적 위치(도시 및 주)에 일치시키는 외부 데이터베이스를 사용하여 정확성이 달성되었으며 이러한 우편 번호 내에 실제 주소가 존재하는지 확인하는 데에도 도움이 됩니다.
- 완전성:필요한 모든 조치를 알고 있는 정도.데이터 클렌징 방법론으로는 불완전성을 수정하는 것이 거의 불가능합니다.문제의 데이터가 최초로 기록되었을 때 포착되지 않은 사실을 추론할 수 없습니다.(면접 데이터 등 일부 상황에서는 피험자를 다시 인터뷰하는 등 데이터 소스로 돌아가 불완전성을 고칠 수 있지만, 이마저도 리콜 문제로 성공을 보장하지는 않는다. 예를 들어, 식품 소비에 대한 데이터를 수집하는 인터뷰에서는 아무도 정확히 무엇을 먹었는지 기억하지 못할 가능성이 높다.9번째 전에.특정 열이 비어 있으면 안 된다고 주장하는 시스템의 경우 "알 수 없음" 또는 "누락됨"을 나타내는 값을 지정하여 문제를 해결할 수 있지만, 기본값을 제공한다고 해서 데이터가 완전해진 것은 아닙니다.)
- 일관성:시스템 전체에서 일련의 측정이 동등한 정도(「일관성」데이터 세트의 두 데이터 항목이 서로 모순되는 경우, 예를 들어 고객이 두 개의 서로 다른 현재 주소를 가진 것으로 기록되고 둘 중 하나만 정확할 수 있는 경우 불일치가 발생합니다.불일치를 수정하는 것은 항상 가능한 것은 아닙니다.예를 들어, 보다 최근에 기록된 데이터, 가장 신뢰할 수 있는 데이터 소스(후자의 지식은 특정 조직에 고유한 것일 수 있음), 또는 단순히 두 데이터 항목을 테스트하여 진실을 찾는 것(고객에게 문의하는 것 등) 등 다양한 전략이 필요합니다.
- 균일성:모든 시스템에서 동일한 측정 단위를 사용하여 설정된 데이터 측정이 지정되는 정도(측정 단위 참조).서로 다른 위치에서 풀링된 데이터 집합에서 체중은 파운드 또는 킬로 단위로 기록될 수 있으며 산술 변환을 사용하여 단일 측정으로 변환해야 한다.
무결성이라는 용어는 정확성, 일관성 및 검증의 몇 가지 측면을 포함하지만(데이터 무결성도 참조), 구체성이 불충분하기 때문에 데이터 클리어 컨텍스트에서 단독으로 사용되는 경우는 거의 없습니다(예를 들어, "referential integrity"는 위의 외부 키 제약 조건의 시행을 나타내는 용어입니다).
과정
- 데이터 감사:데이터는 이상과 모순을 검출하기 위해 통계 및 데이터베이스 방법을 사용하여 감사됩니다.이는 최종적으로 이상과 그 위치를 나타냅니다.몇 가지 상용 소프트웨어 패키지는 다양한 종류의 제약을 지정하고(예를 들어 JavaScript 또는 Visual Basic과 같은 표준 프로그래밍 언어의 문법에 부합하는 문법을 사용하여) 이러한 제약을 위반하는지 데이터를 검사하는 코드를 생성합니다.이 프로세스는 아래 글머리 기호 "워크플로우 사양" 및 "워크플로우 실행"에서 언급됩니다.Microsoft Access 나 File Maker Pro 등의 Microcomputer 데이터베이스 패키지는 고급 클렌징 소프트웨어에 접근할 수 없는 사용자에게는 대부분의 경우 프로그래밍을 거의 또는 전혀 필요로 하지 않고 제약별로 인터랙티브하게 체크할 수 있습니다.
- 워크플로우 사양:이상 징후 탐지 및 제거는 워크플로라고 하는 데이터에 대한 일련의 작업을 통해 수행됩니다.데이터 감사 프로세스 후에 지정되며 고품질 데이터의 최종 산출물을 달성하는 데 매우 중요합니다.적절한 워크플로우를 실현하기 위해서는 데이터의 이상과 오류의 원인을 면밀히 고려해야 합니다.
- 워크플로우 실행:이 단계에서는 워크플로의 사양이 완료되고 그 정확성이 검증되면 워크플로우가 실행됩니다.데이터 정리 작업의 실행에는 계산 비용이 많이 들기 때문에 불가피하게 트레이드오프를 초래하는 대규모 데이터 집합에서도 워크플로우의 구현이 효율적일 필요가 있습니다.
- 후처리 및 제어 : Cleaning Workflow 실행 후 결과를 검사하여 정확성을 확인합니다.워크플로 실행 중에 수정할 수 없었던 데이터는 가능하면 수동으로 수정합니다.그 결과 데이터를 다시 감사하여 추가 워크플로우를 지정함으로써 자동 처리를 통해 데이터를 더욱 정리할 수 있는 데이터 정리 프로세스의 새로운 주기가 시작됩니다.
양질의 소스 데이터는 "데이터 품질 문화"와 관련이 있으며 조직의 최고위층에서 시작해야 합니다.입력화면에 강력한 검증체크를 실장하는 것만이 문제가 아닙니다.이는 이러한 체크가 아무리 강력해도 사용자가 회피하는 경우가 많기 때문입니다.데이터 [4][5]품질을 향상시키고 싶은 조직을 위한 9단계 가이드가 있습니다.
- 데이터 품질 문화에 대한 높은 수준의 대처 선언
- 경영진 수준의 프로세스 리엔지니어링 추진
- 데이터 입력 환경을 개선하기 위해 비용 지출
- 비용을 들여 애플리케이션 통합 개선
- 비용을 들여 프로세스 작동 방식 변경
- 엔드 투 엔드의 팀 인지도 향상
- 부문간 협력 촉진
- 데이터 품질의 우수성을 공개적으로 칭찬하다
- 지속적인 데이터 품질 측정 및 향상
그 외, 다음과 같은 것이 있습니다.
- 구문 분석: 구문 오류 탐지.파서는 데이터 문자열이 허용된 데이터 사양 내에서 허용 가능한지 여부를 판단한다.이것은 파서가 문법이나 언어를 다루는 방식과 유사합니다.
- 데이터 변환:데이터 변환을 통해 지정된 형식에서 해당 응용 프로그램에서 예상하는 형식으로 데이터를 매핑할 수 있습니다.여기에는 값 변환 또는 변환 기능뿐만 아니라 최소값과 최대값을 준수하도록 숫자 값을 정규화하는 작업이 포함됩니다.
- 중복 제거:중복 탐지를 수행하려면 데이터에 동일한 엔티티의 중복된 표현이 포함되어 있는지 여부를 판단하기 위한 알고리즘이 필요합니다.일반적으로 데이터는 중복된 엔트리를 서로 가깝게 하여 빠르게 식별할 수 있도록 하는 키로 정렬됩니다.
- 통계적 방법 : 평균, 표준편차, 범위 또는 클러스터링 알고리즘의 값을 이용하여 데이터를 분석함으로써 전문가가 예상치 못한 오차를 발견할 수 있다.이러한 데이터의 보정은 실제 값을 알 수 없기 때문에 어렵지만, 값을 평균값이나 다른 통계값으로 설정하면 해결할 수 있다.통계적 방법은 결측값을 처리하는 데도 사용할 수 있으며, 결측값은 일반적으로 광범위한 데이터 증강 알고리즘에 의해 얻어지는 하나 이상의 그럴듯한 값으로 대체될 수 있다.
시스템.
이 시스템의 중요한 역할은 더러운 데이터를 수정하는 것과 소스 생산 시스템의 원래 데이터에 가능한 한 가깝게 데이터를 유지하는 것 사이에서 적절한 균형을 찾는 것입니다.이는 압축 해제, 변환, 부하 설계자가 해결해야 할 과제입니다.시스템은 데이터 웨어하우스에서 데이터를 삭제하고 품질 이벤트를 기록하고 데이터 품질을 측정/제어할 수 있는 아키텍처를 제공해야 합니다.데이터 클렌징 시스템에 필요한 복잡성을 정의하고 소스 시스템의 현재 데이터 품질을 파악하는 데 도움이 되는 데이터 프로파일링 분석을 수행하는 것이 좋습니다.
고품질 화면
데이터 클렌징 시스템의 일부는 품질 스크린이라고 불리는 진단 필터 세트입니다.데이터 흐름에서 각각 테스트를 구현합니다.테스트가 실패하면 오류 이벤트 스키마에 오류가 기록됩니다.품질 화면은 다음 세 가지 범주로 나뉩니다.
- 컬럼 화면개별 컬럼 테스트(예: NULL 값, 수치여야 하는 비숫자 값, 범위 외 값 등)
- 구조화면이들은 동일 테이블 또는 다른 테이블에서 열(일반적으로 외부 키/기본 키) 간의 다른 관계의 무결성을 테스트하는 데 사용됩니다.또한 기둥 그룹이 준수해야 하는 구조 정의에 따라 유효한지 테스트하는 데에도 사용됩니다.
- 비즈니스 규칙 화면세 가지 테스트 중 가장 복잡한 테스트입니다.여러 테이블에 걸쳐 데이터가 특정 비즈니스 규칙을 준수하는지 여부를 테스트합니다.예를 들어, 고객이 특정 유형의 고객으로 표시되어 있는 경우, 이러한 종류의 고객을 정의하는 비즈니스 규칙을 준수해야 합니다.
품질 화면에 오류가 기록되면 데이터 흐름 프로세스를 중지하거나, 대상 시스템이 아닌 다른 곳으로 결함 데이터를 전송하거나, 데이터에 태그를 지정할 수 있습니다.첫 번째 옵션은 문제가 발생할 때마다 누군가가 수동으로 문제를 처리해야 하고 두 번째 옵션은 대상 시스템에서 데이터가 누락되어 있고(정합성) 이러한 데이터에 어떤 일이 발생할지 불분명한 경우가 많기 때문에 후자의 옵션이 최선의 해결책으로 간주됩니다.
기존 툴 및 프로세스에 대한 비판
대부분의 데이터 클렌징 툴에는 다음과 같은 조작성에 제한이 있습니다.
- 프로젝트 비용: 보통 수십만달러의 비용
- 시간: 대규모 데이터 정리 소프트웨어를 마스터하는 것은 시간이 많이 소요됩니다.
- 보안: 크로스 검증에서는 기밀 레거시 시스템을 포함한 시스템 전체에 걸쳐 애플리케이션에 액세스 할 수 있도록 정보를 공유할 필요가 있습니다.
오류 이벤트 스키마
오류 이벤트 스키마에는 품질 화면에 의해 발생한 모든 오류 이벤트의 레코드가 저장됩니다.Error Event Fact 테이블은 날짜(시기), 배치 작업(장소), 화면(오류를 생성한 사람)을 나타내는 3차원 테이블에 대한 외부 키가 포함된 Error Event Fact 테이블로 구성됩니다.또, 에러가 발생한 시기와 에러의 중대도에 관한 정보도 격납되어 있습니다.또한 메인 테이블에는 외부 키가 있는 Error Event Detail Fact 테이블이 있습니다.이 테이블에는 에러가 발생한 테이블, 기록 및 필드, 에러 상태에 대한 상세 정보가 포함되어 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Wu, S. (2013), "A review on coarse warranty data and analysis" (PDF), Reliability Engineering and System, 114: 1–11, doi:10.1016/j.ress.2012.12.021
- ^ "What is Data Cleaning?". Sisense. Archived from the original on 2021-10-17. Retrieved 2021-10-17.
- ^ "Data 101: What is Data Harmonization?". Datorama. 14 April 2017. Retrieved 14 August 2019.
- ^ 킴볼, R., Ross, M., Thornthwaite, W., Mundy, J., Becker, B.데이터 웨어하우스 라이프 사이클 툴킷, Wiley Publishing, Inc, 2008.ISBN 978-0-470-14977-5
- ^ Olson, J.E. 데이터 품질: 정확도 차원", Morgan Kaufmann, 2002. ISBN 1-55860-891-5
추가 정보
- McKinney, Wes (2017). "Data Cleaning and Preparation". Python for Data Analysis (2nd ed.). O'Reilly. pp. 195–224. ISBN 978-1-4919-5766-0.
- van der Loo, Mark; de Jonge, Edwin (2018). Statistical Data Cleaning with Applications in R. Hoboken: Wiley. ISBN 978-1-118-89715-7.
외부 링크
- Computerworld: 데이터 스크러빙 (2003년 2월 10일)
- Erhard Ram, Hong Hai Do: 데이터 클리닝: 문제와 현재 접근법