ADsP/3장

ADsP 데이터 분석 준전문가 PART 03 - 3장 데이터마트

sujii 2021. 3. 27. 21:42
반응형

< 데이터마트 >

- 데이터 웨어하우스와 사용자 사이의 중간층에 위치

- 데이터마트 내 데이터는 대부분 데이터웨어하우스에서 복제. 자체적으로 수집될 수 있고, 관계형 DB, 다차원 DB를 이용하여 구축할 수도

- 고객 데이터 마트 구축 : CRM(고객관계 관리) 관련 업무 중에서 핵심

- 동일한 데이터 셋 사용할 경우 최신 분석 기법을 이용하면 분석가의 역량 무의미 -> 데이터마트를 어떻게 구축하느냐에 따라 분석 효과 크게 차이

# 요약변수

- 수집된 정보를 분석에 맞게 종합한 변수

- 총 구매 금액, 금액, 횟수, 구매 여부 등 데이터 분석을 위해 만들어지는 변수

- 재활용성 ↑

- 단점 : 얼마 이상이면 구매하더라도 기준값의 의미 해석 애매 --> 연속형 변수를 그룹핑해 사용

[ 위클리 쇼퍼, 상품별 구매 순서, 단어 빈도, 초기 행동 변수, 트렌드 변수, 결측 값과 이상 값 처리, 연속형 변수의 구간화 ]

# 파생 변수

- 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수

- 주관적! -> 논리적 타당성 갖추어 개발해야 함

- 세분화, 고객 행동 예측, 캠페인 반응 예측

- 상황에 따라 특정 상황에만 유의미하지 않게 대표성을 나타나게 할 필요 있음

[ 근무시간 구매지수, 주 구매 매장 변수, 주 활동 지역 변수, 주 구매 상품 변수 ]

< reshape의 활용 >

데이터 마트를 구성할 수 있는 패키지

# melt() 함수 : 원 데이터 형태로 만드는 함수

# cast() 함수 : 데이터를 원하는 형태로 계산 또는 변형시켜주는 함수

< 데이터 테이블 >

- R에서 가장 많이 사용하는 데이터 핸들링 패키지 중 하나

- 큰 데이터를 탐색, 연산, 병합하는데 아주 유용

- 데이터 프레임보다 빠른 속도

- 빠른 그루핑, ordering, 짧은 문장 지원 측에서 데이터프레임보다 유용

< 데이터 탐색 >

# head, tail : 시작 또는 마지막 6개 리코드만 조회하는 함수

# summary (데이터 분포 파악)

- 연속형 변수 : 4분 위수, 최소, 최대, 중앙

- 범주형 변수 : 각 범주의 빈도수 출력

- 명목형 변수 : 명목 값, 데이터 개수 (오로지 구분만을 위해 사용, 숫자의 크기나 의미는 중요 X)

< 변수의 구간화 >

연속형 변수를 분석 목적에 맞게 활용하기 위해 구간 화하여 모델링에 적용함

- 일반적으로 10진수 단위로 구간화, 보통: 5개의 구간, 7개 이상의 구간은 잘 만들지 않음

# binning

- 신용평가모형의 개발에서 연속형 변수를 범주형 변수로 구간화 하는데 자주 활용

# 의사결정 나무

- 세분화 또는 예측에 활용되는 의사결정 나무 모형을 사용하여 입력 변수들 구간화

- 동일한 변수를 여러 번의 분리 기준으로 사용이 가능 -> 연속 변수가 반복적으로 선택될 경우 각각의 분리 기준 값으로 연속형 변수 구간화 가능

< 데이터 EDA(탐색적 자료 분석) >

- 데이터의 분석에 앞서 전체적으로 데이터의 특징 파악, 데이터를 다양한 각도로 접근

- summary() 이용 -> 데이터의 기초 통계량 파악

[ 최솟값, 1 사분위수, 중앙값, 평균, 3 사분위수, 최댓값 ]

