본문 바로가기

STATISTICS/ADsP

3-3. 데이터 마트

[데이터 변경 및 요약]

1. 데이터 마트 : 데이터 웨어하우스의 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스

2. 요약변수와 파생변수

  요약변수 파생변수
정의 수집된 정보를 분석에 맞게 종합한 변수로 데이터 마트에서 가장 기본적인 변수
많은 모델이 공통으로 사용할 수 있어 재활용성 높음
사용자(분석가)가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
매우 주관적일 수 있으므로 논리적 타당성을 갖출 필요가 있음
세분화, 고객행동 예측, 캠페인 반응 예측에 활용
예시 기간별 구매 금액/횟수/여부, 위클리 쇼퍼 ,상품별 구매 금액/횟수/ 여부,  상품별 구매 순서, 유통 채널별 구매 금액, 단어 빈도,  초기 행동변수,  트렌트 변수, 결측값/이상값 처리, 연속형 변수의 구간화 근무시간 구매자 수, 주 구매 매장 변수, 주 활동 지역변수, 주 구매 상품 변수, 구매상품 다양성 변수, 선호 가격대 변수, 시즌 선호 고객 변수, 라이프 스테이지 변수, 라이프스타일 변수, 휴면가망 변수, 최대가치 변수, 최적 통화시간 등

3. reshape 패키지

  • melt(): 쉬운 casting을 위해 데이터를 적당한 형태로 만들어주는 함수
  • cast(): 데이터를 원하는 형태로 계산 또는 변형시켜주는 함수
  • 변수를 조합해 변수명을 만들고 변수들을 시간, 상품 등의 차원에 결합해 다양한 요약변수와 파생변수를 쉽게 생성하여 데이터마트를 구성할 수 있게 해주는 패키지

4. sqldf 패키지

  • R에서 sql 명령어를 사용가능하게 해주는 패키지로 SAS의 proc sql 과 같은 기능
  • head([df]) -> sqldf("select * fron [df] linit 6")
  • subset([df], [col] %n% c("BF","HF") -> sqldf("select * fron [df] where [col] in('BF', 'HF)")
  • merge([df1]. [df2]) -> sqldf("select * from [df1], [df2]")

5. plyr 패키지

  • apply 함수를 기반으로 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지
  • split-apply-combine 방식으로 데이터를 분리하고 처리한 다음, 다시 결합하는 등 필수적인 데이터 처리 기능 제공
  array dataframe list nothing
array aaply adply alply a_ply
dataframe paply ddply dlply d_ply
list laply ldply llply l_ply
n relicates raply rdply rlply r_ply
function arguments maply mdply mlply m_ply

6. data.table

  • R에서 가장 많이 사용하는 데이터 핸들링 패키지 중 하나로 대용량 데이터의 탐색, 연산, 병합에 유용
  • 기존 data.frame 방식보다 월등히 빠른 속도
  • 특정 column을 key 값으로 색인을 지정한 후 데이터를 처리
  • 빠른 grouping과 ordering. 짧은 문장 지원 측면에서 데이터프레임보다 유용

 

[데이터 가공]

1. 변수의 구간화

  • 신용평가모형, 고객 세분화 등의 시스템으로 모형을 적용하기 위해서 각 변수들을 구간호하여 점수를 적용하는 방식이 활용
  • 연속형 변수의 구간화를 위한 rule 존재 - 10진수 단위로 구간화, 구간을 5개로 나누는 것이 보통, 7개 이상의 구간을 잘 만들지 않음

2. 변수 구간화의 방법

  • binning: 연속형 변수를 범주형 변수로 변환하기 위해 50대 이하의 구간에 동일한 수의 데이터를 할당하여 의미를 파악하면서 구간을 축소하는 방법
  • 의사결정나무: 동일한 변수를 여러번의 분리기준으로 사용 가능한, 모형을 통해 연속형 변수를 범주형 변수로 변환하는 방법

 

[기초 분석 및  데이터 관리]

1. 결측값 처리

1) 변수에 데이터가 비어 있는 경우: NA, ., 99999999, Unknown, Not Answer 등으로 표현

2) 단순 대치법 single imputation

  • completes analysisL 결측값의 레코드 삭제
  • 평균대치법 mean imputaion: 관측 및 실험을 통해 얻어진 데이터의 평균으로 대치
    • 비조건부 평균 대치법: 관측 데이터의 평균으로 대치
    • 조건부 평균 대치법: 회귀분석을 통해 데이터를 대치
  • 단순확률 대치법: 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보완한 방법으로 Hot-deck 방법, nearest Neighbor 방법

3) 다중 대치법 multiplr imputation : 단순 대치법을 m번 실시하여 m개의 가상적 자료를 만들어 대치하는 방법

2. R의 결측값 처리 관련 함수

  • complet.caese() : 데이터내 레코드에 결측값이 있으면 FALSE, 없으면 TRUE 반환
  • is.na() : 결측값의 NA 여부를 TRUE/FALSE로 반환
  • DMwR 패키지: centralImputaion() : NA 값을 가운데 값으로 대치 (숫자-중위수, factor- 최빈값)
  • DMwR 패키지: knnImputaion() : NA 값을 k 최근 이웃 분류 알고리즘을 사용하여 대치 - k 개 주변 이웃까지의 거리를 고려하여 가중평균한 값 사용
  • Amelia 패키지: amelia() : time-series-cross-sectional dataset(여러국가에서 매년 측정된 자료) 활용

3. 이상값 처리

1) 이상값

  • 의도하지 않은 현상으로 입력된 값 or 의도된 극단값 -> 활용 가능
  • 잘못 입력된 값 or 의도하지 ㅇ낳은 현사으로 입력된 값이지만 분석 목적에 부합되지 않는 값 -> bad data이므로 제거

2) 이상값의 인식

  • ESD(Extreme Studentized Deviation): 평균으로부터 3표준편차 떨어진 값
  • 기하평균-2.5x표준편차 < data < 기하평균+2.5x표준편차
  • Q1-1.5(Q3-Q1) < data < Q3+1.5(Q3-Q1)를 벗어나는 데이터

3) 이상값의 처리

  • 절단 trimming: 이상값이 포함된 레코드 삭제
  • 조정 winsorizing: 이상값을 상한 또는 하한값으로 조정 

'STATISTICS > ADsP' 카테고리의 다른 글

3-5. 정형 데이터 마이닝  (1) 2020.08.28
3-4. 통계분석  (0) 2020.08.27
3-2. R프로그래밍 기초  (0) 2020.08.23
3-1. 데이터 분석 기법의 이해  (0) 2020.08.22
2-2. 분석 마스터 플랜  (0) 2020.08.22