본문 바로가기

데이터분석/AD(s)P

[개념정리] 3-03 데이터 마트

1. 데이터 변경, 요약

  • 요약변수 vs 파생변수
    • DM에서 받아온 데이터를 처리과정을 통해 분석 활용 자료로 변환하는데, 이 만들어진 변수들이 요약변수와 파생변수
    • 요약변수
      • 분석에 맞게 종합한 변수
      • DM에서 기본적인 변수로, 총구매 금액, 금액, 횟수, 구매여부 등 데이터 분석을 위해 만들어지는 변수
      • 모델에 공통 사용 가능 -> 재활용성
      • 간단한 구조(ex. 합계, 횟수)라서 자동화 프로그램 구축 가능
      • 단점 : 기준값 의미 해석 애매(ex. 얼마이상을 구매할 경우) -> 연속형 변수를 그룹핑해 사용할 것
    • 파생변수
      • 분석자가 특정 조건 만족 or 특정함수에 의한 값을 만들어 의미 부여
      • 세분화, 고객행동 예측, 캠페인 반응 예측에 활용
      • 파생변수가 특정 상황에만 유의미 하지 않게 대표성을 나타나게 해야 함
      • 단점 : 주관적 -> 논리적 타당성 필요
  • 데이터 마트 생성 ( reshape )
    • reshape 패키지에 melt(), cast() 함수로 변수 생성
  • 데이터 핸들링 ( sqldf, plyr )
    • sqldf
      • R에서 sql 명령어 사용 가능
      • SAS에서의 proc sql 과 같은 역할
    • plyr
      • apply 함수 기반, 데이터와 출력변수를 배열로 치환해 처리
  • 데이터 핸들링 패키지 중 data.table
    • 가장 많이 사용하는 데이터 핸들링 패키지
    • 큰 데이터 탐색, 연산, 병합에 유용
    • data.frame 보다 월등히 빠름
    • 특정 column key 값으로 색인 지정 후 데이터를 처리
    • 빠른 grouping, ordering, 짧은 문장 지원 측면에서 데이터 프레임 보다 유용

 

2. 데이터 가공

  • Data Exploration
    • 분석을 위해 데이터 변수 상태 파악
      • head, tail -> 시작, 마지막 6개 record 조회
      • summary 
        • 수치형 변수 : 최대, 최소, 평균, 1사분위, 2사분위(중위수), 3사분위수
        • 명목형 변수 : 명목값, 데이터 개수
  • 변수 중요도
    • 모형을 생성해서 변수의 중요도를 살피는 과정
    • klaR 패키지
      • 특정변수로 클래스가 어떻게 분류되는 지에 대한 에러율 계산, 그래픽으로 표현
      • greedy.wilks() : 종속변수에 영향력을 미치는 변수를 wilks lambda( 집단내 분산/총분산 ) 활용, 변수 중요도 정리
  • 변수 구간화
    • 연속형 변수를 분석 목적에 맞게 구간화(일반적으로 10진수 단위 구간화, 구간을 5개로 나눈 것이 보통, 7개 이상 구간은 거의 x) -> binning, 의사결정나무
    • 신용평가모형, 고객 세분화와 같은 시스템에서 각 변수들을 구간화해 구간별 점수를 적용하는 스코어링 방식으로 사용
    • binning
      • 신용평가모형에서 연속형 변수를 범주형 변수로 구간화 하는데 자주 활용
      • 연속형 변수 오름차순 정렬, 레코드를 bin에 나누어 담고 bin별 부실율을 기준으로 병합하면서 최종 5~7개의 bin으로 부실율의 역전이 생기지 않게 합치면서 구간화
    • 의사 결정나무
      • 세분화, 예측에 활용되는 모형으로 입력변수 구간화 가능
      • 동일 변수가 여러 가지에 계속해서 분리기준으로 사용될 수 있기 때문에 연속 변수가 여러번 분리기준으로 선택될 경우 각각의 분리 기준 값으로 연속형 변수를 구간화 가능
        • root 분리기준에서 임금상승률이 < 2.5 인 자식과 > 2.5 인 자식으로 나뉘고 다른 가지로 뻗어나가 또한번 임금상승률이라는 연속형 변수로 < 4, > 4 이런 식으로 자식이 나뉠 경우.

 

 

3. 기초 분석, 데이터 관리

  • 결측값
    • 처리
      • 단순대치법
        • completes analysis : 결측값 존재 레코드 삭제(삭제시 활용 대상 데이터 감소 -> 효율성 감소로 이어짐. 보완하기 위해 평균대치법, 단순확률 대치법을 사용)
        • mean imputation (평균대치법) : 데이터 평균으로 대치
          • 비조건부 평균 대치 : 관측데이터의 평균으로 대치
          • 조건부 평균 대치 : 회귀 분석을 활용
        • single stochastic imputation (단순확률 대치법) : 평균대치법의 추정량 표준 오차의 과소 추정문제 보완하려고 고안. Hot-deck, nearest neighbor 방법 존재
      • 다중대치법
        • 단순대치법을 m 번 대치 -> m 개의 가상적 완전 자료
        • 대치 -> 분석 -> 결합
        • bootstrapping based algorithm 활용한 다중 대치법
    • R
      • 함수
        • complete.cases() : 결측값 있을 경우 false, 없으면 true
        • is.na() : 결측값이 있으면 true, 없으면 false
        • DMwR패키지
          • centralImputation() : 결측값을 central value(가운데 값 : 숫자는 중위수, 요인은 최빈값)으로 대치
          • knnImputation() : k최근 이웃 분류 알고리즘 사용 대치, k개 주변이웃까지의 거리를 고려, 가중 평균한 값 사용
        • Amelia 패키지
          • amelia() : 랜덤 포레스트 모델은 결측값 존재시 바로 에러 발생. randomForest 패키지의 rfImpute() 함수를 활용하여 NA값 대치후 알고리즘 적용
  • 이상값
    • 의도하지 않게 잘못입력한 경우, 분석 목적에 부합하지 않아 제거하는 경우 bad data라고 -> 제거 하는 것이 바람직
    • 이상값의 인식 방법
      • Extreme Studentized Deviation
        • 평균으로 3표준편차(각 0.15%)떨어진 값
      • 기하평균 - 2.5 * 표준편차 ~ 기하평균 + 2.5 * 표준편차
      • 사분위수 제거
        • Q1 - 1.5 * IQR ~ Q3 + 1.5 * IQR
    • 극단값 절단(절단보다는 극단값 조정 방법을 이용하는 것이 손실율적고 설명력 높음)
      • 기하 평균이용 제거 : geo_mean
      • 하단, 상단 10% 제거(각 5%)
    • 극단값 조정(winsorizing)
      • 상한, 하한을 벗어나는 값을 상한, 하한 값으로 바꾸어 활용

 

 

  • quiz
    • 평균거래주기를 3~4배 초과하거나 다음달에 거래가 없을 것으로 예상되는 고객을 ( 휴면고객 )으로 정의한다.
    • 설명변수의 관측치에 비해 종속변수의 값이 상이한 값을 ( 이상치 ) 라고 한다.
    • R에서 multi-core를 사용하여 반복문을 사용하지 않고도 매우 빠르게 데이터를 처리하는 함수를 포함하는 패키지로 데이터를 분할하고 분할된 결과에 함수를 적용한 뒤 결과를 재조합 하는 함수를 포함하는 것은 ( plyr )이다.

'데이터분석 > AD(s)P' 카테고리의 다른 글

[개념정리] 3-01 데이터 분석 개요  (0) 2021.04.26