데이터 수집
데이터 수집 수행 자료
- 기초 데이터 수집 수행 절차 비즈니스 도메인 정보 수집 -> 분석기획서 기반 도메인 서비스 이해 -> 수집 데이터 탐색 -> 기초 데이터 수집
- 데이터 수집 시스템 구축 절차 수집데이터 유형 파악 -> 수집 기술 결정 -> 아키텍처 수립 -> 하드웨어 구축 -> 실행환경 구축
비즈니스 도메인과 원천 데이터 정보 수집
비즈니스 도메인
- 비즈니스 도메인 정보: 비즈니스 전개를 위해 필요한 구성요소 간의 상호 관계를 모델화 시켜 놓은것
- 비즈니스 용어집
- 비즈니스 프로세스: 비즈니스 전개에 필요한 모든 순차적이거나 병렬적인 활동들의 집합
- 도메인 전문가 인터뷰
원천 데이터
고려대상:
- 데이터의 수집 가능성 : 원천 데이터 수집의 용이성과 데이터 발생 빈도를 탐색하고 데이터 활용에 있어 전처리 및 후처리 비용을 대략 산정할 수 있다.
- 데이터의 보안, 데이터 정확성, 수집 난이도, 수집 비용을 고려하여야 한다.
내ᐧ외부 데이터 수집
내부 데이터는 조직 내부의 시스템, 네트워크 및 서버 장비, 마케팅 데이터(VOC 접수 데이터, 고객 포털 시스템등)이 속한다. 외부 데이터는 다양항 소셜 데이터, 특정 기관의 데이터, M2M(Machine to Machine) 데이터, LOD(Linked Open Data) 등으로 나눌 수 있다.
내부 데이터는 실시간으로 수집하여 분석할 수 있도록 해야 하고 외부 데이터의 경우 일괄 수집으로 끝날지, 일정 주기로 데이터를 수집할지 결정하여 관리 정책을 정해야 한다.
내부 데이터는 분석에 적합한 정형화된 형식으로 수집되기 때문에 가공에 많은 노력을 기울이지 않아도 되지만, 외부 데이터는 분석 목표에 맞는 데이터를 탐색, 수집하고, 분석 목표에 맞게 수집 데이터를 변환하는 노력이 필요하다.
데이터 수집 기술
정형 데이터
- ETL(Extract Transform Load) : 수집 대상 데이터를 추출 및 가공하여 데이터웨어 하우스에 저장하는 기술
- FTP(File Transfer Protocol) : TCP/IP나 UDP 프로토콜을 통해 원격지 시스템으로부터 파일을 송수신 하는 기술
- API
- DBToDB : DBMS 간 데이터를 동기화 전송하는 방법
- Sqoop : DBMS 와 Hadoop 간 데이터를 전송하는 방법, RDB에서 가져온 데이터들을 Hadoop Mapreduce 로 변환하고 변환된 데이터들을 다시 관계형 데이터베이스로 내보낼 수 있다.
비정형 데이터
- 크롤링
- RSS(Rich Site Summary) : 블로그, 뉴스, 쇼핑몰 등의 웹사이트에 게시된 새로운 글을 공유하기 위해 XML 기반으로 정보를 배포하는 프로토콜이다.
- Open API
- Chukwa(척와) : 대규모 분산 환경에서 로그 데이터를 수집해 HDFS에 저장 분석하는 시스템
- Kafka : 대용량 실시간 로그처리를 위한 분산 스트리밍 플랫폼 기술
반정형데이터
- Flume : 분산 환경에서 대량의 로그 데이터를 수집하고 전송하는 기능
스트리밍 데이터 흐름에 기반을 둔 간단하고 유연한 구조를 가진다. 아파치 플럼은 로그 데이터 수집과 네트워크 트래픽 데이터, 소셜 미디어 데이터, 이메일 메시지 등 대량의 이벤트 데이터 전송을 위해 사용된다.
- Scribe : 대용량 실시간 로그 처리를 위한 스트리밍 플랫폼
- Sencing : 센서로부터 생성된 데이터를 네트워크를 활용하여 수집하는 기능
- Streaming : 네트워크르 ㄹ통해 센서 데이터 및 오디오 비디오 등의 미디어 데이터를 실시간으로 수집하는 기술
데이터 유형과 위치 및 비용
데이터 유형
- 정형데이터, 반정형 데이터, 비정형데이터
데이터 위치
- 내부 데이터, 외부 데이터
데이터 확보 비용 산정
데이터 확보 비용 산정 시 데이터의 종류, 데이터의 크기 및 보관 주기, 데이터 수집 주기, 데이터 수집 방식, 데이터의 수집 기술, 데이터의 가치를 고려하여 비용을 산정해야 한다.
데이터 적절성 검증
- 데이터 누락 점검 : 수집 데이터 세트의 누락, 결측 여부를 판단하여 누락 발견 시 재수집한다.
- 소스 데이터와 비교 : 수집 데이터와 소스 데이터의 사이즈 및 개수를 비교 검증한다.
- 데이터의 정확성 점검 : 유효하지 않는 데이터 존재여부를 점검한다.
- 보안 사항 점검 : 수집 데이터의 개인정보 유무 등 보안 사항의 점검이 필요하다.
- 저작권 점검 : 데이터의 저작권 등 법률적 검토를 수행한다.
- 대량 트래픽 발생 여부
데이터 변환
데이터 변환 방식의 종류
- 비정형 데이터를 정형 데이터 형태로 저장하는 방식 : 관계형 데이터베이스
- 수집 데이터를 분산 파일 시스템으로 저장하는 방식 : HDFS 등
- 주제별, 시계열적으로 저장하는 방식 : 데이터 웨어하우스
- 키-값 형태로 저장하는 방식 : NoSQL
데이터 비식별화
비식별화
개인정보 비식별화는 개인정보를 식별할 수 있는 값들을 몇 가지 정해진 규칙으로 대체하거나 사람의 판단에 따라 가공하여 개인을 알아볼 수 없도록 하는 조치를 말한다. 데이터의 유효성을 유지하면서 개인 식별 가능성을 제거하는 것을 목표로 한다.
식별자와 속성자
식별자는 개인 또는 개인과 관련된 사물에 고유하게 부여된 값 또는 이름을 말한다. 속성자는 개인과 관련된 정보로서 다른 정보와 쉽게 결합하는 경우 특정 개인을 알아볼 수도 있는 정보를 말한다.
- 식별자의 예시 : 고유식별정보, 성명, 통장 계좌번호등
- 속성자의 예시 : 개인의 특성(성별, 연령, 국적, 고향등), 신체 특성(혈액형, 신장, 몸무게등)
개인정보 해당 여부 판단 기준
- 살아 있는 개인에 관한 정보로서 개인을 알아볼 수 있는 정보이며, 해당 정보만으로는 특정 개인을 알아볼 수 없더라도 쉽게 결합하여 알아볼 수 있는 정보를 포함한다.
- 정보의 종류, 형태, 성격, 형식등에 대해서는 특별한 제한이 없다.
- 합법적으로 정보를 수집할 수 없거나 결합을 위해 불합리한 정도의 시간, 비용 등이 필요한 경우라면 "쉽게 결합"할 수 있는 상태라고 볼 수 없다.
비식별 조치 방법
- 가명처리 : 휴리스틱 가명화, 암호화, 교환 방법들이 속하며 개인정보 중 주요 식별요소를 다른 값으로 대체 하는 방법이다. 예를들어, "홍길동 35세"의 정보를 "임꺽정, 30대" 와 같이 특정 인물을 알 수 없게끔 대체하는 방법이다. ex) 휴리스틱 가명화, 암호화, 교환 방법
- 총계처리 : 데이터의 총합을 보여주고 개별 값을 보여주지 않는 방법이다.
- 데이터 삭제 : 901206-12341245 를 90년대생, 남자로 표현하는것과 같이 제거하는 것
- 데이터 범주화 : 35세를 30~40세로 표현하여 범주의 값으로 변환해 값을 숨기는 방법이다. ex) 랜덤 라운딩, 제어라운딩
- 데이터 마스킹 : 홍길동을 홍xx 와 같이 표현하는것, 임의의 잡음 추가(실제 생년월일에 잡음을 추가하여 유효한 데이터로 보이지 식별되지 않게 하는 것), 공백과 대체
적정성 평가
적정성 평가 시 프라이버시 보호 모델 중 최소한의 수단으로 k-익명성을 활용하며, 필요시 추가적인 평가모델(l-다양성, m-유일성)을 사용한다.
위에서 정의하는 의 값은 전문가 등이 검토하여 마련한다.
k-익명성
-다양성
데이터의 집합이 같은 값으로 구성될 경우 발생하는 문제를 해결하기 위한 방법
t-근접성
-다양성의 취약점을 보완하기 위한 모델로 값의 의미를 고려하는 모델이다. 정보의 분포를 조정하여 정보가 특정 값으로 쏠리거나 유사한 값들이 뭉치는 경우를 방지하는 방법이다. t 수치가 0에 가까울수록 전체 데이터의 분포와 특정 데이터 구간의 분포 유사성이 강해지기 때문에 그 익명성의 방어가 더 강해지는 경향이 있다.
m-유일성
원본 데이터와 동일한 속성 값의 조합을 비식별 결과 데이터에 최소 m개 이상 포함시켜 추론 가능성을 낮춘다.
데이터 품질 검증
데이터 품질 관리
데이터 분석을 위해 가치성, 정확성, 유용성 있는 데이터를 확보하고, 신뢰성 있는 데이터를 유지하는 데 필요한 관리 활동이다. 데이터의 품질 관리는 분석 결과의 신뢰성 확보와 일원화된 프로세스, 데이터 활용도 향상과 양질의 데이터를 확보하는데 중요한 역할을 수행한다.
정형 데이터 품질 기준
비정형 데이터 품질 기준
정형 데이터 품질 진단
데이터 프로파일링 기법을 통해 진단할 수 있다. 메타데이터 수집 및 분석, 칼럼 속성 분석, 누락 값 분석, 값의 허용 범위 분석, 문자열 패턴 부석, 날짜 유형 분석, 기타 특수 도메인 분석, 유일 값 분석, 구조 분석
데이터 프로파일링은 정확성, 일관성, 적시성과 같은 요소를 기반으로 데이터를 평가하여 데이터에 일관성이나 정확성이 부족하거나 null 값이 있는지 표시합니다.
데이터 프로파일링은 데이터 품질 진단을 위한 것이다. 현실의 데이터가 반영된 것인지에 대한 확인은 별도의 검증 방법을 제공하지 않는 이상 프로파일링 만으로 진단하기 어렵다.
비정형 데이터 품질 진단
품질 세부 기준을 정하여 항목별 체크리스트를 작성하여 진단한다. 앞서 이야기한 기능성, 신뢰성, 사용성, 효율성, 이식성을 만족하기 위한 비정형 데이터의 기준 예를들어, 정확성의 경우 "자막은 맞춤법 표기에 따라 작성되었는가?" 와 같이 체크리스트를 작성하고 해당 체크리스트를 모두 체크하는 방향으로 품질을 진단한다.
데이터 품질 진단 절차 (5단계)
- 품질 진단 계획 수립
- 품질 기준 및 진단 대상 정의
- 품질 측정
- 품질 측정 결과 분석
- 데이터 품질 개선
데이터 품질 검증 수행
오답노트
원천데이터, Source Data는 분석이나 가공이 이루어지기 전에 최초로 수집된 데이터를 의미합니다. 원천 데이터에 대한 정보는 데이터 수집 가능성, 데이터의 보안, 데이터의 정확성, 수집 난이도, 수집 비용 항목이 필요하다.
정형 데이터 수집
정형 데이터 수집시 아파치 스쿱을 사용하여 데이터를 수집할 경우 관계형 데이터 스토어 간의 대량 데이터를 효과적으로 전송하기 위해 구현된 도구이다. Hadoop 이 아닌 스토어간의 데이터 가져오기/내보기 과정을 맵리듀스를 통해 처리하기 때문에 병렬처리가 가능하고 장애에 강하다는 특징을 가진다.
휴리스틱 가명화
식별자에 해당하는 값들을 몇 가지 정해진 규칙으로 대체하거나 사람의 판단에 따라 가공하여 개인정보를 숨긴다. 활용할 수 있는 대체 변수에 한계가 있으며, 다른 값으로 대체하는 일정한 규칙이 노출되는 취약점이 있어 규칙 수립 시 개인을 쉽게 식별할 수 없도록 해야 한다.
데이터 삭제 기법은 사용자의 개인데이터의 일부분을 삭제함으로서 비식별화를 수행하기 때문에 분석의 다양성과 분석 결과의 유효성과 신뢰성이 저하된다.
랜덤 라운딩, 제어 라운딩은 범주화에 속하는 기법이다.