3장 데이터 마트
sqldf
plyr
reshape
3.1 데이터 변경 및 요약
데이터 마트
- 데이터 웨어하우스와 사용자 사이에 위치
- 대부분 웨어하우스로부터 복제, 자체 수집도 가능
- CRM 업무 중 핵심 - 고객 데이터 마트 구축
요약 변수
- 총 구매 금액, 금액, 횟수, 구매여부 등 분석에 맞게 종합한 변수
- 잘 만들면 중요한 변수로 활용 가능
- 많은 모델에 공통으로 활용될 수 있으므로 재활용성 높음
- 기준값의 의미 해석이 애매할 수 있음
파생 변수
- 특정조건을 만족 / 특정 함수를 통해 값을 만들어 의미 부여
- 주관적일 수 있으므로 논리적 타당성 갖추는 것이 필요
- 세분화 / 고객행동 예측 / 캠페인 반응 예측
ex) 휴면가망 변수 , 최대가치 변수 , 최적 통화 시간 등
reshape
melt()
, cast()
두 가지 핵심함수로 구성
melt(df,id=c('no','day'))
- no와 day를 기준점으로 df를 melt
cast(df,no+day~variable)
- no와 day를 기준점으로 varaible을 cast
+는 기준점을 추가, ~는 cast할 대상을 나타낸다.
sqldf()
sqldf("select * from iris")
plyr
aaply
, alply
, daply
, mlply
, mdply
, maply
, laply
등 다양한 apply 기반 함수 제공
data.table
- 가장 많이 사용하는 데이터 핸들링 패키지
- 큰 데이터를 탐색 / 연산하는데 유용
- 데이터 프레임보다 빠르다
3.2 데이터 가공
Data exploration
head()
, tail()
- 처음 / 마지막 6개 record 조회
summary()
- 최댓값 , 평균 , 사분위수 , 데이터 수 등 제공
변수 중요도
- klaR 패키지 -
greedy.wilks()
종속변수에 영향력을 미치는 변수를 wilks lambda를 활용하여 변수 중요도 정리 ( wilks lambda = 집단내분산/총분산 )
변수의 구간화
- 보통 다섯개의 구간으로 나누며 7개 이상 만들지는 않는다
구간화 방법
3.3 기초 분석 및 데이터 관리
결측값 처리 방법
단순 대치법
1. Completes Analysis - 결측값이 존재하는 레코드 삭제
2. 평균 대치법 - 데이터의 평균으로 대치
비조건부 - 관측데이터의 평균
조건부 - 회귀분석을 활용
3. 단순확률 대치법 - 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보완하기 위해 고안
Hot deck / Nearest Neighbor 방법
다중 대치법
m번의 대치를 통해 m개의 가상적 완전 자료를 만든다.
R과 결측치 처리
complete.cases()
- 결측치가 없으면 TRUE , 있으면 FALSE 반환
is.na()
- 결측값이 있으면 TRUE , 없으면 FALSE
- DMwR의
centrallmputation()
- 가운데 값으로 대치
- DMwR의
knnlmputation()
- knn으로 대치
- Amelia의
amelia()
- randomforest의 rflmpute()
로 NA 대치
이상값
- 잘못 입력한 경우
- 의도하지 않은 현상이지만 분석에 포함 / 포함하지 않는 경우
- 의도된 이상값인 경우
- 항상 제거해야 하는 것은 아니다
이상값 인식
- ESD - 평균으로부터 3 표준편차 떨어진 값
- 기하평균 - 2.5 x 표준편차 < data < 기하평균 + 2.5 x 표준편차
- 사분위수를 이용한 탐지
Q1-1.5(Q3-Q1)<data<Q3+1.5(Q3-Q1)
극단값 절단
- 기하평균을 이용한 제거 - geo_mean
- 하단, 상단 % 이용한 제거 - 10% 절단 ( 위 아래 )
극단값 조정
- 상한 / 하한을 벗어나는 값을 상한 / 하한으로 변경
4장 통계 분석
가장 양이 많은 부분이다.
4.1 통계분석의 이해
통계자료의 획득
- 총 조사 / 전수 조사 - 많은 시간과 비용이 소모된다. 일반적이지 않은 방법
- 표본조사 - 모집단에서 샘플을 추출하여 진행하는 조사
표본추출 방법
- 단순랜덤 추출법
- 계통추출법 - n개의 구간으로 나눠 구간당 하나씩 추출
- 집락추출법 - 군집을 구분한 후 군집별로 단순랜덤 추출법 수행
- 층화추출법 - 유사한 원소끼리 층으로 나누어 각 층에서 랜덤 추출
측정
말 그대로 표본에 대한 측정을 수행하는 단계
질적척도
- 명목척도 - 어느 집단에 속하는 지 분류 ( 성별 / 출생지 )
- 순서척도 - 서열관계를 측정 ( 만족도, 선호도, 학년, 신용등급 )
양적척도
- 구간척도 - 속성의 양을 측정 , 구간이나 구간 사이의 간격이 의미있는 경우 ( 온도 , 지수 ) ( 곱하기 / 나누기 불가 )
- 비율척도 - 간격에 대한 비율이 의미를 가지는 자료, 0이 존재하고 사칙연산이 가능 , 제일 많은 정보를 지님 ( 무게, 나이, 시간, 거리 )
다양한 분포
- 이산형 확률변수
1. 베르누이 확률분포 Bern(p)
2. 이항분포 - 베르누이 시행을 n번했을 때 k번 성공할 확률
3. 기하분포 - 첫 성공까지 k번 실패할 확률
4. 다항분포 - 이항분포의 확장
5. 포아송분포 - 시간과 공간 내에서 발생하는 사건의 발생 횟수에 대한 분포
- 연속형 확률변수
1. 균일분포
2. 정규분포
3. 지수분포
4. t-분포 - 두 집단의 평균이 동일한지 검정
5. x^2 -분포 (chi -square) - 동질성 검정에 활용
6. F-분포 - 두 집단간 분산의 동일성 검정
가설검정
가설검정
-
귀무가설 - 대립가설에 반대되는 가설
-
대립가설 - 증명하고자 하는 가설
즉, A와 B가 연관이 있음을 통계적으로 검정하려면
귀무가설은 A와 B는 연관이 없다.
대립가설은 A와 B는 연관이 있다. 가 되는 것이다
- 유의수준 - 귀무가설이 옳음에도 기각하는 확률의 크기
보통 유의수준은 0.05이다.
- 유의확률 - 귀무가설이 옳다고 가정할 때 얻는 결과보다 실제값이 더 극단에 위치할 확률
유의확률이 0.05라면 , 귀무가설이 옳다고 가정할 경우 이러한 표본을 얻을 확률이 5%
귀무가설이 틀리다고 가정할 경우 이러한 표본을 얻을 확률이 95%이므로 귀무가설을 기각하는 것
비모수검정
-
모수적 방법 - 모집단의 분포에 대한 가정을 하고, 검정을 실시
-
비모수적 방법
- 모집단의 분표에 대한 아무 제약을 가하지 않고 검정 실시
- 특정분포를 따른다고 가정할 수 없을 경우 사용
- 자료 수가 적거나 자료가 서열관계를 나타내는 경우 이용
모수적 검정과 비모수적 검정의 차이
-
가설 설정
모수적 검정 - 가정된 분포의 모수에 대해 가설
비모수 검정 - 분포의 형태가 동일 / 동일하지 않음처럼 분포의 형태에 대한 설정
-
검정 방법
모수적 검정 - 표본평균, 표본분산
비모수 검정 - 관측값들의 순위 , 두 관측값 차이의 부호 이용
비모수 검정 예시 - Sign test, 월콕슨의 순위합 검정, 월콕슨의 부호 순위 검정, 맨-휘트니의 U검정, 런 검정, 스피어만의 순위상관계수
4.2 기초 통계분석
왜도
분포의 비대칭정도를 나타내는 측도
m3 > 0 => 좌측 치우침
m3 < 0 => 우측 치우침
첨도
뾰족한 정도
m4 > 0 => 정규분포보다 뾰족
m4 < 0 => 정규분포보다 덜 뾰족
막대그래프 vs 히스토그램
- 막대그래프 - 범주형 데이터 표현 , 순서를 바꿀 수 있음
- 히스토그램 - 연속형 데이터 표현 , 순서를 바꿀 수 없음
그래프를 이용한 정리
- 막대그래프
- 히스토그램
- 줄기-잎 그림
- 상자그림
Cov
- 공분산이 +면 두 변수는 양의 상관관계
- X,Y 독립이면 Cov(X,Y) = 0
상관분석
상관계수 0.7 < r < 1
=> 강한 양의상관관계
피어슨 / 스피어만
스피어만 , 서열척도 , 순서 , 순위상관계수
4.3 회귀 분석
회귀분석의 가정
- 선형성
- 등분산성
- 독립성
- 비상관성
- 정상성(정규성)
단순선형회귀분석 검토사항
- t-통계량의 p-value가 0.05보다 작으면 통계적으로 유의
- R^2가 높을수록 회귀식의 설명력이 높음
결정계수
- 전체제곱합 : SST
- 회귀제곱합 : SSR
- 오차제곱합 : SSE
R^2 = SSR/SST
이 값이 1이라는 것은 회귀식의 선이 데이터를 관통한다는 뜻
- 독립변수의 수가 많아지면 결정계수가 높아지는 단점 존재
- 이를 보완하기 위해 수정결정계수 사용
다중선형회귀분석
- F-통계량의 p-value가 0.05보다 작으면 통계적으로 유의
- 선형성 / 등분산성 / 독립성 / 비상관성 / 정상성 만족하는지 확인
다중공선성
- 독립변수의 일부가 다른 독립변수의 조합으로 표현 가능한 경우
- 분산팽창요인 > 4 라면 다중공선성 존재 / 10 이상이면 심각한 문제
- 상태지수 > 10 이면 문제가 존재 / 30 이상이면 심각한 문제
최적회귀방정식
- 설명변수 선택 - 필요한 변수만 상황에 따라 선택
- 모형선택 - 모든 조합에 대한 회귀모형 생성 뒤 적합한 모형 선택
- 단계적 변수선택
- 전진선택법 - 절편부터 중요하다고 생각하는 변수 하나씩 추가
- 후진제거법 - 모두 포함한 모형에서 가장 적은 영향을 주는 변수부터 하나씩 제거
- 단계선택법 - 전진선택법으로 추가하면서, 기존 변수가 중요도가 약화되면 제거
벌점화
모델의 벌점화에 AIC , BIC CIC , DIC , RIC가 있으며 AIC를 주로 사용한다.
AIC가 낮을수록 좋은 것
4.3 시계열 분석
시계열 자료의 종류
비정상성 시계열 - 대부분의 시계열 자료
정상성 시계열 - 비정상성 시계열 자료를 핸들링하여 다루기 쉬운 자료로 변환
정상성
- 평균이 일정 - 모든 시점에 대해 일정한 평균을 가짐. 일정하지 않으면 차분을 통해 정상화
- 분산이 일정 - 모든 시점에 대해 일정한 분산을 가짐. 일정하지 않으면 변환을 통해 정상화(EX:LOG)
- 공분산도 특정 시점에 의존하지 않아야 한다.
분석방법
- 일변량 시계열 분석 - ARMA / 지수 평활법 / 시계열 분석법
- 다변량 시계열 분석 - 계량경제 모형 / 전이함수 모형 / 개입분석 / 다변량 ARIMA 등
이동평균법
- 자료의 수가 많고 안정된 패턴이 보이는 경우 예측의 품질이 높음
- 적절한 기간을 사용하는 것이 가장 중요
지수평활법
- 모든 시계열자료를 사용하여 평균을 구함
- 최근 시계열에 더 많은 가중치를 부여
- 불규칙 변동을 평활화 할 수 있다 ( ex : 상승추세의 주식의 잠시동안의 하락 )
- 불규칙 변동이 크면 지수평활계수는 작게 , 작으면 지수평활계수는 크게 적용
- 중기 예측 이상에 사용
시계열 모형
- 자기회귀 모형 (AR(p) : PACF 절단점 )
- p 시점 이전의 자료가 현재 자료에 영향을 줌
- PACF에 절단점을 가짐
- 이동평균 모형 (MA(q) : ACF 절단점 )
- 자기회귀누적이동평균 모형 (ARIMA(p,d,q))
- 분해하여 AR , MA , ARMA로 활용할 수 있음
- 분해 시계열
- 경향 , 계절 , 순환, 불규칙 요인으로 분해하여 분석
ARIMA 분석
PACF가 절단점을 lag3에서 갖는다면 -> lag2까지만 유의미한 결과 -> AR(2)
ACF가 절단점을 lag2에서 갖는다면 -> lag1까지만 유의미한 결과 -> MA(1)
or ARMA(2,1) 사용
4.5 다차원척도법
다차원척도법
- 객체간 근접성을 시각화하는 통계기법
- 데이터 축소의 목적으로 다차원척도법 이용
- 거리계산에 유클리드 거리행렬 활용
- 스트레스값이 0이면 완벽 , 0.15이상이면 나쁨
계량적 MDS
비계량적 MDS
4.6 주성분 분석 (PCA)
- 주성분이라는 상관성이 높은 변수들의 선형 결합으로 만들어 축소
- 다양한 변량을 소수의 주성분으로 축소해 이해와 관리가 쉬움
- 다중공선성을 줄이기 위한 방법이 될 수 있음
- 연산속도 개선 , 기계의 센서데이터를 주성분 분석 활용 가능
요인 분석 vs 주성분 분석
- 둘 다 데이터를 축소하는데 활용
- 요인분석은 갯수의 지정이 따로 없음 / 주성분 분석은 보통 제3주성분 까지만 활용
- 요인분석은 이름을 명명 , 주성분 분석은 제1주성분-제2주성분 으로 부름
- 요인분석은 대등한 관계 , 주성분 분석은 중요도가 다름
주성분 선택
- 누적 기여율이 85%이상이면 주성분의 수로 결정가능