티스토리 뷰
1장. 데이터 분석 개요
1절) 데이터 분석 기법의 이해
ㅇ데이터 처리 과정
- 데이터 분석을 위해서는 데이터웨어하우스(DW)나 데이터마트(DM)를 통해 분석 데이터를 구성
- 신규데이터나 DW에 없는 데이터는 기존 운영시스템(legacy)에서 직접 가져오거나 운영데이터저장소(ODS)에서 정제된 데이터를 가져와서 DW의 데이터와 결합하여 활용
ㅇ시각화 기법
- 가장 낮은 수준의 분석이지만 잘 사용하면 복잡한 분석보다 더 효율적, 대용량 데이터를 다룰 때와 탐색적 분석을 할 때 시각화는 필요
ㅇ공간분석(GIS)
- 공간적 차원과 관련된 속성들을 시각화하는 분석으로 지도 위에 관련된 속성들을 생성하고 크기,모양,선 굵기 등으로 구분하여 인사이트를 얻음
ㅇ탐색적 자료분석(EDA : Exploratory data analysis)
- 다양한 차원과 값을 조합해 가며 특이점이나 의미있는 사실을 도출하고 분석의 최종 목적을 달성해가는 과정
- EDA의 4가지 주제 : 저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성
ㅇ통계분석
- 어떤 현상을 종합적으로 한 눈에 알아보기 쉽게 일정한 체계에 따라 숫자와 표, 그림의 형태로 나타내는 것
- 기술통계 : 모집단으로부터 표본을 추출하고 표본이 가지고 있는 정보를 쉽게 파악할 수 있도록 데이터를 정리하거나 요약하기 위해 하나의 숫자, 또는 그래프의 형태로 표현하는 절차
- 추측(추론) 통계 : 모집단으로부터 추출된 표본의 표본통계량으로 부터 모집단의 특성인 모수에 관해 통계적으로 추론하는 절차
ㅇ데이터 마이닝
- 대용량의 자료로부터 정보를 요약하고 미래에 대한 예측을 목표로 자료에 존재하는 관계, 패던, 규칙 등을 탐색하고 이를 모형화함으로써 이전에 알지 못한 유용한 지식을 추출하는 분석 방법
- 방법론 : 기계학습(인공신경망, 의사결정나무, 클러스터링, SVM), 패턴인식(연관규칙, 장바구니분석) 등
ㅇ 데이터 마이닝 모델링 성능 평가 기준
- 정확도
- 정밀도
- Detect Rate
- Lift
2장. R프로그래밍 기초
ㅇ
3장. 데이터 마트
1절) 데이터 변경 및 요약
ㅇ 데이터 마트(DM)
- 데이터 웨어하우스(DW)와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스
ㅇ 요약변수
- 수집된 정보를 분석에 맞게 종합한 변수
- 총구매 금액, 금액, 횟수, 구매 여부
- 재활용성이 높음
ㅇ 파생변수
- 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 ㄹ만들어 의미를 부여한 변수
- 세분화, 고객행동 예측, 캠페인 반응 예측
ㅇ reshape 패키지
- melt()
- cast()
ㅇ sqldf
- R에서 sql 명령어를 사용 가능하게 해주는 패키지
ㅇ plyr
- apply 함수에 기반해 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지
ㅇ 데이터 테이블 (Data Table)
- R에서 가장 많이 사용하는 데이터 핸들링 패키지
- 큰 데이터를 탐색, 연산, 병합하는데 유용
- data.frame보다 월등히 빠른 속도
2절) 데이터 가공
ㅇ summary(data)
- 수치형 변수 : 최대값, 최소값, 평균, 1Q, 2Q(중앙값), 3Q
- 명목형 변수 : 명목값, 데이터 개수
ㅇ klaR 패키지
- 특정 변수가 주어졌을 때 클래스가 어떻게 분류되는지에 대한 에러율을 계산
- 그래픽으로 시각화
- Wilk's Lambda = 집단내분산/총분산 -> 작을수록 더 잘 설명
ㅇ 변수의 구간화
- 연속형 변수를 분석 목적에 맞게 활용하기 위해 구간화 모델링에 적용
- binning, 의사결정나무 방식을 자주 활용
3절) 기초 분석 및 데이터 관리
ㅇ 데이터 탐색적 자료 분석(EDA)
- 데이터 분석에 앞서 전체적으로 데이터의 특징을 파악
- 데이터를 다양한 각도로 접근
- summary() 함수를 이용하여 데이터의 기초 통계량을 확인
ㅇ결측값
- NA : Not Available
- NAN : Not a Number
ㅇ 결측값 처리 방법
- 단순 대치법
ㄴ completes analysis : 결측값이 존재하는 레코드를 삭제
ㄴ 평균 대치법(Mean Imputation) : 데이터의 평균으로 대치
ㄴ 단순확률 대치법 : 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보완하고자 고안된 방법(Hot-deck,nearest neighbor 방법)
- 다중 대치법
: 단순대치법을 한 번에 하지 않고 m번의 대치를 통해 m개의 가상적 완전 자료를 만드는 방법
: 1단계 : 대치 / 2단계 : 분석 / 3단계 : 결합
ㅇ R에서의 결측값 처리 함수
- complete.cases() : 결측값이 있으면 FALSE, 없으면 TRUE 반환
- ins.na() : 결측값이 있으면 TRUE, 없으면 FALSE 반환
- DMwR.centrallmputation() : NA 값에 가운데 값으로 대치, 숫자는 중위수, 요인은 최빈값으로
- DMwR.knnImputation() : NA 값을 k최근 이웃 분류 알고리즘을 사용하여 대치
- Amelia.amelia()
ㅇ 이상값
- 의도치 않게 잘못 입력한 경우
- 의도하지 않게 입력되었으나 분석 목적에 부합되지 않아 제거해야 하는 경우
- 의도된 이상값인 경우 ..
ㅇ 이상값의 인식 방법
- ESD(Extreme Studentized Deviation)
ㄴ 평균으로부터 3 표준편차 떨어진 값
ㄴ 기하평균 - 2.5 x 표준편차 < data < 기하평균 + 2.5 x 표준편차
ㄴ 사분위수 이용하여 제거하기(상자 그림의 outer fence 밖에 있는 값 제거)
이상값 정의 : Q1 - 1.5(Q3-Q1) < data < Q3 - 1.5(Q3-Q1)
ㅇ 극단값 절단 방법
- 기하평균을 이용한 제거 : geo_mean
- 하단, 상단 % 이용한 제거 : 10% 절단 (상-하위 5%에 해당되는 데이터 제거)
ㅇ 극단값 조정 방법
- 상한값과 하한값을 벗어나는 값들을 하한, 상한값으로 바꾸어 활용
4장. 통계분석
1절) 통계분석의 이해
ㅇ 표본 조사
- 모집단 : 조사하고자 하는 대상 집단 전체
- 원소 : 모집단을 구성하는 개체
- 표본 : 조사하기 위해 추출한 모집단의 일부 원소
- 모수 : 표본 관측에 의해 구하고자 하는 모집단에 대한 정보
ㅇ 표본 추출 방법
- 단순랜덤추출법 : 각 샘플에 번호를 부여하여 임의의 n개를 추출하는 방법, 선택 확률이 동일
- 계통추출법 : 단순랜덤추출법의 변형된 방식, K개씩 띄어서 표본 선택, 매 k번째 항목을 추출
- 집락추출법 : 군집별로 단순랜덤 추출법을 수행
- 층화추출법 : 유사한 원소끼리 몇 개의 층으로 나누어 각 층에서 랜덤 추출
ㅇ 측정 방법
- 명목척도 : 측정 대상이 어느 집단에 속하는지 (성별, 출생지 등)
- 순서척도 : 측정 대상의 서열관계를 관측 (만족도, 선호도, 학년, 신용등급 등)
- 구간(등간)척도 : 측정 대상이 갖고 있는 속성의 양을 측정, 구간이나 구간 사이의 간격이 의미 (온도, 지수 등)
- 비율척도 : 간격에 대한 비율이 의미, 절대적 기준인 0이 존재, 사칙연산 가능 (무게, 나이, 시간, 거리 등)
ㅇ 통계분석
- 특정한 집단이나 불확실한 현상을 대상으로 자료를 수집해 대상 집단에 대한 정보를 구하고, 적절한 통계분석 방법을 이용해 의사결정을 하는 과정
ㅇ 기술통계
- 통계집단들의 여러 특성을 수량화하여 객관적인 데이터로 나타내는 통계분석 방법론
- 평균, 표준편차, 중위수, 최빈값, 그래프, 왜도, 첨도 등
ㅇ 통계적 추론(추측 통계)
- 수집된 자료를 이용해 대상 집단(모집단)에 대한 의사결정
- 모수추정 / 가설검정 / 예측
ㅇ 이산형 확률변수 : 0이 아닌 확률값을 갖는 확률 변수를 셀 수 있는 경우
- 베르누이 확률분포 : 결과가 2개만 나오는 경우
- 이항분포 : 베르누이 시행을 n번 반복했을 때, k번 성공할 확률
- 기하분포 : 성공확률이 p인 베르누이 시행에서 첫 번째 성공이 있기까지 x번 실패할 확률
- 다항분포 : 이항분포의 확장, 세가지 이상의 결과를 가지는 반복 시행에서 발생하는 확률 분포
- 포아송분포 : 시간과 공간 내에서 발생하는 사건의 발생횟수
ㅇ 연속형 확률변수 : 가능한 값이 실수의 어느 특정구간 전체에 해당하는 확률변수
- 균일분포 : 모든 확률변수 X가 균일한 확률을 가지는 확률분포
- 정규분포 : 평균이 M, 표준편차가 sigma인 x의 확률밀도함수
- 지수분포 : 어떤 사건이 발생할 때까지 경과 시간에 대한 연속확률분포
- t-분포 : 평균이 0 을 중심으로 좌우가 동일한 분포, 두 집단의 평균이 동일한지 알고자 할 때 검정통계량으로 활용
- x^2-분포 : 모평균과 모분산이 알려지지 않은 모집단의 모분산에 대한 가설 검정에 사용, 두 집단 간의 동질성 검정에 활용
- F-분포 : 두 집단간 분산의 동일성 검정
ㅇ 추정 : 표본으로부터 미지의 모수를 추측하는 것
- 점추정 : 모수가 특정한 값일 것 이라고 추정 (표본의 평균, 중위수, 최빈값 등 사용)
- 구간추정 : 점추정의 정확성을 보완, 모수가 특정한 구간에 있을 것이라고 선언, 신뢰수준 필요
> t.test(chickwts$weight)
One Sample t-test
data: chickwts$weight
t = 28.202, df = 70, # 자유도(degree of freedom)
p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval: # 95%의 신뢰구간(구간추정)
242.8301 279.7896
sample estimates:
mean of x # 점추정량
261.3099
ㅇ 가설검정 : 모집단에 대한 어떤 가설을 설정한 뒤, 표본관찰을 통해 그 가설의 채택여부를 결정하는 분석방법
- 귀무가설 : 비교하는 값과 차이가 없다. 동일하다 를 기본개념으로 하는 가설
- 대립가설 : 뚜렷한 증거가 있을 때 주장하는 가설
- 검정통계량 : 관찰된 표본으로부터 구하는 통계량, 검정 시 가설의 진위를 판단하는 기준
- 유의수준 : 귀무가설을 기각하게 되는 확률의 크기, 귀무가설이 옳은데도 이를 기각하는 확률의 크기
- 기각역 : 귀무가설이 옳다는 전제 하에서 구한 검정통계량의 분포에서 확률이 유의수준 alpha인 부분
ㅇ 오류
- 제 1종 오류 : 귀무가설이 옳은데도 귀무가설을 기각하게 되는 오류
- 제 2종 오류 : 귀무가설이 옳지 않은데도 귀무가설을 채택하게 되는 오류
* 제 1종 오류 alpha의 크기를 고정시킨 뒤(0.1, 0.05, 0.01 등) 제 2종 오류 beta가 최소가 되도록 기각역을 설정
ㅇ 모수에 대한 검정
- 모수적 방법
ㄴ 검정하고자 하는 모집단의 분포에 대한 가정하에서 검정통계량과 검정통계량의 분포를 유도해 검정을 실시
ㄴ 가정된 분포의 모수에 대해 가설을 설정
ㄴ 관측도니 자료를 이용해 구한 표본평균, 표본분산 등을 이용해 검정 실시
- 비모수적 방법
ㄴ 추출된 모집단의 분포에 대한 아무 제약을 가하지 않고 검정을 실시
ㄴ 관측된 자료가 특정분포를 따른다고 가정할 수 없는 경우 이용
ㄴ 관측된 자료의 수가 많지 않거나(30개 미만) 자료가 개체간의 서열관계를 나타내는 경우 이용
ㄴ 분포의 형태에 대해 설정
ㄴ 관측값의 절대적인 크기에 의존하지 않는 관측값들의 순위나 두 관측값 차이의 부호 등을 이용하여 검정
ㄴ 부호검정, 윌콕슨의 순위합검정, 윌콕슨의 부호순위합검정, 만-위트니의 U검정, 런검정, 스피어만의 순위상관계수
2절) 기초 통계분석
ㅇ 왜도 : 분포의 비대칭정도를 나타내는 측도
- m3 > 0 : 오른쪽으로 긴 꼬리를 갖는 분포
- m3 = 0 : 좌우 대칭의 분포
- m3 < 0 : 왼쪽으로 긴 꼬리를 갖는 분포
ㅇ 첨도 : 분포의 중심에서 뾰족한 정도를 나타내는 측도
- m4 > 0 : 표준정규분포보다 더 뾰족함
- m4 = 0 : 표준정규분포와 유사한 뾰족함
- m4 < 0 : 표준정규분포보다 덜 뾰족함
ㅇ 그래프를 이용한 자료 정리
- 히스토그램 : 연속형 데이터, 도수분포표를 그래프로 나타낸 것
- 막대그래프 : 범주형 데이터
- 줄기-잎 그림 : 데이터를 줄기와 잎의 모양으로 그린 그림
- 상자그림 : 다섯 숫자 요약을 통해 그림으로 표현 (최소값, Q1, Q2, Q3, 최대값)
ㅇ 인과관계
- 종속변수(반응변수, 결과변수, Y) : 다른 변수의 영향을 받는 변수
- 독립변수(설명변수, 예측변수, X) : 영향을 주는 변수
- 산점도 : 좌표평명 위에 점들로 표현한 그래프
- 공분산 : 두 확률변수 X, Y의 방향의 조합(선형선)
ㅇ 상관분석
- 두 변수간의 관계의 정도를 알아보기 위함
- 두 변수의 상관관계를 알아보기 위해 상관계수를 이용
ㅇ 상관분석의 유형
- 피어슨 : 등간척도, 연속형 변수, 정규성 가정, 적률상관계수
- 스피어만 : 서열척도, 순서형 변수, 비모수적 방법, 순위상관계수
ㅇ 상관분석을 위한 R 코드
- 분산 : var
- 공분산 : cov
- 상관관계 : cor
ㅇ 상관분석 예
> data(mtcars)
> a <- mtcars$mpg
> b <- mtcars$hp
> cor(a,b) # 공분산 (음의 방향성)
[1] -0.7761684
> cov(a,b) # 상관계수 (강한 음의 상관관계)
[1] -320.7321
> cor.test(a, b, method='pearson')
Pearson's product-moment correlation
data: a and b
t = -6.7424, df = 30, p-value = 1.788e-07 # mpg와 hp가 상관관계가 있다는 해석
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.8852686 -0.5860994
sample estimates:
cor
-0.7761684
3절) 회귀분석
ㅇ 회귀분석
- 독립변수들이 종속변수에 미치는 영향을 추정할 수 있는 통계기법
- 변수들 사이의 인과관계를 밝힘
ㅇ 선형회귀분석의 가정
- 선형성 : 입력변수와 출력변수의 관계가 선형
- 등분산성 : 오차의 분산이 입력변수와 무관하게 일정 (잔차(residuals)들의 변동성=분산)
- 독립성 : 입력변수와 오차는 관련이 없음
- 비상관성 : 오차들끼리 상관이 없음
- 정상성(정규성) : 오차의 분포(잔차항)가 정규분포를 따름 (Q-Q plot을 사용하여 대각방향의 직선 형태를 지닐 경우)
ㅇ 가정에 대한 검증
- 단순선형회귀분석 : 입력변수와 출력변수간의 선형성을 점검하기 위해 산점도를 확인
- 다중선형회귀분석 : 선형회귀분석의 가정인 선형성, 등분산성, 독립성, 정상성이 모두 만족하는지 확인
ㅇ 단순선형회귀분석
- 하나의 독립변수가 종속변수에 미치는 영향을 추정할 수 있는 통계기법
ㅇ 회귀분석에서의 검토사항
- 회귀계수들이 유의미한가? : 해당 계수의 t 통계량의 p-value
- 모형이 얼마나 설명력을 갖는가? : 결정계수(R^2)를 확인, 0~1값
- 모형이 데이터를 잘 적합하고 있는가? : 잔차를 그래프로 그리고 회귀진단
ㅇ 회귀계수의 추정(최소제곱법, 최소승자법)
- 측정값을 기초 적당한 제곱합을 만들고 그것을 최소로 하는 값을 구하여 측정결과를 처리하는 방법
- 잔차제곱이 가장 작은 선을 구하는 것
ㅇ 선형회귀분석 예
> x <- c(19, 23, 26, 29, 30, 38, 39, 46, 49)
> y <- c(33, 51, 40, 49, 50, 69, 70, 64, 89)
> lm(y~x)
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
6.409 1.529
> summary(lm(y~x))
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-12.766 -2.470 -1.764 4.470 9.412
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.4095 8.9272 0.718 0.496033
x 1.5295 0.2578 5.932 0.000581 *** # x의 회귀계수인 t통계량(회귀계수의 추정치들이 통계적으로 유의)
# 회귀식 : 6.4095 + 1.5295 * x
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 7.542 on 7 degrees of freedom
Multiple R-squared: 0.8341, # 결정계수(보통 80% 이상이면 데이터를 적절하게 설명)
Adjusted R-squared: 0.8104
F-statistic: 35.19 on 1 and 7 DF, p-value: 0.0005805
ㅇ 다중선형회귀분석
- 모형의 통계적 유의성은 F-통계량으로 확인
- 유의수준 5% 하에서 F-통계량의 p-value 값이 0.05보다 작으면 추정된 회귀식은 통계적으로 유의하다고 볼 수 있음
- F-통계량이 크면 p-value가 0.05보다 작아지고 귀무가설을 기각. 모형이 유의하다고 결론
ㅇ 회귀계수의 유의성
- 단변량 회귀분석의 회귀계수 유의성 검토와 같이 t-통계량을 통해 확인
- 모든 회귀계수의 유의성이 통계적으로 검증되어야 선택된 변수들의 조합으로 모형 활용 가능
ㅇ 모형의 설명력
- 결정계수(R^2)나 수정된 결정계수를 확인
ㅇ 모형의 적합성
- 모형이 데이터를 잘 적합하고 있는지 잔차와 종속변수의 산점도로 확인
ㅇ 다중공선성
- 다중회귀분석에서 설명변수들 사이에 선형관계가 존재하면 회귀계수의 정확한 추정이 곤란
- 다중공선성 검사 방법
ㄴ 분산팽창요인(VIF) : 4보다 크면 다중공선성이 존재, 10보다 크면 심각한 문제
ㄴ 상태지수 : 10이상이면 문제, 30보다 크면 심각한 문제
- 문제가 있는 변수를 제거하거나 주성분회귀, 능형회귀 모형을 적용하여 다중공선성 문제 해결 필요
ㅇ 회귀 분석의 종류
- 단순회귀 : 독립변수가 1개이며 종속변수와의 관계가 직선
- 다중회귀 : 독립변수가 k개이며 종속변수와의 관계가 선형(1차 함수)
- 로지스틱 회귀 : 종속변수가 범주형(2진변수)인 경우에 적용
- 다항회귀 : 독립변수와 종속변수와의 관계가 1차함수 이상인 관계
- 곡선회귀 : 독립변수가 1개이며 종속변수와의 관계가 곡선
- 비선형회귀 : 회귀식의 모양이 미지의 모수들의 선형관계로 이뤄지 있지 않은 모형
ㅇ 다중회귀분석 예
> library(MASS)
> head(Cars93)
Manufacturer Model Type Min.Price Price Max.Price MPG.city MPG.highway ...
1 Acura Integra Small 12.9 15.9 18.8 25 31 ...
2 Acura Legend Midsize 29.2 33.9 38.7 18 25 ...
3 Audi 90 Compact 25.9 29.1 32.3 20 26 ...
4 Audi 100 Midsize 30.8 37.7 44.6 19 26 ...
5 BMW 535i Midsize 23.7 30.0 36.2 22 30 ...
6 Buick Century Midsize 14.2 15.7 17.3 22 31 ...
...
> attach(Cars93)
> lm(Price~EngineSize+RPM+Weight, data=Cars93)
Call:
lm(formula = Price ~ EngineSize + RPM + Weight, data = Cars93)
Coefficients:
(Intercept) EngineSize RPM Weight
-51.793292 4.305387 0.007096 0.007271
> summary(lm(Price~EngineSize+RPM+Weight, data=Cars93))
Call:
lm(formula = Price ~ EngineSize + RPM + Weight, data = Cars93)
Residuals:
Min 1Q Median 3Q Max
-10.511 -3.806 -0.300 1.447 35.255
Coefficients:
Estimate Std. Error t value Pr(>|t|) # 회귀계수의 추정치들이 통계적으로 유의
(Intercept) -51.793292 9.106309 -5.688 1.62e-07 ***
EngineSize 4.305387 1.324961 3.249 0.00163 **
RPM 0.007096 0.001363 5.208 1.22e-06 ***
Weight 0.007271 0.002157 3.372 0.00111 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.504 on 89 degrees of freedom
Multiple R-squared: 0.5614, # 결정계수 (낮게 나타나 이 회귀식이 데이터를 적절하게 설명하고 있다고 볼 수 없음)
Adjusted R-squared: 0.5467 # 수정된 결정계수
F-statistic: 37.98 on 3 and 89 DF, # F-통계량
p-value: 6.746e-16 # 유의수준 5%하에서 추정된 회귀 모형이 통계적으로 매우 유의
# 결정계수가 낮아 데이터의 설명력은 낮지만 회귀분석 결과에서 회귀식과 회귀계수들이 통계적으로 유의
# 자동차 가격을 엔진의 크기와 RPM 그리고 무게로 추정 가능
ㅇ 로지스틱 회귀분석 예
> library(boot)
> data(nodal)
> a <- c(2,4,6,7)
> data <- nodal[,a]
> m <- glm(r~., data=data, family='binomial')
> summary(m)
Call:
glm(formula = r ~ ., family = "binomial", data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1231 -0.6620 -0.3039 0.4710 2.4892
Coefficients:
Estimate Std. Error z value Pr(>|z|) # 회귀계수의 추정치들이 통계적으로 유의
(Intercept) -3.0518 0.8420 -3.624 0.00029 ***
stage 1.6453 0.7297 2.255 0.02414 *
xray 1.9116 0.7771 2.460 0.01390 *
acid 1.6378 0.7539 2.172 0.02983 *
--- # 선형식 : p(r=1)=1/(1+e-(-3.0518+1.6453stage+1.9116xray+1.6378acid))
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 70.252 on 52 degrees of freedom
Residual deviance: 49.180 on 49 degrees of freedom
AIC: 57.18
Number of Fisher Scoring iterations: 5
ㅇ 최적회귀방정식의 선택
- 설명변수 선택 : 필요한 변수만 상황에 따라 타협을 통해 선택, y에 영향을 미칠 수 있는 모든 설명변수 x들은 y의 값을 예측하는데 참여, 데이터에 설명변수 x들의 수가 많아지면 관리하는데 많은 노력이 요구되므로, 가능한 범위 내에서 적은 수의 설명변수를 포함
- 모형 선택 : 분석 데이터에 가장 잘 맞는 모형을 찾아내는 방법
ㄴ 모든 가능한 조합의 회귀분석 : 모든 가능한 독립변수들의 조합에 대한 회귀모형을 생성한 뒤 가장 적합한 회귀모형을 선택
- 단계적 변수선택
ㄴ 전진선택법(foward selection) : 절편만 있는 상수모형으로부터 시작해 중요하다고 생각되는 설명변수부터 차례로 모형에 추가
ㄴ 후진제거법(backward elimination) : 독립변수 후보 모두를 포함한 모형에서 출발해 가장 적은 영향을 주는 변수부터 하나씩 제거하면서 더 이상 제거할 변수가 없을 때의 모형을 선택
ㄴ 단계선택법(stepwise method) : 전진선택법과 후진제거법을 조합한 방법으로 단계별로 추가 또는 제거되는 변수의 여부를 검토해 더 이상 없을 때 중단
ㅇ 벌점화된 선택기준
- 모형의 복잡도에 벌점을 주는 방법, AIC(Akaike information criterion) 방법와 BIC(Bayesian information criterion) 방법이 주로 사용
- 모든 후보 모형들에 대해 AIC 또는 BIC를 계산하고 그 값이 최소가 되는 모형을 선택
4절) 시계열 분석
ㅇ 시계열 자료
- 시간의 흐름에 따라 관찰된 값들
- 시계열 데이터 분석을 통해 미래의 값을 예측하고 경향, 주기, 계절성 등을 파악하여 활용
ㅇ 시계열 자료의 종류
- 비정상성 시계열 자료 : 시계열 분석 시 다루기 어려운 자료로 대부분의 시계열 자료
- 정상성 시계열 자료 : 비정상 시계열을 핸들링해 다루기 쉬운 시계열 자료로 변환한 자료
ㅇ정상성
- 평균이 일정할 경우 : 모든 시점에 대해 일정한 평균을 가짐
- 평균이 일정하지 않고 분산도 시점에 의존하지 않을 경우 : 평균이 일정하지 않은 시계열은 차분을 통해 정상화 가능, 공분산도 단지 시차에만 의존, 실제 특정 시점 t, s에는 의존하지 않음
ㅇ 시계열 분석 방법
- 회귀분석(계량경제)방법, Box-Jenkins 방법, 지수평활법, 시계열 분해법 등
ㅇ시계열 모형
ㄴ 자기회귀 모형(AR 모형, autoregressive model)
- p 시점 전의 자료가 현재 자료에 영향을 주는 모형
- 자기상관함수(ACF)는 빠르게 감소, 부분자기함수(PACF)는 어느 시점에서 절단점을 가짐
- ACF가 빠르게 감소하게, PACF가 3시점에서 절단점을 갖는 그래프가 있다면,
2시점 전의 자료까지가 현재에 영향을 미치는 AR(2) 모형이라고 볼 수 있음
ㄴ 이동평균 모형(MA 모형, moving average model)
- 유한한 개수의 백색잡음의 결합이므로 언제나 정상성을 만족
- AR모형과 반대로 ACF에서 절단점을 갖고, PACF가 빠르게 감소
ㄴ 자기회귀누적이동평균 모형(ARIMA 모형), autoregressive integrated moving average model)
- ARIMA 모형은 비정상시계열 모형
- ARIMA 모형을 차분이나 변환을 통해 AR모형이나 MA모형, 이 둘을 합친 ARMA 모형으로 정상화 할 수 있음
ㅇ 분해 시계열
- 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법, 회귀분석적인 방법을 주로 사용
ㄴ 경향(추세)요인 : 자료가 오르거나 내리는 추세, 선형, 이차식 형태, 지수적 형태 등
ㄴ 계절요인 : 요일, 월, 사계절 각 분기에 의한 변화 등 고정된 주기에 다라 자료가 변하는 경우
ㄴ 순환요인 : 경제적이나 자연적인 이유 없이 알려지지 않은 주기를 가지고 변화하는 자료
ㄴ 불규칙요인 : 위의 세 가지 요인을오 설명할 수 없는 오차에 해당하는 요인
5절) 다차원척도법
ㅇ 다차원척도법(Multidimensonal Scaling)
- 객체간 근접성을 시각화하는 통계기법
- 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원 공간상에 점으로 표현하는 분석방법
- 개체들을 2차원 또는 3차원 공간상에 점으로 표현
- 유클리드 거리행렬을 활용
- 최적모형의 적합은 부적합도를 최소로 하는 방법으로 일정 수준이하로 될 때까지 반복해서 수행
- STRESS = 0 : 완벽
STRESS < 0.05 : 매우 좋음
0.05 < STRESS < 0.10 : 만족
...
ㅇ 다차원척도법 종류
- 계량적 MDS(Metric MDS) : 데이터가 구간척도나 비율척도인 경우 활용
- 비계량적 MDS(nonmetric MDS) : 데이터가 순서척도인 경우 활용
6절) 주성분분석(PCA)
ㅇ 주성분분석(Principal Component Analysis)
- 여러 변수들의 변량을 주성분이라는 서로 상관성이 높은 변수들의 선형 결합으로 만들어 기존의 상관성이 높은 변수들을 요약, 축소하는 기법
ㅇ 주성분분석 목적
- 여러 변수들 간의 상관관계, 연관성을 이용해 소수의 주성분으로 차원을 축소함으로써 데이터를 이해하기 쉽고 관리하기 쉽게 만듦
- 다중공선성이 존재하는 경우, 상관성이 없는(적은) 주성분으로 변수들을 축소하여 모형 개발에 활용
ㅇ 주성분분석 vs 요인분석
- 요인분석 : 등간척도(or 비율척도)로 측정한 두 개 이상의 변수들에 잠재되어 있는 공통인자를 찾아내는 기법
- 공통점 : 모두 데이터를 축소하는데 활용
- 차이점
ㄴ 요인분석 : 몇 개 지정 없이 만들 수 있음 / 분석자가 요인의 이름을 명명 / 새 변수들은 기본적으로 대등한 관계, 분류-예측에 사용될 때 중요성의 의미가 부여 / 목표변수를 고려하지 않고 비슷한 특성들로 묶어 새로운 변수 생성
ㄴ 주성분분석 : 주로 제1주성분, 제2주성분, 제3주성분 정도로 활용 / 주로 제1주성분, 제2주성분 등으로 표현 / 제1주성분이 가장 중요하고 그 다음 제2주성분이 중요 / 목표 변수를 고려하여 잘 예측-분류하기 위해 몇 개의 주성분들을 찾아냄
ㅇ 주성분 선택법
- 누적기여율(cumulative proportion)이 85% 이상이면 주성분의 수로 결정
- scree plot을 활용하여 고유값이 수평을 유지하지 전단계로 주성분의 수 선택
ㅇ 주성분 분석 예
> library(datasets)
> data(USArrests)
> pairs(USArrests, panel = panel.smooth) # Murder와 UrbanPop비율간의 관련성이 적음
> US_PCA <- princomp(USArrests, cor=TRUE)
> summary(US_PCA)
Importance of components:
# 제1주성분~제2주성분까지의 누적 분산비율이 약 86.8%로 2개의 주성분 변수를 활용하여 전체 데이터의 86.8%를 설명할 수 있음
Comp.1 Comp.2 Comp.3 Comp.4
Standard deviation 1.5748783 0.9948694 0.5971291 0.41644938 # 표본 분산
Proportion of Variance 0.6200604 0.2474413 0.0891408 0.04335752 # 변동비
Cumulative Proportion 0.6200604 0.8675017 0.9566425 1.00000000 # 누적 비율
> screeplot(US_PCA, npcs=4, type='lines') # 주성분들에 의해 설명되는 변동 비율 확인
> loadings(US_PCA)
Loadings: # 네 개의 변수가 각 주성분에 기여하는 가중치 제시
# 제1주성분에는 네 개의 변수가 평균적으로 기여, 제2주성분에서는 계수의 부호가 서로 다름
Comp.1 Comp.2 Comp.3 Comp.4
Murder 0.536 0.418 0.341 0.649
Assault 0.583 0.188 0.268 -0.743
UrbanPop 0.278 -0.873 0.378 0.134
Rape 0.543 -0.167 -0.818
Comp.1 Comp.2 Comp.3 Comp.4
SS loadings 1.00 1.00 1.00 1.00
Proportion Var 0.25 0.25 0.25 0.25
Cumulative Var 0.25 0.50 0.75 1.00
> US_PCA$scores # 각 주성분의 선형식을 통해 각 지역별로 얻은 결과를 계산
Comp.1 Comp.2 Comp.3 Comp.4
Alabama 0.98556588 1.13339238 0.44426879 0.156267145
Alaska 1.95013775 1.07321326 -2.04000333 -0.438583440
Arizona 1.76316354 -0.74595678 -0.05478082 -0.834652924
Arkansas -0.14142029 1.11979678 -0.11457369 -0.182810896
California 2.52398013 -1.54293399 -0.59855680 -0.341996478
...
5장. 정형 데이터 마이닝
1절) 데이터마이닝의 개요
ㅇ 데이터 마이닝
- 대용량 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법
ㅇ 종류
- 정보를 찾는 방법론 : 인공지능, 의사결정나무, KNN, 연관분석, 회귀분석, 로짓분석, 최근접이웃
- 분석대상, 활용목적, 표현방법 : 시각화분석, 분류, 군집화, 포케스팅
ㅇ 분석 방법
- 지도학습 : 의사결정나무, 인공신경망, 일반화 선형 모형, 회귀분석, 로지스틱 회귀분석, 사례기반 추론, KNN
- 비지도학습 : OLAP, 연관성분석, 군집분석, SOM
ㅇ 분석 목적에 다른 작업 유형과 기법
- 예측
ㄴ 분류 규칙 : 회귀분석, 판별분석, 신경망, 의사결정나무
- 설명
ㄴ 연관규칙 : 동시발생 매트릭스
ㄴ 연속규칙 : 동시발생 매트릭스
ㄴ 데이터 군집화 : K-Means
ㅇ 데이터마이닝 추진단계
- 1단계 : 목적 설정 (목적 설정 및 데이터 정의)
- 2단계 : 데이터 준비 (충분한 양의 데이터 준비)
- 3단계 : 가공 (목적 변수 정의 및 가공)
- 4단계 : 기법 적용 (기법 정용 및 정보 추출)
- 5단계 : 검증 (정보를 검증)
ㅇ 데이터 분할
- 구축용(training data, 50%) : 모델을 만드는데 활용
- 검정용(validation data, 30%) : 과대추정 or 과소추정을 미세 조정
- 시험용(test data, 20%) : 모델의 성능을 검증
ㅇ 성과분석1) 오분류에 대한 추정치
- 정분류율(Accuracy) => (TP+TN)/(TP+FP+FN+TN)
- 오분류율(Error Rate, 1-Accuracy) => (FN+FP)/(TP+FP+FN+TN)
- 특이도(Specificity) => TN/(FP+TN)
- 민감도(Sensitivity)=재현율(Recall) => TP/(TP+FN)
- 정확도(Precision) => TP/(TP+FP)
- F1 Score => 2/((1/Recall)+(1/Precision))
ㅇ 성과분석2) ROC Curve(Receiver Operating Characteristic Curve)
출처 : https://newsight.tistory.com/53
- 1-특이도(가로축)과 민감도(세로축)으로 이루어진 그래프
- 2진 분류에서 모형 성능 평가를 위해 많이 사용되는 척도
- 그래프가 왼쪽 상단에 가깝게 그려질 수록 올바르게 예측한 비율이 높음을 의미
- AUROC(Area Under ROC) : ROC곡선 아래의 면적이 클 수록 모형의 성능이 좋다고 평가
90%이상 : excellent / 80%~90% : good / 70%~80% : fair ...
ㅇ 성과분석3) 이익도표(Lift chart)
- 분류모형의 성능을 평가하기 위한 척도
- 분류된 관측치에 대해 얼마나 예측이 잘 이루어졌는지를 나타냄
ㅇ 적합 개념
- 과적합-과대적합(Overfitting) : 모형이 trainind data를 과하게 학습하여, 학습 데이터에 대해서는 높은 정확도를 나타내지만 test data 혹은 다른 데이터에 적용할 때는 성능이 떨어지는 현상
- 과소적합(Underfitting) : 모형이 너무 단순하여 데이터 속에 내제되어 있는 패턴이나 규칙을 제대로 학습하지 못 하는 경우
2절) 분류분석
ㅇ분류분석
- 데이터가 어떤 그룹에 속하는지 예측
- 교사학습, 각 그룹이 정의
- 범주형 속성의 값을 예측
ㅇ 에측분석
- 시계여려 분석처럼 시간에 다른 값 두 개만을 이용해 미래를 예측
- 입력 데이터에 따라 특성이 다름
- 하나의 설명변수
- 연속형 속성의 값을 예측
ㅇ 분류 모델링
- 신용평가모형(우량,불량)
- 사기방지모형(사기,정상)
- 이탈모형(이탈, 유지)
- 고객세분화(VVIP, VIP, GOLD, ...)
ㅇ 분류 기법
- 회귀분석, 로지스틱회귀분석
- 의사결정나무, CART, C5.5
- 베이지안 분류, Naive Bayesian
- 인공신경망
- SVM
- KNN
- 규칙기반의 분류와 사례기반 추론
ㅇ 로지스틱 회귀분석(Logistic Regression)
- 반응변수가 범주형인 경우 적용되는 회귀분석모형
- 새로운 설명변수가 주어질 때 반응변수의 각 범주에 속할 확률이 얼마인지 추정
- 추정 확률을 기준치에 따라 분류하는 목적으로 활용
- exp(beta)의 의미는 나머지 변수가 주어질 때, x1이 한 단위 증가할 때마다 성공(Y=1)의 오즈(odds)가 몇 배 증가하는지 나타내는 값
- 다중로지스틱 회귀모형에서 설명변수가 한 개인 경우 해당 회귀 계수 beta의 부호에 따라 S자 모양(B>0), 역S자 모양(B<0)
- 오즈비(odds ratio) : 성공할 확률이 실패할 확률의 몇 배인지 나타내는 확률
ㅇ 선형회귀분석 vs 로지스틱회귀분석 (종속변수, 계수 추정법, 모형 검정)
- 선형회귀분석 : 연속형 변수, 최소제곱법, F-검정, T-검정
- 로지스틱회귀분석 : (0,1), 최대우도추정법, 카이제곱 검정
ㅇ 로지스틱 회귀분석
> lr <- glm(Species ~ Sepal.Length, data=iris, family=binomial) # 종속변수 : Species, 독립변수 : Sepal.Length
> summary(lr)
Call:
glm(formula = Species ~ Sepal.Length, family = binomial, data = iris)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.14316 -0.31399 0.04605 0.27914 2.25787
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -27.8285 4.8276 -5.765 8.19e-09 ***
Sepal.Length 5.1757 0.8934 5.793 6.90e-09 ***
--- # Sepal.Length가 한 단위 증가함에 따라 Species(Y)가 1에서 2로 바뀔 때 오즈(odds)가 exp(5.176)=176배 증가
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 190.954 on 149 degrees of freedom # 절편만 포함하는 모형의 완전 모형으로부터의 이탈도
Residual deviance: 71.836 on 148 degrees of freedom # Sepal.Length가 추가된 적합 모형의 이탈도
AIC: 75.836
Number of Fisher Scoring iterations: 7
ㅇ 의사결정나무(Decision Tree)
- 분류함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법
- 계산결과의 시각화로 해석이 간편
- 주어진 입력값에 대하여 출력값을 예측하는 모형
ㅇ 의사결정나무의 활용
- 세분화 : 그룹별 특성을 발견
- 분류 : 목표변수 범주를 몇 개의 등급으로 분류
- 예측 : 규칙을 찾아내고, 미래의 사건을 예측
- 차원축소 및 변수선택 : 목표변수에 큰 영향을 미치는 변수들을 골라냄
- 교호작용효과의 파악 : 여러 예측변수들을 결합해 목표변수에 작용하는 규칙을 파악, 범주의 병합 or 연속형 변수의 이산화
ㅇ 의사결정나무의 특징
ㄴ 장점
- 설명이 용이
- 계산적으로 복잡하지 않음
- 대용량 데이터도 빠르게
- 비정상 잡음 데이터에도 민감함이 없이 분류
- 한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향을 받지 않음
- 수치형변수, 범주형변수 모두 사용 가능
- 모형 분류에 높은 정확도
ㄴ 단점
- 새로운 자료에 대한 과대적합 발생 가능성이 높음
- 분류 경계선 부근의 자료값에 대하여 오차가 큼
- 설명변수 간의 중요도를 판단하기 쉽지 않음
ㅇ 의사결정나무의 분석 과정
- 성장 단계 : 각 마디에서 적절한 최적의 분리규칙을 찾아 나무를 성장, 적절한 정지규칙을 만족하면 중단
- 가지치기 단계 : 오차를 크게 할 위험이 높거나, 부적절한 추론규칙을 가지고 있는 가지 또는 불필요한 가지 제거
- 타당성 평가 단계 : 이익도표, 위험도표, 시험자료를 이용하여 평가
- 해석 및 예측 단계 : 해석-설정-예측에 적용
ㅇ 불순도의 여러가지 축도
- 목표변수가 범주형 변수인 의사결정나무의 분류규칙을 선택하기 위함
ㄴ 카이제곱 통계량
ㄴ 지니지수
ㄴ 엔트로피 지수
ㅇ 의사결정나무 알고리즘
ㄴ CART(Classification And Regression Tree)
- 알고리즘으로 불손도의 측도로 출력변수가 범주형일 경우 지니지수를 이용, 연속형인 경우 분산을 이용한 이진분리를 사용
- 개별 입력변수 뿐만 아니라 입력변수들의 선형결합들 중에서 최적의 분리를 찾을 수 있음
ㄴ C4.5와 C5.0
- CART와 다르게 각 마디에서 다지분리가 가능하며 범주형 입력변수에 대해서는 범주의 수만큼 분리
- 불순도의 측도로 엔트로피지수 사용
ㄴ CHAID(CHI-squared Automatic Interaction Detection)
- 가지치기를 하지 않고 적당한 크기에서 나무모형의 성장을 중지하여 입력변수가 반드시 범주형 변수
-불순도의 측도로 카이제곱 통계량 사용
3절) 앙상블 분석
ㅇ앙상블(Ensemble)
- 주어진 자료로부터 여러 개의 예측모형들을 만든 후 예측모형들을 조합하여 하나의 최종 예측모형을 만드는 방법
- 지도학습
- 학습자료의 작은 변화에 의해 예측모형이 크게 변하는 경우, 그 학습방법은 불안정
- 가장 안정적인 방법(1NN, 선형회귀모형), 가장 불안정한 방법(의사결정나무)
ㅇ 앙상블 기법의 종류
ㄴ 배깅
- 주어진 자료에서 여러 개의 붓스트랩 자료를 생성하고 각 붓스트랩 자료에 예측모형을 만든 후 결합하여 최종 예측모형을 만드는 방법
- 가지치기를 하지 않고 최대로 성정한 의사결정나무들을 활용
ㄴ 부스팅
- 예측력이 약한 모형들을 결합하여 강한 예측모형을 만드는 방법
ㄴ 랜덤포레스트
- 의사결정나무의 특징인 분산이 크다는 점을 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한 후 이를 선형결합하여 최종 학습기를 만드는 방법
ㅇ 붓스트랩
- 주어진 자료에서 단순랜덤 복원추출 방법을 활용하여 동일한 크기의 표본을 여러개 생성하는 샘플링 방법
- 샘플에 한 번도 선택되지 않는 원데이터가 발생할 수 있는데 이는 전체 샘플의 약 36.8%에 해당
4절) 인공신경망 분석(ANN)
ㅇ 인공신경망
- 인간의 뇌를 기반으로 한 추론 모델
- 뉴런은 기본적인 정보처리 단위
ㅇ 인간의 뇌
- 빠르고, 매우 복잡하고, 비선형적이며 병렬적인 정보 처리 시스템과 같음
- 잘못된 답에 대한 뉴런들 사이의 연결은 약화, 올바른 답에 대한 연결이 강화
- 뉴런은 가중치가 있는 링크들로 연결
- 뉴런은 여러 입력 신호를 받지만 출력 신호는 오직 하나만 생성
ㅇ 인공신경망의 학습
- 가중치를 반복적으로 조정하며 학습
- 뉴런은 링크로 연결되어 있고 각 링크에는 수치적인 가중치가 있음
ㅇ 뉴런의 활성화 함수
ㄴ 시그모이드(sigmoid) 함수 : 로지스틱 회귀분석과 유사, 0~1의 확률값
ㄴ softmax 함수 : 표준화지수 함수, 출력값이 여러개 주어지고 목표치가 다범주인 경우 각 범주에 속할 사후확률을 제공
ㄴ Relu 함수 : 입력값이 0이하는 0, 0이상은 x값을 가지는 함수, 딥러닝에 많이 활용
5절) 군집분석
ㅇ 군집분석
- 유사성이 높은 대상 집단을 분류
- 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체간 상이성을 규명하는 분석 방법
- 데이터들 사이의 거리를 기준으로 군집화를 유도
ㅇ 군집분석의 거리
ㄴ 연속형 변수의 경우
- 유클리디안(Euclidean) 거리 : 데이터간 유사성 측정을 위해 많이 사용하는 거리
- 표준화(statistical) 거리 : 해당변수의 표준편차로 척도 변환 후 유클리디안 거리를 계산하는 방법
- 마할라노비스(Mahalanobis) 거리 : 통계적 개념이 포함된 거리, 변수들의 산포를 고려하여 표준화한 거리
- 체비셰프(Chebychev) 거리
- 맨하탄(Manhattan) 거리 : 유클리디안 거리와 함께 가장 많이 사용되는 거리
- 캔버라(Cancerra) 거리
- 민코우스키(Minkowski) 거리 : 맨하탄 거리와 유클리디안 거리를 한번에 표현한 공식
ㄴ 범주형 변수의 경우
- 자카드 거리
- 자카드 계수
- 코사인 거리
- 코사인 유사도
ㅇ 계층적 군집분석
- n개의 군집으로 시작해 점차 군집의 개수를 줄여나가는 방법
- 연결법
ㄴ 최단연결법(single linkage) : 가장 가까운 데이터를 묶어서 군집을 형성
ㄴ 최장연결법(complete linkage) : 최장거리를 거리로 계산
ㄴ 평균연결법(average linkage) : 평균을 거리로 계산
ㄴ 와드연결법(ward linkage) : 편차들의 제곱합
ㅇ 군집화
- 거리행렬을 통해 가장 가까운 거리의 객체들간의 관계를 규명하고 덴드로그램을 그림
- 덴드로그램을 보고 군집의 개수를 변화해 가면서 적절한 군집 수를 선정
- 군집 수는 분석 목적에 따라 선정할 수 있지만 대부분 5개 이상의 군집은 잘 활용하지 않음
ㅇ 군집화 단계
- 거리행렬을 기준으로 덴드로그램을 그림
- 덴드로그램의 최상단부터 세로축의 개수에 다라 가로선을 그어 군집의 개수를 선택
- 각 객체들의 구성을 고려하여 적절한 군집수 선정
ㅇ 비계층적 군집분석
- n개의 개체를 g개의 군집으로 나눌 수 있는 모든 가능한 방법을 점검해 최적화한 군집을 형성
ㅇ K-평균 군집분석(K-means clustering)
- 주어진 데이터를 k개의 클러스터로 묶는 알고리즘
- 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작
ㅇ K-평균 군집분석 과정
- 원하는 군집의 개수와 초기 값(seed)들을 정해 seed 중심으로 군집을 형성
- 각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류
- 각 군집의 seed 값을 다시 계산
- 모든 개체가 군집으로 할당될 때까지 위 과정을 반복
ㅇ K-평균 군집분석의 특징
- 거리 계산을 통해 군집화가 이루어지므로 연속형 변수에 활용 가능
- K개의 초기 중심값은 임의로 선택 가능, 가급적 멀리 떨어지는 것이 바람직
- 초기 중심값의 선정에 따라 결과가 달라질 수 있음
- 초기 중심으로부터 오차 제곱합을 최소화하는 방향으로 군집이 형성되는 탐욕적(greedy) 알고리즘
- 안정된 군집은 보장하나 최적이라는 보장은 없음
ㅇ K-평균 군집분석 장-단점
ㄴ 장점
- 알고리즘이 단순, 빠른 수행, 분석 방법 적용이 용이
- 계층적 군집분석에 비해 많은 양의 데이터를 다룰 수 있음
- 내부 구조에 대한 사전정보가 없어도 의미있는 자료구조를 찾을 수 있음
- 다양한 형태의 데이터에 적용 가능
ㄴ 단점
- 군집의 수, 가중치와 거리 정의가 어려움
- 사전에 주어진 목적이 없으므로 결과 해석이 어려움
- 잡음이나 이상치에 영향을 많이 받음
- 초기 군집수 결정에 어려움
ㅇ 혼합 분포 군집(mixture distribution clustering)
- 모형기반의 군집 방법
- 데이터가 k개의 모수적 모형의 가중합으로 표현되는 모집단으로부터 나왔다는 가정하에서 모수와 함께 가중치를 자료로부터 추정하는 방법 사용
ㅇ 혼합 분포 군집모형의 특징
- K-평균군집의 절차와 유사하지만 확률분포를 도입하여 군집을 수행
- 군집을 몇 개의 모수로 표현 가능, 서로 다른 크기나 모양의 군집을 찾을 수 있음
- 이상치 자료에 민감
ㅇ SOM(Self-Organizing Map)
- 자가조직화지도 알고리즘
- 비지도 신경망으로 고차원의 데이터를 이해하지 쉬운 저차원의 뉴런으로 정렬하여 지도의 형태로 형상화
- 입력 변수의 위치 관계를 그대로 보존
- 입력 변수가 가까이 있으면, 지도상에도 가까운 위치에 있음
ㅇ SOM모델의 구성
ㄴ 입력층(Input layer : 입력벡터를 받는 층)
- 입력 변수의 개수와 동일하게 뉴런 수가 존재
- 학습을 통하여 경쟁층에 정렬
- 입력층에 있는 각각의 뉴런은 경쟁층에 있는 각각의 뉴런들과 연결(완전 연결)
ㄴ 경쟁층(competitive layer : 2차원 격차로 구성된 층)
- 입력벡터의 특성에 따라 벡터가 한 점으로 클러스터링 되는 층
- SOM은 경쟁 학습으로 각각의 뉴런이 입력 벡터와 얼마나 가까운가를 계산하여 연결강도를 반복적으로 재조정하여 학습
- 연결강도는 입력 패턴과 가장 유사한 경쟁층 뉴런이 승자
ㅇ SOM모델의 특징
- 고차원 데이터를 저차원의 지도 형태로 형상화하므로 시각적으로 이해하기 쉬움
- 입력 변수의 위치 관계를 그대로 보존, 실제 데이터가 유사하면 지도상에서 가깝게 표현
- 전방 패스(feed-forwatd flow) 사용으로 매우 빠른 속도, 실시간 학습처리 가능
- 패턴 발견, 이미지 분석 등에서 뛰어난 성능
6절) 연관분석
ㅇ연관규칙분석(Association Analysis)
- 장바구니분석 또는 서열분석
- 일련의 거래 또는 사건들 간의 규칙을 발견하기 위함
- 조건과 반응의 형태(if-then)
ㅇ 연관규칙의 측도
ㄴ 지지도(support) : 전체 거래 중 항목 A와 항목 B를 동시에 포함하는 거래의 비율
- P(A n B) = (A와 B가 동시에 포함된 거래수)/(전체 거래수) = (A n B) / 전체
ㄴ 신뢰도(confidence) : A를 포함한 거래 중에서 항목 A와 항목 B가 같이 포함도리 확률
- P(A n B)/P(A) = (A와 B가 동시에 포함된 거래수)/(A를 포함하는 거래수) = 지지도/P(A) = (A n B)/P(A)
ㄴ 향상도(lift) : A가 구매되지 않았을 때 품목 B의 구매확률에 비해 A가 구매됐을 때 품목 B의 구매확률의 증가비
- P(B|A)/P(B) = (A와 B가 동시에 포함된 거래수)/(A를 포함하는 거래수xB를 포함하는 거래수) = 신뢰도/P(B) = P(A n B)/P(A)P(B)
ㅇ 연관규칙의 절차
- 최소 지지도보다 큰 집합만을 대상으로 높은 지지도를 갖는 품목 집합을 찾는 방법
- 처음에는 5%로 잡고 규칙이 충분히 도출되는지 보고 다양하게 조절하여 시도
- 처음부터 너무 낮은 최소 지지도를 선정하는 것은 많은 리소스가 소모되므로 적절하지 않음
- 1) 최소 지지도 결정 -> 2) 품목 중 최소 지지도를 넘는 품목 분류 -> 3) 2가지 품목 집합 생성 -> 4) 반복적으로 수행해 빈발품목 집합을 찾음
ㅇ 연관규칙의 장단점
ㄴ 장점
- 결과를 쉽게 이해
- 강력한 비목적성 분석기법, 분석 방향이나 목적이 없는 경우 목적변수가 없으므로 유용하게 활용
- 데이터 변환 없이 그 자체로 이용 가능
- 분석을 위한 계산이 간단
ㄴ 단점
- 품목수가 증가하면 분석에 필요한 계산은 기하급수적으로 증가
- 세분화한 품목을 갖고 연관성 규칙을 찾을 시 의미없는 분석이 될 수 있음
- 거래수가 적은 품목은 규칙 발견 시 제외되기 쉬움
ㅇ 순차패턴(Seauence Analysis)
- 동시에 구매될 가능성이 큰 상품군을 찾아내는 연관성 분석에 시간이라는 개념을 포함시켜 순차적으로 구매 가능성이 큰 상품군으로 찾아내는 것
- 구매시점에 대한 정보가 포함
ㅇ Apriori 알고리즘
- 1세대 연관분석 알고리즘
- 모든 품목집합에 대한 지지도를 전부 계산하는 것이 아닌 최소 지지도 이상의 빈발항목집합을 찾은 후 그것들에 대해서만 연관규칙을 계산
- 지지도가 낮은 후보 집합 생성 시 아이템의 개수가 많아지면 계산 복잡도가 증가
ㅇ FP-Growth 알고리즘
- 2세대 연광분석 알고리즘
- 후보 빈발항목집합을 생성하지 않고, FP-Tree를 만든 후 분할정복 방식을 통해 더 빠르게 빈발항목집합을 추출
- Apriori 알고리즘의 약점을 보완하기 위해 고안
- DB 스캔 횟수가 적고 빠른 속도로 분석 가능
ㅇ 연관성분성 예
> data('Groceries')
> inspect(Groceries[1:3])
items
[1] {citrus fruit,semi-finished bread,margarine,ready soups}
[2] {tropical fruit,yogurt,coffee}
[3] {whole milk}
> rules <- apriori(Groceries, parameter=list(support=0.01, confidence=0.3))
Apriori
Parameter specification:
confidence minval smax arem aval originalSupport maxtime support minlen maxlen target ext
0.3 0.1 1 none FALSE TRUE 5 0.01 1 10 rules FALSE
Algorithmic control:
filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
Absolute minimum support count: 98
set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].
sorting and recoding items ... [88 item(s)] done [0.00s]. # 88개의 아이템으로
creating transaction tree ... done [0.00s].
checking subsets of size 1 2 3 4 done [0.00s].
writing ... [125 rule(s)] done [0.00s]. # 125개의 규칙 발견
creating S4 object ... done [0.00s].
> inspect(sort(rules, by=c('lift'), decreasing=TRUE)[1:20])
# 규칙이 너무 적으면 지지도(support)와 신뢰도(confidence)를 낮추고, 너무 많으면 지지도와 신뢰도를 높여야 함
lhs rhs support confidence lift count
[1] {citrus fruit,other vegetables} => {root vegetables} 0.01037112 0.3591549 3.295045 102
[2] {tropical fruit,other vegetables} => {root vegetables} 0.01230300 0.3427762 3.144780 121
[3] {beef} => {root vegetables} 0.01738688 0.3313953 3.040367 171
[4] {citrus fruit,root vegetables} => {other vegetables} 0.01037112 0.5862069 3.029608 102
[5] {tropical fruit,root vegetables} => {other vegetables} 0.01230300 0.5845411 3.020999 121
[6] {other vegetables,whole milk} => {root vegetables} 0.02318251 0.3097826 2.842082 228
...
참고 : 데이터 분석 준전문가(데이터에듀)
'ADsP' 카테고리의 다른 글
[ADsP] 2과목 - 데이터 분석 기획 (0) | 2019.03.07 |
---|---|
[ADsP] 1과목 - 데이터의 이해 (0) | 2019.03.07 |
[ADsP] 주관식 정리 (2) | 2019.02.28 |