3장. 데이터마트

2021. 8. 19. 04:32Adsp

1절. 데이터 변경 및 요약

 

데이터마트

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

하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스

데이터마트 내 대부분의 데이터는 데이터 웨어하우스로부터 복제되지만, 자체적으로 수집될 수도 있으며, 관계형DB나 다차원 DB를 이용하여 구축한다.

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

분석가의 역량에서는 분석 효과가 크게 차이가 나지 않기에 데이터 마트를 어떻게 구축하느냐에 따라 분석효과가 크게 차이난다.!!

데이터마트에서 가장 중요한 데이터는 데이터웨어하우스로부터 받아오는 데이터이다. 받아온 데이터를 자료변환을하는 과정에서 요약변수/파생변수로 나뉨.

 

요약변수

*정의/예시

분석에 맞게 종합한 변수

데이터 마트에서 가장 기본적인 변수

활용)총구매 금액, 금액, 횟수, 구매여부 등 데이터 분석, 재활용성이 높음

합계, 횟수와 같이 간단한 구조이므로 자동화하여 상황에 맞게 또는 일반적인 자동화프로그램으로 구축이 가능함

단점) 얼마 이상 구매하더라도 기준값의 의미 해석이 애매할 수 있다. 이런경우 연속형 변수를 그룹핑해 사용하는 것이 좋다.

요약변수 예시
기간별 구매금액, 횟수 여부  
위클리 쇼퍼  
상품별 구매금액, 회수여부  
삼품별 구매 순서  
유통 채널별 구매 금액 온라인과 오프라인 사용 고객에게 모두 사용하도록 유도하는데 활용
단어 빈도  
초기 행동변수  
트렌드 변수 추이값을 나타내는 변수
결측값과 이상값 처리  
연속형 변수의 구간화  

 

파생변수

*정의/예시

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

주관적일 수 있으므로 논리적 타당성을 갖추어 개발해야 함

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

활용)세분화, 고객행동 예측, 캠페인 반응 예측

파생변수 예시
근무시간 구매지수  
주 구매 매장 변수  
주 활동 지역 변수  
주 구매상품 변수  
구매상품 다양성 변수  
선호하는 가격대 변수  
시즌 선호고객 변수  
라이프 스테이지 변수  
라이프 스타일 변수  
행사민감 변수  
휴면가망 변수  
최대가치 변수  
최적 통화 시간  

 

reshape활용

reshape는 R의 패키지 이다.

핵심함수: melt(), cast()

*코딩방식

함수 코딩방식 역할
melt() melt(data, id=...) 쉬운 casting을 위해 적당한 형태로 만들어주는 변수
cast() cast(data, formula=..~variable,fun) 데이터를 원하는 형태로 계산 또는 변형 시켜주는 함수

내가 이해한 바로는 !

melt의 id 는 value값을 나누고 싶은 기준 !

cast의 formula는 행 ~ 열 이렇게다!!

행을 day와 no를 기준으로 나누고, 열이 variable에 따라 나뉜다면=> cast(data, day+no~variable) 이 되는것 !!

sqldf를 이용한 데이터 분석

*sql명령문과 sqldf명령문의 차이

sql: select * from [dataframe]

sqldf: sqldf("select * from [dataframe]")

이렇게 !!

numrows = limit

= = like

 

 

 

plyr을 이용한 데이터 분석

apply함수에 기반해 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지이다.

split-apply-combine: 데이터를 분리하고 처리한 다음, 다시 결합하는 등 필수적인 데이터 처리기능을 제공

- ply() 함수는 앞에 두 개의 문자를 접두사로 가지는데, 첫 번째 문자는 입력데이터, 두 번째 문자는 출력 데이터 형태이다.

d : 데이터 프레임

a : 배열

l : 리스트

ex) daply: 데이터프레임을 어떤 과정을 통해 배열형태로 출력

apply 관련함수

split 관련함수

combine관련함수

데이터 테이블(data.table)

*데이터테이블과 데이터프레임 비교

데이터핸들링 패키지 중 하나

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

기존 data.frame방식보다 월등히 빠른 속도

특정 column을 key값으로 색인을 지정한 후 데이터를 처리

빠른 그루핑과 ordering(순서화), 짧은 문장 지원측면에서 데이터프레임보다 유용

 

2절.데이터 가공

Data Exploration

데이터 변수들의 상태 파악 함수

-head(), tail(): 앞/뒤 6개의 행만 조회

-summary():수치형변수[최대/최소값, 평균, 1/2/3분위수], 명목형변수[명목값,데이터개수]

 

 

변수 중요도 

변수 선택법과 유사한 개념으로 모형을 생성하여 사용된 변수의 중요도를 살피는 과정

klaR패키지

-특정변수가 주어졌을 때 클래스가 어떻게 분류되는지에 대한 에러율 계산, 그래픽으로 결과 보여줌

-greedy.wilks(): 세분화를 위한 stepwise forward변수선택을 위한 패키지, 종속변수에 가장 영향력을 미치는 변수를 wilks lambda를 활용하여 변수의 중요도를 정리

stepwise forward: 절편만 있는 모델에서 기준 통계치를 가장 많이 개선시키는 변수를 차례로 추가하는 방법

-plineplot():특정 변수가 주어졌을 때 class가 어떻게 분류되는지 error rate를 돌려주고,  graphical하게 결과를 보여줌

 

변수의 구간화

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

1.binning

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

2.의사결정나무

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

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

 

3절.기초분석 및 데이터 관리

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

데이터의 특징파악하고 데이터를 다양한 각도로 접근

 

결측값 인식

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

레코드를 삭제하면 활용가능한 변수도 작아져 데이터 활용의 효율성이 떨어진다. 무조건 삭제가 좋은 방법은 아님!

na.rm=T를 이용해 NA를 제거한 후 평균을 구하자!

 

결측값 처리방법

1.단순대치법

-결측값이 존재하는 레코드 삭제

-평균대치법:[비조건부 평균대치] 데이터의 평균으로 대치, [조건부 평균대치] 회귀분석을 활용한 대치법

-단순확률대치법:평균대치법의 추정량 표준오차의 과소 추정문제를 보완하고자 고안, Hot-deck, nearest neighbor 방법

2.다중대치법: m번의 대치를 통해 m개의 가상적 완전 자료를 만드는 방법

- 대치->분석->결합

-amelia:부트스트래킹 기반 알고리즘을 활용한 다중재치법

 

R에서 결측값 처리

complete.cases()

is.na()

centrallmputation()

knnlmputation()

amelia()

이상값

삭제해야하는 이상값(bad data): 의도치않게 잘못입력, 분석목적에 부합하지않는 경우

의도하지않은 현상이지만 분서겡 포함해야하는 경우, 의도된 이상값인 경우

이상값을 꼭 제거해야하는 것은 아니기 때문에 분석의 목적이나 종류에 따라 적절한 판단이 필요하다.

 

이상값 인식

1.ESD: 평균으로 부터 3표준편차 떨어진 값을 이상치로 인식할 수 있다.

2.기하평균-2.5*표군편차<data<기하평균+2.5*표준편차: 이 범위를 벗어나는 데이터는 이상치로 인식할 수 있다.

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

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

 

이상값 처리

1.극단값 절단 방법: 데이터를 제거하는 것 보다는 극단값 조정방법을 이용하는 것이 데이터 손실율도 적고, 설명력도 높아짐

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

-하단,상단% 이용한 제거: 10% 절단

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

'Adsp' 카테고리의 다른 글

1장. 데이터 분석 개요  (0) 2021.07.21