1. 데이터 변경, 요약
- 요약변수 vs 파생변수
- DM에서 받아온 데이터를 처리과정을 통해 분석 활용 자료로 변환하는데, 이 만들어진 변수들이 요약변수와 파생변수
- 요약변수
- 분석에 맞게 종합한 변수
- DM에서 기본적인 변수로, 총구매 금액, 금액, 횟수, 구매여부 등 데이터 분석을 위해 만들어지는 변수
- 모델에 공통 사용 가능 -> 재활용성
- 간단한 구조(ex. 합계, 횟수)라서 자동화 프로그램 구축 가능
- 단점 : 기준값 의미 해석 애매(ex. 얼마이상을 구매할 경우) -> 연속형 변수를 그룹핑해 사용할 것
- 파생변수
- 분석자가 특정 조건 만족 or 특정함수에 의한 값을 만들어 의미 부여
- 세분화, 고객행동 예측, 캠페인 반응 예측에 활용
- 파생변수가 특정 상황에만 유의미 하지 않게 대표성을 나타나게 해야 함
- 단점 : 주관적 -> 논리적 타당성 필요
- 데이터 마트 생성 ( reshape )
- reshape 패키지에 melt(), cast() 함수로 변수 생성
- 데이터 핸들링 ( sqldf, plyr )
- sqldf
- R에서 sql 명령어 사용 가능
- SAS에서의 proc sql 과 같은 역할
- plyr
- apply 함수 기반, 데이터와 출력변수를 배열로 치환해 처리
- sqldf
- 데이터 핸들링 패키지 중 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
- Extreme Studentized Deviation
- 극단값 절단(절단보다는 극단값 조정 방법을 이용하는 것이 손실율적고 설명력 높음)
- 기하 평균이용 제거 : geo_mean
- 하단, 상단 10% 제거(각 5%)
- 극단값 조정(winsorizing)
- 상한, 하한을 벗어나는 값을 상한, 하한 값으로 바꾸어 활용
- quiz
- 평균거래주기를 3~4배 초과하거나 다음달에 거래가 없을 것으로 예상되는 고객을 ( 휴면고객 )으로 정의한다.
- 설명변수의 관측치에 비해 종속변수의 값이 상이한 값을 ( 이상치 ) 라고 한다.
- R에서 multi-core를 사용하여 반복문을 사용하지 않고도 매우 빠르게 데이터를 처리하는 함수를 포함하는 패키지로 데이터를 분할하고 분할된 결과에 함수를 적용한 뒤 결과를 재조합 하는 함수를 포함하는 것은 ( plyr )이다.
'데이터분석 > AD(s)P' 카테고리의 다른 글
[개념정리] 3-01 데이터 분석 개요 (0) | 2021.04.26 |
---|