< 결측 값 인식 >

결측값 : NA, 99999999, ' '(공백), Unknown, Not Answer

- 결측 값을 처리하기 위해 시간을 많이 사용하는 것은 비효율적

- 결측 값이 의미있는 경우가 있음 -> 무조건 삭제 X

- 결측값 처리는 전체 작업 속도에 영향을 줌

< 결측값 처리 방법 >

# 단순 대치법

1. completes analysis : 결측 값이 존재하는 레코드 삭제

--> 삭제할 경우 부분적 관측 자료를 사용 : 통계적 추론의 타당성 문제 발생

2. 평균 대치법

관측 또는 실험을 통해 얻어진 데이터의 평균으로 대치

- 비조건부 평균 대치법 : 관측 데이터의 평균으로 대치

- 조건부 평균 대치법 : 회귀 분석을 활용한 대치법

3. 단순 확률 대치법 : 평균 대치법에서 추정량 표준 오차의 과소 추정 문제를 보완하고자 고완 된 방법

--> Hot-deck 방법, nearest neighbor 방법

# 다중 대치법

단순 대치법을 한 번에 하지 않고 m번의 대치를 통해 m개의 가상적 완전 자료를 만드는 방법

: 대치 -> 분석 -> 결합

< R에서 결측 값 처리 >

completes.cases() : 결측 값이 있으면 FALSE, 없으면 TRUE

is.na() : 결측값이 있으면 TRUE, 없으면 FALSE

DMwR 패키지의 centrallmputation()

DMwR 패키지의 knnlmputation()

Amelia 패키지의 amelia()

< 이상 값 인식과 처리 >

# 이상값

- Bad data: 의도하지 않게 잘못 입력한 경우, 의도하지 않게 입력되었으나 분석 목적에 부합하지 않아 제거해야 하는 경우

--> 삭제 후 분석

- Bad data X : 의도하지 않은 현상이지만 분석에 꼭 포함해야 하는 경우, 의도된 이상 값인 경우

--> 꼭 제거해야 하는 것은 아님, 분석 목적이나 종류에 따라 적절한 판단 필요

# 이상 값의 인식 방법

- 군집 분석을 이용하여 다른 데이터와 멀리 떨어진 데이터가 이상치? X - 멀리 떨어진 데이터는 다른 군집에 속함

- 설명 변수의 관측치에 비해 종속 변수의 값이 상이한 값이 이상치 ? O

1. EDS : 평균으로부터 3 표준편차 떨어진 값

2. 기하평균 - 2.5 * 표준편차 < data < 기하평균 + 2.5 * 표준편차

3. 사분위수 이용하여 제거하기 (상자 그림의 outer fence 밖에 있는 값 제거)

이상 값 정의 : Q1 - 1.5(Q3-Q1) < data < Q3 + 1.5(Q3-Q1)을 벗어나는 데이터

# 극단값 절단 방법

1. 기하평균을 이용한 제거 : geo_mean

2. 하단, 상단 % 이용한 제거 : 10% 절단(상하위 5%에 해당하는 데이터 제거)

3. 극단값 조정 : 상한 값과 하한 값을 벗어나는 값들을 하한, 상한 값으로 바꾸어 활용하는 방법

--> 절단보다 데이터 손실률도 적고, 설명력도 높아짐

* 오답

휴면 고객 : 많은 기업에서 평균 거래 주기를 3~4배 이상 초과하거나 다음 달에 거래가 없을 것으로 예상되는 고객

결측치 : 결측치가 20% 이상인 경우 해당 변수를 제거하고 분석해야 함

이상치 : 이상치는 분석에서 제외할 수 있지만, 무조건적으로 제거 X

plyr : multi-core를 사용하여 반복문을 사용하지 않고도 매우 간단하고 빠르게 처리할 수 있는 데이터 처리 함수를 포함하고 있는 패키지