데이터 분석
|
R기초와 데이터 마트
|
R기초
데이터 마트
결측값 처리와 이상값 검색
|
통계분석
|
통계학 개론
기초 통계분석
다변량 분석
시계열 예측
|
|
정형 데이터 마이닝
|
데이터 마이닝 개요
분류분석(Classification)
군집분석(Clustering)
연관분석(Association Analysis)
|
1. R기초와 데이터 마트
1) R기초
가. R 소개
R의 탄생
- R은 오픈소스 프로그램으로 통계, 데이터마이닝과 그래프를 위한 언어
- 다양한 최신 통계분석과 마이닝 기능을 제공
- 세계적으로 사용자들이 다양한 예제를 공유
- 다양한 기능을 지원하는 5000개에 이르는 패키지가 수시로 업데이트
분석도구의 비교

R의 특징

R 스튜디오
- 오픈소스이고 다양한 운영체계를 지원한다.
- R 스튜디오는 메모리에 변수가 어떻게 되어있는지와 타입이 무엇인지를 볼 수 있고, 스트립트 관리와 도큐먼데이션이 편리하다.
- 코딩을 해야하는 부담이 있으나 스크립트용 프로그래밍으로 어렵지 않고 쉽게 자동화 가능하다.

R의 데이터 구조
벡터(Vector)
|
1차원 형태의 배열
동일한 형태의 원소가 들어가야 함
c(), seq(), rep()
각 배열에 들어가는 값=스칼라 or 원소(숫자, 문자, 논리연산자)
|
행렬(Matrix)
|
2차원 데이터
동일한 형태의 원소가 들어가야 함
matrix()
|
배열(Array)
|
다차원 데이터
array(1:9, dim(차원)=c(3,3))
|
데이터 프레임
(Data Frame)
|
행렬과 유사한 2차원 데이터 구조
행렬과 다른 점은 각 열이 서로 다른 데이터 형식을 가질 수 있다.
데이터 프레임에 들어갈 벡터의 길이는 동일해야 한다
변수<-data.frame()
|
리스트(List)
|
벡터의 각 원소들이 이름을 갖는다
각 원소들은 서로 다른 데이터 형식으로 구성 될 수 있다
키, 값 형태
변수<-list()
|



나. 외부 데이터 불러오기
read.csv( )로 csv 불러오기
|
라벨 구분이 ,(콤마)인 경우 사용하기 편함
라벨 구분이 tab으로 구분된 파일은 sep="\t" 옵션 사용
|
read.table
|
일반 텍스트 파일의 데이터를 R로 불러들여서 데이터프레임에 담기
|

다. R 기초 함수
수열 생성 (자주 출제)
- 대표적인 생성 방식으로는 숫자 사이에 : 를 사용하는 방법
rep()
|
특정값 반복
|
seq()
|
시작과 끝 숫자를 정해주면 숫자를 생성
|
mean()
|
표본 평균
|
var()
|
표본 분산
|
sd()
|
표본 표준편차
|
기초변환 및 상관계수, 공분산
sum()
|
합
|
median()
|
중앙값
이상값 자료에 민감한 k평균군집의 단점을 보완하기 위해 평균 대신 사용
|
log()
|
자연로그
|
cov()
|
공분산
|
cor()
|
상관계수
|
summary()
|
주어진 벡터에 대한 각 사분위수 최소값, 최대값, 중앙값, 평균
|
데이터 핸들링
- 반복구문과 조건문 : ① for ② while ③ if~else
- 사용자 정의 함수
- 기타 유용한 기능 : ① 문자열 통합 ② 특정 문자열 추출 ③ 데이터 구조 변환 ④ 문자열 특성 변환
그래픽 기능
plot(x,y)
|
산점도
|
pairs(x,..)
|
산점도 행렬
|
hist(x)
|
히스토그램
|
boxplot(x)
|
상자그림
|
2) 데이터 마트
가. R reshape의 활용
reshape 패키지에는 melt()와 cast() 라는 2개의 핵심 함수 사용
install.packages(“reshape2”)
library(reshape2)
head(airquality)
melt(airquality, id=c("Month", "Day"), na.rm=T)
cast()
|
나. plyr
apply 함수에 기반해 데이터와 변수를 동시에 배열로 치환하여 처리하는 패키지
split-apply-combine : 데이터를 분리-처리-다시결합하는 등 필수적인 데이터 처리기능 제공
데이터 처리 함수 : (입력데이터형식)(출력데이터형식)ply
다. 데이터 테이블
R의 기본 데이터구조인 데이터프레임을 대신하여 사용할 수 있다.
기존 data.frame 방식보다 월등히 빠른 속도(최소 20배)
- 특정 column을 key값으로 색인을 지정한 후 데이터를 처리하기 때문
빠른 그루핑과 정렬, 짧은 문장 지원 측면에서 데이터프레임보다 유용하다.
3) 결측값 처리와 이상값 검색
결측값의 표현 : NA, . , 999999999, ' ', Unknown, Not Answer 등으로 결측값 표현
NaN 은 Not A Number 로 결측값이 아니라 숫자형 데이터 자리에 숫자 외의 문자가 오는 경우
결측값에 너무 시간낭비하지 말기!
결측값 자체가 의미있는 경우도 있음
- 쇼핑몰 가입자 중 거래가 아예 없는 경우
- 인구통계학적 데이터에서 아주 부자이거나 아주 가난한 군집의 데이터가 없는 경우
결측값 처리가 전체 작업속도에 많은 영향을 준다.
- 이상값 검색 > 꼭 제거하는것은 아님. 분석의 목적/종류에 따라 적절히 변환/제거 등
- 결측값이 있는 자료의 평균 구하기
mean(c(1,2,3,NA)) # 이렇게하면 평균 자체가 NA
mean(c(1,2,3,NA), na.rm=T) # na.rm : NA를 ReMove할까요? TRUE, FALSE
# 결측값을 제거해버리고 3개로 평균을 계산함
가. 결측값 처리 방법
단순 대치법
completes analysis
|
결측값이 존재하는 레코드를 삭제
|
평균대치법
|
관측/실험을 통해 얻어진 데이터의 평균으로 메꿈
조건부 평균대치법 : 결측값 있는 변수를 종속변수로 하는 회귀분석 활용
비조건부 평균대치법 : 관측데이터의 단순 평균 사용
|
단순확률대치법
|
평균대치법에서 추정량 표준오차의 과소추정문제를 보완
'Hot-deck' 방법, ‘Nearest-neighbour' 방법 등
|
다중 대치법
단순대치법을 m번 반복해서 m개의 완전한 자료를 가상적으로 만들어내는 방법
1단계 : 대치 > 2단계 : 분석 > 3단계 : 결합
나. 이상값(Outlier)찾기와 처리
이상값(Outlier)
- 실수로 잘못 입력한 경우
- 의도하지 않게 입력되었으나 분석 목적에 부합하지 않아 제거해야 하는 경우
----------여기까진 bad data로, 삭제하는 것이 바람직-----------
- 의도하지 않은 현상이지만 분석에 포함해야하는 경우
- 의도된 이상값인 경우( fraud, 불량)
이상값의 인식 방법
- ESD(Extreme Studentized Deviation) : 평균에서 3표준편차 떨어진 값 (3시그마)
- 기하평균 - 2.5 x 표준편차 < data < 기하평균 + 2.5 x 표준편차 인 경우
- 사분위수의 Q1, Q3로부터 2.5*IQR 이상 떨어져있는 데이터
극단값 절단(trimming) 방법
- 기하평균을 이용한 제거 : geo_mean
- 하단, 상단 백분율 이용한 제거 : 상,하위 5% 에 해당되는 데이터 제거
극단값 조정(winsorizing) 방법
- 상한값과 하한값을 벗어나는 값들은 상한값, 하한값으로 바꿈
2. 통계분석
1) 통계학 개론
가. 통계학 개요
자료의 수집, 정리, 해석 이 세가지가 통계학의 핵심
a) 통계: 특정집단을 대상으로 수행한 조사나 실험을 통해 나온 결과에 대한 요약 표현
b) 통계자료 획득방법
- 총 조사(census)
- 표본조사
모집단
population
|
조사하고자 하는 대상 집단 전체
|
원소
|
모집단 구성개체
|
표본
|
모집단의 일부 원소(부분집합)
|
모수
|
모집단의 특성을 나타내는 양적인 값, 고유한 상수
모집단의 속성, 특징을 나타내는 통계값
(모평균, 모표준편차, 상관계수)
|
통계량
|
표본으로부터 얻은 표본의 평균, 표준편차, 상관계수
|
모집단의 정의, 표본의 크기, 조사방법, 조사기간, 표본추출방법을 정확히 명시
|

c) 표본추출 방법: 모집단을 대표할 수 있는 표본추출 (중요)
확률 표본추출
단순랜덤추출법
|
임의의 n개 추출하는 방법. 각 샘플은 선택될 확률이 동일
복원 or 비복원 추출
(복원: 뽑은거 또 뽑을 수 있음/비복원: 뽑은 것 다시 못 뽑음)
|
계통추출법
|
모집단의 개체에 1,2, ...N이라는 일련번호를 부여한 후, 첫번째 표본을 임의로 선택하고 일정 간격으로 다음 표본을 선택
|
층화추출법
|
이질적인 원소들로 구성된 모집단에서 각 계층을 고루 대표할 수 있도록 표본을 추출
모집단을 성격에 따라 몇 개의 집단 또는 층으로 나누고, 각 집단내에서 원하는 크기의 표본을 무작위로 추출하는 확률적 표본추출방법
|
집락추출법
|
클러스터링 추출법
지역이 너무 넓거나 너무 분산 되어 있을 경우 사용
군집을 구분하고 군집별로 단순랜덤추출법
지역표본추출, 다단계표본추출
|
비확률 표본추출
판단추출법
|
유의표본추출법
연구자의 목적에 따라 판단해서 표본을 선택하는 방법
제한된 집단을 대상으로 연구할 때 이용
장점: 시간, 비용이 덜 발생하여 경제적임
단점: 대표성 보장 못함. 표본오차 계산도 거의 불가능
|
할당추출법
|
다른 비확률표본추출법에 비해 모집단의 특성을 많이 반영한 추출법
표본추출단계에서 분류자의 판단 편견이 개입 되기에 표본오차 개입 가능성이 높다
ex) A대학에서 5000명 대상으로 학교생활만족도 조사 후 100명 추출하면 그 중 학생 많은 학과는 학생을 많이 추출, 적은 곳은 적게 추출
|
편의추출법
|
우연표본추출 또는 무계획 표본추출
우연히 무계획적으로 표본추출
사회과학 연구분야에서 특정 연구목적을 위해 일반적으로 많이 사용
장점: 시간 비용 절감
단점: 표본의 대표성을 추정할 수 없다. 즉, 모집단을 추론하기 어려움. 오차개입에 대한 발생 확률이 높다
|
지원자 표본추출법
|
지원자를 대상으로 표본을 추출
|
d) 척도(Scale)의 종류
명목척도
|
가장 낮은 수준의 척도로 단지 측정 대상의 특성만 구분하기 위하여 숫자나 기호의 명칭만을 할당한 것으로, 특성 간의 양적 분석을 할 수 없고 대소 비교도 불가능
ex) 주민번호, 자동차번호판, 주소, 우편번호
|
서열(순서)척도
|
측정대상의 특성을 구분하여 줄 뿐만 아니라 이들 사이의 상대적인 크기를 나타내고 서로 간에 비교가 가능한 척도
대소 또는 높고 낮음 등의 순위만 제공할 뿐 가감승제 불가능하며, 양적인 비교도 할 수 없다.
사용 가능한 기술통계 - 범위
ex) 학력서열(초중고대)
|
등간(구간)척도
|
명목과 서열척도의 특징을 모두 가지고 있으면서 크기가 어느 정도나 되는지, 특성 간의 차이가 어느 정도나 되는지 파악이 가능한 척도
순위를 부여하되 순위 사이의 간격이 동일하여 양적인 비교가 가능
가감은 가능, 승제는 불가(절대 0점이 존재하지 않기에 비율로 표기 불가)
사용 가능한 기술통계 - 최빈값
ex) 온도(0도가 상대적인 개념이기에)
|
비율척도
|
가장 높은 수준의 척도로서, 가장 자세한 정보를 제공
서로의 구분, 크기의 비교, 차이, 특성들 간의 계산까지 가능한 수준
모두 숫자로 표현 되고 그것들의 계산이 가능한 척도
측정값 사이의 비율 계산이 가능한 척도이며, 절대 0점이 존재
사용 가능한 기술통계 - 표준편차
|
나. 통계분석(statistical analysis)
특정한 집단이나 불확실한 현상을 대상으로 자료를 수집해 대상 집단에 대한 정보를 구하고 적절한 통계분석방법을 이용해 의사결정을 하는 과정
- 대상 집단에 대한 정보 : 자료를 요약·정리한 결과, 숫자/그림으로 정리된 각종 통계
- 통계적 추론 : 수집된 자료를 이용해 대상 집단(모집단)에 대해 의사결정을 하는 것
추정(estimation), 가설검정(hypothesis test), 예측(forecasting)
- 기술통계(descriptive statistic) : 수집된 자료를 정리·요약하기 위해 사용되는 기초통계로, 여러 용도에 쓰이나 대체로 자세한 통계분석을 위한 전단계 역할
다. 확률 및 확률분포
확률 : 특정사건이 일어날 가능성의 척도
- 표본공간(sample space,Ω) : 나타날 수 있는 모든 결과들의 집합
- 원소(element) : 나타날 수 있는 개개의 결과
- 사건(event) : 표본공간의 부분집합
조건부확률과 독립사건 : 확률이 0이 아닌 사건 A가 일어났을 때 사건 B가 일어날 확률을 사건 A가 일어났을 때의 사건 B의 조건부확률이라 하고 P(B|A)와 같이 나타낸다.
- 조건부확률의 계산

* 한 개의 주사위를 던져서 홀수의 눈이 나왔을 때, 그것이 소수일 확률을 구하여라.
확률변수(random variable) : 특정값이 나타날 가능성이 확률적으로 주어지는 변수
(정의역이 표본공간, 치역이 실수값인 함수)
통계분석에서 수집된 자료에서 어떤 정보를 얻고자 할 때는 항상 수집된 자료가 특정 확률분포를 따른다고 가정
이산형 확률변수
(discrete r.v.)
|
0이 아닌 확률값을 갖는 셀 수 있는 실수값
|
연속형 확률변수
(continuouse r.v.)
|
특정 실수구간에서 0이 아닌 확률을 갖는 확률변수
|
결합확률분포
(joint probability distribution)
|
두 확률변수의 결합확률분포
|
이산형 확률분포
|
베르누이, 이항분포, 기하분포, 다항분포 포아송분포
|
연속형 확률분포
|
균일분포, 정규분포, 지수분포, t-분포, F-분포, 분포
|
라. 추정과 가설검정
각 확률분포는 평균, 분산 등의 모수(parameter)를 갖음
확률표본(random sample) : 특정 확률분포로부터 독립적으로 반복해 표본을 추출하는 것
각 관찰값들은 서로 독립적이며 동일한 분포
- 모수 : 모집단의 특성을 나타내는 값(일반적으로 알려져 있지 않음)
표본추출에 의해 모수 추정
점추정(point estimation) : 모수가 특정한 값. 얼마나 정확한 추정인지 판단 불가
ex) 표본평균, 표본분산
좋은 추정량이 되기 위한 조건
불편성
|
모든 가능한 표본에서 얻은 추정량의 기댓값이 모수의 값과 같아야 한다
|
효율성
|
추정량의 분산이 가능한 작아야 한다
|
일치성
|
표본 크기가 아주 커지면 측정값이 모수와 거의 같아진다
|
충족성
|
추정량의 모수에 대해 모든 정보를 제공한다
|
구간추정(interval estimation) : 미리 정해진 신뢰수준값(99%,95%,90% 등) 을 기준으로 모수가 참이라고 여겨질 구간을 추정하는 방법이다.
가설검정 : 모집단에 대한 어떤 가설을 설정한 후 표본관찰을 통해 가설의 채택여부 결정
- 검정하고자 하는 모집단의 모수에 대한 가설 설정이 가장 기본적
귀무가설(H0) : 모수에 대한 가설 중 간단하고 구체적인 표현 설정
대립가설(H1) : 연구자가 입증하려는 주장을 담은 가설
- 검정통계량(test statistic) : 검정에 사용되는 통계량
- 유의수준(significance level) : H0이 옳은데 이를 기각하는 확률의 크기
- 기각역(critical region) : H0이 옳다는 전제에서 구한 검정통계량의 분포에서 확률이 유의수준인 부분
오류(error)
- Type 1 : H0가 맞는데 기각하는 오류
- Type 2 : H0가 틀린데 채택하는 오류
상충관계, 보통 1종오류(α) 크기 고정시키고 2종오류(β) 최소화되게 기각역 설정
마. 비모수 검정
모수적 검정
|
검정하고자 하는 모집단의 분포에 대한 가정하에서 검정통계량과 그 분포를 유도해 검정 실시
정규분포를 하는 자료
|
비모수적 검정
|
자료가 추출된 모집단의 분포에 아무 제약을 하지 않고 검정 실시
정규분포를 하지 않는 자료
|
2) 기초 통계분석
가. 기술통계(Descriptive Statistics)
자료를 요약하는 기초적 통계
데이터 분석에 앞서 데이터의 대략적인 통계적 수치를 계산해봄으로써 데이터에 대한 대략적 이해와 분석에 대한 통찰력을 얻기에 유리
데이터 마이닝에 앞서 데이터의 기술통계를 확인해보는 것이 좋음
Head
|
데이터를 기본 6줄 보여줘 데이터가 제대로 import 됐는지 살펴볼 수 있는 함수
|
Summary
|
데이터의 컬럼에 대한 전반적인 기초통계량을 보여줌
|
데이터의 특정 컬럼 선택
|
데이터네임$column명
|
나. 회귀분석
종속변수(반응변수, y)
|
다른 변수의 영향을 받는 변수
|
독립변수(설명변수,x)
|
영향을 주는 변수
|
산점도(scatter plot)
|
좌표평면 위에 점들로 표현
|
단순회귀분석과 (다)중회귀분석의 개념
회귀분석
|
하나 혹은 그 이상의 독립변수들이 종속변수에 미치는 영향을 추정하는 통계기법
|
단순회귀
|
하나의 종속변수와 하나의 독립변수의 관계 분석
|
(다)중회귀분석
|
하나의 종속변수와 둘 이상의 독립변수 간의 관계 분석
|
다. 상관분석(Correlation Analysis)
데이터 안의 두 변수 간의 관계를 알아보기 위함
두 변수의 상관관계를 알기 위해 상관계수(correlation coefficient) 이용
- 피어슨 상관계수 : 등간척도 이상으로 측정되는 두 변수의 상관관계 측정
- 스피어만 상관계수 : 서열척도인 두 변수의 상관관계 측정
- 1(-1)에 가까울수록 강한 양(음)의 상관관계를 나타내고 상관관계 없으면 r=0
라. 회귀분석의 체크 포인트
모형이 통계적으로 유의미한가?
|
F통계량(p값) 확인
|
회귀계수들이 유의미한가?
|
계수의 t값, p값 또는 신뢰구간 확인
|
모형이 얼마나 설명력을 갖나?
|
결정계수(R-square) 확인
|
모형이 데이터를 잘 적합하고 있나?
|
잔차그래프 그리고 회귀진단
|
데이터가 전제하는 가정을 만족시키나?
|
가정 : 선형성, 독립성(잔차와 독립변인 값 독립), 등분산성(오차 분산 일정), 비상관성(잔차끼리 상관×), 정상성(잔차가 정규분포)
|
마. 이상 관측치
이상치(outlier)
|
회귀모형으로 잘 예측되지 않는 관측치(즉 아주 큰 양수/음수의 residual)
|
큰 지레점
(high leverage point)
|
비정상적인 예측변수의 값에 의한 관측치. 즉 예측변수의 이상치로 볼 수 있다. 종속변수의 값은 관측치의 영향력을 계산하는 데 사용하지 않는다.
|
영향 관측치
(influential observation)
|
통계 모형 계수 결정에 불균형한 영향을 미치는 관측치로 Cook's distance라는 통계치로 확인할 수 있다.
|
3) 다변량 분석
가. 다중공선성(Multicolinearity)
독립 변수의 일부가 다른 독립 변수의 조합으로 표현될 수 있는 경우이다. 독립 변수들이 서로 독립이 아니라 상호상관관계가 강한 경우에 발생한다.
다중 공선성을 없애는 가장 기본적인 방법은 다른 독립변수에 의존하는 변수를 없애는 것이다. 가장 의존적인 독립변수를 선택하는 방법으로는 VIF(Variance Inflation Factor)를 사용할 수 있다.
나. 최적 회귀방정식의 선택: 설명변수의 선택
회귀모형 설정변수 선택 원칙
- y에 영향 미칠 수 있는 모든 설명변수 x들을 y값을 예측하는데 참여시킴
- 설명변수 x가 많아지면 관리하는데 노력이 많이 요구되므로 가능한 범위 내에서 적은 수의 설명변수를 포함시켜야 한다.
다. 선택방법
모든 가능한 조합의 회귀분석
- 가능한 모든 독립변수 조합에 대한 회귀모형을 분석해 가장 적합한 것 선택
단계적 변수선택
전진선택법(forward selection)
|
상수모형부터 시작해 중요하다고 생각되는 설명변수부터 차례로 추가
|
후진제거법(backward elimination)
|
독립변수 후보 모두 포함한 모형에서 시작해 가장 적은 영향주는 변수부터 제거하면서 더 이상 제거할 수 없을 때 모형 선택
|
단계적방법(stepwise selection)
|
모든 변수가 포함된 모델에서 출발하여 기준 통계치에 가장 도움이 되지 않는 변수를 삭제하거나 모델에서 빠져 있는 변수 중에서 기준 통계치를 가장 개선시키는 변수를 추가한다. 그리고 이러한 변수의 추가 또는 삭제를 반복한다. 반대로 절편만 포함된 모델에서 출발해 변수의 추가, 삭제를 반복할 수도 있다.
|
* step(lm(종속변수~설명변수, 데이터세트), scope=list(lower=~, upper=~설명변수), direction=" 변수선택방법“) 함수로 변수 쉽게 선택 가능
라. 주성분 분석(PCA)
고차원의 데이터를 저차원의 데이터로 환원시키는 기법
고유 벡터 기반의 다변량 분석들 중 가장 쉬움
데이터의 분포를 가장 크게 설명하는 축을 중심으로 설명함

4) 시계열 예측
가. 정상성(stationarity)
시계열 자료 : 시간의 흐름에 따라 관찰된 값들
- 비정상성 시계열 : 시계열 분석하는데 다루기 어려운 시계열로, 정상 시계열로 만들어 분석
- 정상성 시계열 : 약한 의미의 정상성 = 모든 시점에 평균일정, 시점과 분산 독립, 공분산은 시차에만 의존
비정상→정상 : 변환(transformation), 차분(difference, 현시점에서 전시점 자료를 빼는 것)
- 변환 : 분산이 일정하지 않은 비정상 시계열
- 차분(t1-t0) : 평균이 일정하지 않은 비정상 시계열
나. 시계열 모형
at : white noise process(백색잡음과정)
MA모형: 시계열 모형 중 백색잡음의 선형 가중합 모형
자기회귀모형(AR)
|
p시점 전의 자료가 현재 자료에 영향을 주는 모형을 AR(p)모형
판단 조건: 자기상관함수(ACF) 빠르게 감소, 부분자기상관함수(PACF)는 어느 시점에 절단점 갖음
at : white noise process(백색잡음과정)
|
이동평균모형(MA)
|
유한 개수의 백색잡음의 선형 가중합 모형. 항상 정상성 만족
판단 조건: ACF에서 절단점 갖고, PACF가 빠르게 감소
at : white noise process(백색잡음과정)
|
자기회귀누적이동평균모형
(ARIMA)
|
가장 일반적인 모형으로 비정상 시계열 모형
차분이나 변환을 통해 AR, MA, ARMA로 정상화 가능
ARIMA(p,d,q))
ARIMA(p,d,q)모형은 차수 p,d,q 값에 따라 다른 이름으로 불림
: p는 AR모형과 관련, q는 MA모형과 관련
: ARIMA를 ARMA로 정상화 할 때 차분한 횟수를 의미
예1) d=0: ARMA(p,q)모형이라 부르고 이 모형은 정상성을 만족
예2) p=0: IMA(d,q)모형이라 부르고 d번 차분하면 MA(q)모형을 따름
예3) q=0: ARI(p,d)모형이라 부르며, d번 차분한 시계열이 AR(p)모형을 따름
|
분해 시계열
|
시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석
각 구성요인을 정확히 분리하는 것이 중요 - 요인을 정확히 분리하기 쉽지 않으며, 이론적 약점이 존재하나 많이 사용
Zt = f(Tt, St, Ct, It)
추세요인(trend factor): 자료가 어떤 특정한 형태를 취할 때
계정요인(seasonal factor): 고정된 주기에 따라 자료가 변화
순환요인(cyclical factor): 알려지지 않은 주기를 갖고 자료가 변화
불규칙요인(irregular factor): 회귀분석에서 오차에 해당하는 요인
|
3. 정형 데이터마이닝
1) 데이터마이닝 개요
대용량 데이터에서 의미있는 데이터 패턴을 파악하거나 예측을 위해 데이터를 자동으로 분석해 의사결정에 활용하는 방법
통계분석과 비교해 데이터마이닝의 큰 차이
- 가설이나 가정에 따른 분석이나 검증, 통계학 전문가가 사용하는 도구도 아님
- 다양한 수리 알고리즘을 이용해 DB의 데이터로부터 의미있는 정보(패턴)를 찾아내는 방법 통칭
정보 찾는 방법론에 따라
- 인공지능, 의사결정나무, K-평균군집화, 연관분석, 회귀분석, 로직분석, 최근접이웃 등
분석대상이나 활용목적, 표현방법에 따라
- 시각화분석, 분류(classification), 추정, 군집화(clustering), 포케스팅(forecasting), Description
사용하는 분야 매우 다양
데이터마이닝 도구가 매우 다양하고 체계화돼 도입환경에 적합한 제품을 선택·활용가능
- 데이터마이닝을 통한 분석 결과의 품질은 분석가의 경험과 역량에 따라 차이
- 분석대상의 복잡성이나 중요도가 높으면 풍부한 경험을 가진 전문가에게 의뢰할 필요
단점: 통계학 전문가와 대기업 위주시장, 쓰기 힘들고 단순 반복 작업이 많아 실무에서 적극 이용되기 어려움, 데이터 준비위한 추출·가공 부담, 경영진과 어려운 소통, 데이터 핸들링에만 사용, 신뢰 부족
가. 데이터마이닝 추진 단계
데이터마이닝은 일반적으로 목적 정의, 데이터 준비, 데이터 가공, 데이터마이닝 기법 적용, 검증 단계로 추진
1. 목적 설정
|
데이터 마이닝을 통해 무엇을 왜 하는지 도입 목적을 명확히 설정
- 목적 정의 단계부터 시작. 목적은 이해 관계자 모두가 동의하고 이해 가능해야 함
- 가능하면 1단계부터 전문가가 참여해 목적에 따라 사용할 데이터 마이닝 모델과 필요 데이터를 정의하는 것이 바람지
|
2. 데이터 준비
|
데이터 정제를 통해 데이터의 품질을 보장하고 필요하다면 보강해 데이터의 양을 충분히 확보해 데이터 마이닝 기법을 적용하는데 문제 없도록 해야 함
- 고객정보, 거래정보, 상품 마스터 정보 등이 필요. 웹로그 데이터, SNS 데이터도 활용 가능
- 대부분 용량이 크므로 IT부서와 사전 협의하여 데이터 접근부하가 심한 일을 해도 문제 없도록 일정 조율하고 도움 요청
- 필요하면 데이터를 다른 서버에 저장 운영
|
3. 가공
|
모델링 목적에 따라 목적변수를 정의하고 필요한 데이터를 데이터 마이닝 SW에 적용할 수 있도록 적합한 형식으로 가공
- 모델 개발단계에서 데이터 읽기, 데이터 마이닝에 부하 걸림 → 모델링 일정계획을 팀원 간에 잘 조정
|
4. 기법 적용
|
앞 단계를 거쳐 준비한 데이터와 데이터 마이닝 SW를 활용해 목적하는 정보 추출
- 적용할 데이터 마이닝 기법은 1단계에서 이미 결정 됐어야 바람직
- 어떤 기법을 활용하고 어떤 값을 입력하느냐 등은 데이터 분석가의 전문성에 따라 다름
- 데이터 마이닝 적용 목적, 보유 데이터, 산출되는 정보 등에 따라 적절한 SW와 기법 선정
|
5. 검증
|
마이닝으로 추출한 정보를 검증하는 단계
- 테스트 마케팅이나 과거 데이터 활용 가능
검증 됐으면 자동화 방안을 IT부서와 협의해 상시 데이터 마이닝 결과를 업무에 적용할 수 있게 해야 하며 보고서를 작성해 경영진에게 기대효과를 알릴 수 있어야 함
|
나. 데이터 마이닝을 위한 데이터 분할
결과 신빙성 검증을 위해 데이터를 구축용(training), 검정용(validation), 시험용(test)으로 분리
- 구축용 : 초기의 데이터 마이닝 모델 만드는데 사용. 추정용, 훈련용(50%)
- 검정용 : 구축된 모델의 과잉 또는 과소맞춤 등에 미세조정 절차 위해 사용(30%)
- 시험용 : 데이터 마이닝 추진 5단계에서 검증용으로 사용(20%)
데이터 양이 충분치 않거나 사용SW입력 변수에 대한 설명이 충분할 경우 구축용과 시험용으로만 분해 사용하기도 함
필요에 따라 구축용과 시험용을 번갈아가며 사용(교차확인;cross-validation)을 통해 모형평가
- 최근에는 구축용과 시험용으로만 분리해 사용하는 추세 → 주로 머신러닝에서
다. 데이터 마이닝 모형 평가
데이터 마이닝 프로젝트의 목적과 내용에 따라 적합 모형 다름
- 몇가지 모형 대안 놓고 어느 것이 적합한지 판단하는 가장 보편적 기준 : 손익비교
모델링은 변경 주기가 있으며 근본적으로 정확도의 편차가 급증하는 시점에 실행
- classification : 최소1년 2번, 연관성규칙: 비즈니스특성에 따라 1주/1개월, forecasting : 일·주·월 단위 등 모델링 기준에 따라 다름
성공적 데이터마이닝 핵심 : 전반적인 비즈니스 프로세스에 대한 이해
- 각 프로세스에서 어떤 형태로 데이터가 발생돼 변형·축적되는지 이해하고 필요한 데이터 선별가능 해야
- 데이터에 대한 전반적 파악, 팩트와 특이사항 파악해 브레인 스토밍, 마트 잘만들기(자동화), 모델링(처음부터 전체 데이터 접근×, 샘플링 최대한 활용)
2) 분류분석(Classification)
데이터의 실체가 어떤 그룹에 속하는지 예측하는 데 사용하는 데이터마이닝 기법
- 특정 등급으로 나누는 점에서 군집분석과 유사하나 각 계급이 어떻게 정의되는지 미리 알아야 함
- 집단을 세분화하는 기능
분류(classification) : 객체를 정해놓은 범주로 분류하는데 목적
- CRM에서는 고객행동예측, 속성파악에 응용. 다양한 분야에서 활용 가능
분류모델 개발할 때는 train data/test data 구분지어 모델링 (자주 출제)
- 전체 데이터를 7:3, 8:2 등으로 나눠 train 해서 최적모델 확정짓고 test로 검증
- train과 test간 편차 없어야 하며 성능은 test가 다소 낮게 나오는 경향
분류를 위해 사용되는 데이터마이닝 기법
- 로지스틱 회귀, 최근접이웃(nearest neighborhood), 의사결정나무(decision tree), 나이브 베이즈 알고리즘(베이지안 정리를 이용한 분류), 인공신경망(artificial neural network), 지지도벡터기계(support vector machine), caret(classification and regression tree) 등 → 상황판단, 속하는 분류 집단 특성, 예측 등에도 사용
ROCR 패키지로 성과분석
|
성과분석(performance analysis): ROC analysis, Lift analysis 등
ROCR 패키지는 binary classification만 지원
|
caret
|
classification and regression tree
분류 관련 알고리즘 수 십 가지가 각각 형식이 달라 혼란스러움
전체적으로 동일한 형식을 사용할 수 있게 한 caret 패키지가 나옴
|
가. 로지스틱 회귀분석(Logistic regression)
로지스틱 회귀분석은 분석하고자 하는 대상들이 두 집단 혹은 그 이상의 집단(다변수 데이터)으로 나누어진 경우에 개별 관측치들이 어느 집단으로 분류될 수 있는가를 분석하고 이를 예측하는 모형을 개발하는데 사용되는 대표적인 통계 알고리즘 이다.
분석 목적이나 절차에 있어서는 일반 (선형)회귀분석(Ordinary Linear Model)과 유사하나 종속변수(반응변수)가 명목척도로 측정된 범주형(A냐B냐의 범주로 분류) 질적 변수인 경우에 사용한다는 점에서 일반 회귀분석과 차이가 있다. -> 즉, 연속형 선형변수로 표현이 불가. 이항분포 형태이기 때문에


나. 의사결정나무(Decision Tree)
분류함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법 (비모수적 방법)
- 나무의 구조에 기반한 예측모델을 갖는 데이터를 분류하기 위한 질문, 잎은 분류 결과에 따라 분리된 데이터 의미
- 연속적으로 발생하는 의사결정문제를 시각화해 의사결정이 이뤄지는 시점과 성과를 한 눈에 볼 수 있게 하며 계산결과가 의사결정나무에 직접 나타나 분석 간편
- 노드의 불순도(impurity) 측도: 지니 계수, 엔트로피 계수, 분류 오류율
- CHAID: 이산형 목표변수는 지니지수를, 연속형 목표변수는 분산 감소량을 사용하는 알고리즘
- 지니지수(계수)(Gini index): 영여(box)내에서 특정 클래스에 속하는 관측치들의 비율을 제외한 값이며, 불순도(Impurity) 혹은 다양성(Diversity) 계산 방법으로 작을수록 좋음 (0 ~ 0.5사이)

다. 의사결정 나무(Decision Tree) 구성요소


라. 의사결정나무의 활용
세분화(Segmentation)
|
데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성을 발견, 각 고객이 어떤 집단에 속하는지 파악
|
분류(Classification, stratification)
|
관측개체를 여러 예측변수들에 근거해 목표변수의 범주를 몇 개 등급으로 분류하고자 하는 경우
|
예측
|
자료에서 규칙을 찾고 이를 이용해 미래 사건 예측
|
차원축소 및 변수선택
|
매우 많은 예측변수 중 목표변수에 큰 영향을 미치는 변수 골라냄
|
교호작용효과의 파악(interation effect identification)
|
여러 예측변수들을 결합해 목표변수에 적용하는 규칙 파악
|
범주의 병합 또는 연속형 변수의 이산화
|
범주형 목표변수의 범주를 소수의 몇 개로 병합하거나 연속형 목표변수를 몇 개 등급으로 이산화
|
마. 의사결정나무의 특성
결과를 누구에게나 설명이 용이
모형 정확도는 다른 분류모형에 뒤지지 않음
만드는 방법은 계산적으로 복잡하지 않아 대용량 데이터에서도 빠르게 만들 수 있고 한번 모델링하면 소속집단을 모르는 데이터의 분류작업도 빠르게 처리 가능
비정상적인 잡음 데이터에 대해서도 민감함 없이 분류가 가능
한 변수와 매우 상관성이 높은 다른 불필요한 변수가 있어도 의사결정나무는 크게 영향 받지 않음
의사결정나무 모형 R패키지(tree, rpart, party, randomforest, rpartOrdinal, marginTree, Maptree 등)
R 패키지
|
설명
|
tree
|
binary recursive partitioning 방법을 이용
|
rpart
|
Recursive Partitioning and Regression Tree
CART(classification and regression Tree) 와 유사
예측오차 최소화 가능
두 개의 패키지는 연산속도는 빠르지만 과적합화 위험성이 존재
|
party
|
Unbiased recursive partitioning based on permutation test 방법 이용
입력변수의 레벨이 31개로 제한
분실값(missing value) 잘 처리 못 함
tree에 투입된 데이터 표시 안되거나 predict 실패
명목변수의 test 데이터가 train 데이터와 다르게 처리
|
randomForest
랜덤 포레스트
|
random input에 따른 forest of tree를 이용한 분류방법, 랜덤한 forest에는 많은 tree 생성
새로운 오브젝트를 분류하기 위해 forest에 있는 트리에 각각 투입해 각각의 트리들이 voting함으로써 분류하는 방식
대용량 데이터에서 효율적으로 실행, 수천개의 변수를 통해 변수 제거 없이 실행돼 정확도 측면에서 좋은 성과, 특히 unbalanced된 클래스의 모집단 잘 지원
제약: 각 category variable의 value 종류가 32개 넘을 수 없음
대안: party 패키지의 randomforest 사용
|
과대적합
Over fitting
|
training set이 정확한 결과를 보여주기 위하여 복잡하게 모델을 만드는 것
training data에서는 정확도가 높지만, 새로운 데이터가 입력 되면 잘못 예측할 수 있다
|
과소적합
Under fitting
|
모델이 너무 간단해서 정확도가 낮은 모델
training data조차도 정확도가 떨어짐
|
과대적합과 과소적합의 문제점을 해결하는 방법
|
더 많고 다양한 데이터를 확보하고, 확보한 데이터로부터 다양한 특징을 찾아내는 것
|
가지치기(pruning)
|
의사결정나무에서 오차를 크게 할 위험이 높거나 부적절한 추론규칙을 가지고 있는 가지 또는 불필요한 가지를 제거하는 단계
|

바. 인공신경망이란?
생물학의 뇌는 신경세포(neuron)와 신경세포를 연결하는 시냅스(synapse)를 통해서 신호를 주고 받음으로써 정보를 저장하고 학습한다. 인공신경망은 뇌의 학습방법을 수학적으로 모델링한 기계학습 알고리즘으로써, 시냅스의 결합으로 네트워크를 형성한 신경세포가 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제를 해결하는 모델 전반을 가리킨다.

사. 인공신경망 구조
인공신경망은 입력층(input layer), 히든층(hidden layer), 출력층(output layer)으로 구성되어 있다.
입력층에는 각각의 입력변수가 1:1로 매칭되는 뉴런(neuron)이 존재한다.
히든층에는 입력층의 뉴런과 가중치(weight)의 결합으로 생성되는 뉴런이 존재하며, 히든층에서의 층의 개수에 따라 모형의 복잡도가 결정되고 히든층의 개수가 2개 이상이 되는 경우 deep neural network 또는 deep learning이라고 칭한다.
출력층에는 히든층에서의 뉴런과 가중치가 결합하여 생성되는 뉴런이 존재하며, 예측하고자 하는 종속변수의 형태에(numeric, binary or multinomial) 따라 출력층의 개수가 결정된다. 히든층과 출력층에 존재하는 뉴런은 이전 층에서의 입력값과 가중치를 합(summation)을 계산하는 기능과 뉴런의 가중합을 입력값으로 신호를 출력하는 활성화 함수(activation function)기능을 수행한다.
장점
|
변수의 수가 많거나 입력, 출력변수 간에 복잡한 비선형 관계에 유용
잡음에 대해서도 민감하게 반응하지 않음
연속형 or 이산형 모두 처리 가능
|
단점
|
결과에 대한 해석이 어려움
최적의 모형을 도출하는 것이 상대적으로 어려움
데이터의 정규화를 하지 않으면 지역해의 위험에 빠지기 쉽다
모형이 복잡하면 훈련 과정에 시간이 많이 소요 된다
노드 수가 적으면 복잡한 의사결정 경계를 만들 수 없음
기울기 소실 문제: 다층 신경망에서 은닉층이 많으면 학습이 이루어지지 않을 수 있음
포화문제: 가중치의 절대값이 커져 조정이 더이상 힘든 과소적합이 발생
|

활성화 함수: 신경망 모형에서 output을 결정하며, 이전층(layer)의 뉴런에서 다음 층의 뉴런으로 신호를 전달하는 역할을 합니다. 이때 활성화 함수의 값에 따라서 다음 층의 뉴런으로 출력 신호를 보낼지 말지를 결정하게 됩니다. 선형 또는 비선형(곡선)으로 출력해주는 함수
시그모이드 활성함수: Sigmoid는 S자 모양이라는 뜻으로 이러한 S모양을 가지는 함수들의 집합을 Logistic function이라고 합니다. 시그모이드 함수 그려보면 0에서 1 사이의 연속된 실수 값들이 s자 모양을 이루며 연속적인 값이 신호로서 흐릅니다. 그리고 이러한 연속적인 입력 값에 비례해 출력 값이 커지는 경향성을 가진 비선형 함수입니다. 비선형 함수란 선형 모양으로 표현할 수 없는 함수로, 분수형태나 2차식 이상의 함수들을 말합니다.


시그모이드 활성함수
소프트맥스 함수: 여러 개의 입력값을 갖는 함수로, 확률처럼 모든 출력값을 더했을 때 1이 총합
시그모이드 함수는 입력이 한 개일 때 사용 되는 로지스틱 함수의 한 종류
입력값이 여러개일 때 사용할 수 있도록 일반화한 것이 소프트맥스 함수

인공신경망 R패키지(neuralnet, nnet)
neuralnet,
nnet
|
역전파 알고리즘: ANN(artificial neural network)을 학습시키기 위한 가장 기본적이고 일반적인 알고리즘
|

3) 모형 평가 (아주 중요)
분류분석 모형의 평가는 예측 및 분류를 위해 구축된 모형이 임의의 모형보다 우수한 분류 성과를 보이는지와 고려된 서로 다른 모형들 중 어느 것이 우수한 예측 분류 성과를 보유하고 있는지 등을 비교 분석하는 과정 가장 적합한 모형을 선택하기 위해서는 성과 평가의 기준이 필요
모형 평가 기준
일반화 가능성
|
같은 모집단 내에 다른 데이터에 적용할 시에도 동일한 결과를 제공하는지 여부
|
효율성
|
해당 구축모형이 효과적으로 구축 되었는지 평가
적은 입력 변수를 필요로 할수록 효율성이 높은 것
|
예측과 분류의 정확성
|
실제 문제에 적용했을 때 얼마만큼의 정확성을 보이는지에 대한 기준
|
가. 홀드아웃(hold-out)
원본 데이터를 랜덤하게 두 분류로 분리하여 교차 검증하는 방법
모형의 학습 및 구축을 위한 훈련용 자료로 하나는 성과 평가를 위한 검증자료로 사용
전체 데이터 중 70%는 훈련용으로 나머지는 검증용으로 사용
검증용 자료의 결과는 성과 측정만을 위하여 사용
나. 교차검증(Cross Validation)
주어진 데이터를 가지고 반복적으로 성과를 측정하여 그 결과를 평균한 것으로 분류분석 모형을 평가하는 방법
k-fold: 대표적인 교차검증
다. 붓스트랩(Bootstrap)
평가 반복한다는 측면에서 교차검증과 유사, 훈련용 자료를 반복 재선정한다(복원추출)는 점 차이
관측치를 한 번 이상 훈련용 자료로 복원추출법에 기반한다.
전체 데이터의 양이 크지 않은 경우의 모형평가에 가장 적합하다.
일반적인 예제로 0.632 붓스트랩을 들 수 있다. (훈련용 데이터의 양이 63.2%로 갖춰놓고 나머지 36.8%를 가지고 테스트)
라. 오분류표 (반드시 출제)


마. 오분류표를 이용한 평가지표

바. ROC(Receiver Operating Characteristics) (중요)

사. 이익도표와 향상도 곡선 (중요)
이익 : 목표 범주에 속하는 개체들이 각 등급에 얼마나 분포하고 있는지 나타내는 값
이익도표 : 해당 등급에 따라 계산된 이익값을 누적으로 연결한 도표
→ 분류된 관측치가 각 등급별 얼마나 포함되는지 나타내는 도표
향상도 곡선 : 랜덤모델과 비교하여 해당 모델의 성과가 얼마나 향상되었는지 등급별 파악하는 그래프
상위 등급은 향상도가 매우 크고 하위로 갈수록 향상도가 감소되어 예측력이 적절함 의미
등급에 상관없이 향상도에 차이가 없으면 예측력이 좋지 않음

4) 군집분석(Clustering)
각 개체에 대해 관측된 여러 개의 변수값들로부터 n개의 개체를 유사한 성격으로 군집화하고 형성된 군집들의 특성을 파악하여 군집들 사이의 관계를 분석하는 다변량 분석기법
특성에 따라 고객을 여러 개의 배타적인 집단으로 나누는 것
- 결과는 구체적인 군집분석 방법에 따라 다름
- 군집 개수, 구조에 대한 가정없이 데이터로부터 거리 기준에 의해 자발적인 군집화 유도
예측 개념이 아닌 거리를 척도로 자연스럽게 무리가 지어진 군집을 분석
개체간의 유사성에만 기초하여 군집 형성
군집분석 목적
- 적절한 군집으로 나누는 것
- 각 군집의 특성, 군집 간의 차이 등에 대해 분석
- 이상값 탐지에도 사용, 심리학, 사회학, 경영학, 생물학 등 다양한 분야 이용
- 계층적 군집, 분리군집, 밀도-기반군집, 모형-기반군집, 격자-기반군집, 커널-기반군집, SOM
나누는 방법에 따른 군집화 구분
- 임의적 방법: 논란여지 많으나 많이 사용
- 통계적 기법 활용: 1, 2세대 알고리즘 이용해 사용되어 왔으나 실무 적용성에 대한 논란
별도의 반응변수 필요없음
cf) DBSCAN(Density-based spatial clustering of applications with noise) 기법: 밀도 기반 군집의 하나
가. 전통적 군집분석
기존 세분화 방법의 유형
- 임의로 나누는 방법: 고객등급/ 고객구분(신규/기존), 4분면, 9개 집단 등 다양
- 통계적 기법: clustering, k-means 등
전통적 세분화 방법의 문제점
변수를 선정하고 구간대로 나눈 다음 이를 기준으로 격자형으로 단순히 나누고 집단이 적으면 병합(merge)하는 방식과 단순 clustering, k-means
|
|
단순 격자형
|
작업에 오랜시간 소요, 후처리로 병합할 때 원칙이 명확하지 않음
분리된 격자 셀의 프로파일을 보고 유사한 근처 집단으로 나누어야 하는데 차이가 안나는 경우 존재
세분화 변수와 프로파일링 변수는 달라야 함
|
격자, clustering, k-means
|
변수의 특성으로 인한 변동에 따라 의미없이 고객집단 이동
세분화를 안정적으로 관리하면서 전략 수립과 액션을 할 수 없고 자연스러운 변화에 마치 의미있는 것처럼 끌려다님. 세분집단 수가 많은 경우 더 심해짐
|
해결방안
k-means에 SRM 결합한 방식
|
세분집단의 변화가 많지 않음.
집단은 안정적으로 유지되며 해당 집단에 속한 고객이 변화→세분화를 통한 고객관리 가능
|
목표기반(target-based) 세분화 방법
- 고객가치 또는 특정상품을 구매하는 고객을 타깃으로 세분화하는 방법
- 많이 존재하는 집단과 그렇지 않은 집단으로 구분, 이 집단들도 다른 변수에 의해 집단 특성이 구분 됨
프로파일링 방법
- 집단 간에 동일한 변수로 혹은 서로 다른 변수로 집단의 특성을 규명할 때 사용할 수도 있음
- 동일변수를 기준으로 집단을 비교할 때 집단 간에 차이가 명확할 수 있으며 그런 변수들이 프로파일링 변수로 선정되며 집단별로 유의미한 변수가 다를 수 있음
- 격자방식에서는 집단 간에 차이가 나지 않거나 프로파일링 변수가 나오지 않을 수 있으며 때에 따라서는 무의미한 변수로 집단 간에 차이가 있다고 몰아가기도 함
- 따라서 누가 사용해도 동일한 결과가 나오는 프로파일링 기법이 필요
- 자동화한 방식으로 세분화 되고 프로파일링 되야 동일한 데이터에 대해 일관된 품질의 결과가 나오고 세분화한 집단의 프로파일링은 집단을 변별하는 가장 유의미한 변수 순서로 표시되야 하며 이것도 자동으로 이루어져야 함
- 고정된 변수로 다양한 세분집단을 비교 가능해야 함
세분화 수행기간
- 세분화는 데이터 입수가 된 순간에서 마트 생성에 반나절 or 1일, 군집분석을 통한 세분화 및 보고서 작성에 1일이면 됨
- 군집분석 전 프로파일링 하는 것은 무모
- 프로파일링 먼저 하려면 구조적 특성이나 도메인에 대한 이해 등 시간이 걸림
- 대안: 일단 군집을 3~10개 정도 사이로 나누어 군집내 분산크기 통계에 따라 몇개로 나누는 경우가 적합할지 판단 가능. 군집 개수 내에서의 프로파일을 보면 한 번에 데이터 전체에 대한 특성 파악이 가능
- 대안 수행기간: 군집분석 실행기간 30분 이내, 보고서 작성까지 최대 1일 정도
- 대안 결과: 프로파일링은 군집분석 보고서에 자동으로 군집별 measure들의 평균값이 나와 평균의 차이를 보여줌
세분집단 개수
- 전략적으로 집단을 MECE(Mutually Exclusive and Collectively Exhaustive)하게 나누는데 어느 정도 규모 갖춰야 의미 있으므로 보통 3~10개 정도로 나눔
- 효율성을 판단하는 정형화한 방법: 2 ~ 15개 정도로 군집개수를 늘렸을 때 집단 내 분산의 크기가 줄어듬을 파악
(유사도) 거리
- 군집분석에서는 관측 데이터 간 유사성이나 근접성을 측정해 어느 군집으로 묶을 수 있는지 판단. 측ㄷ로 데이터 간의 거리(distance) dldyd
- 관측값들이 얼마나 유사한지 측정하는 방법
나. 계층
유클리드 거리
|
L2 Distance
n차원의 공간에서 두 점간의 거리를 알아내는 공식
|
마할라노비스 거리
|
확률분포상의 거리
연속형 변수의 거리 중에서 표준화와 공분산을 동시에 만족하는 거리
평균과의 거리가 표준편차의 몇배인지를 나타내는 값
서로 다른 의미를 지닌 특징간의 상관관계에 따라 거리를 조정하기 위하여, 공분산 행렬(Covariance matrix)이라는 개념을 사용했습니다.
|
체비셰프 거리
|
두 점의 x좌표 차이와 y좌표 차이 중 큰 값을 갖는 거리
L max norm(무한 노름 거리)
체스 게임에서 왕(King)이 한 점에서 다른 점으로 이동할 때 필요한 최소 이동 횟수와 같다는 점에서 체스판 거리(Chessboard distance)라고도 한다.
p = ∞일 경우
|
맨하튼 거리
|
L1 Distance, 시가지 거리, 택시 거리
19세기의 수학자 헤르만 민코프스키가 고안한 용어
데이터 간 유사성을 계산한 것
맨하탄 거리는 항상 유클리드 거리보다 크거나 같다
각 좌표의 차를 모두 더한 거리(절대값)
|
민코프스키 거리
|
유클리드 거리와 맨해튼 거리를 일반화한 것
p = 1일 경우 맨해튼 거리와 동일하고, L1 norm이라고도
p = 2일 경우 유클리드 거리와 동일하고, L2 norm이라고도
p = ∞일 경우 체비쇼프 거리(Chebyshev Distance)와 동일하고 L max norm이라고도
|
코사인 유사도
|
두 벡터가 이루는 각도를 통해 유사도를 측정하는 방식
두 벡터가 이루는 각이 작을수록 유사도가 높은 것이고, 각이 클수록 유사도가 작다고 생각
코사인 유사도는 각이 작을수록 1에 가까워지고, 각이 클수록 -1에 가까워집니다.
이 방식은 벡터의 크기를 고려하고 싶지 않을 때 사용할 수 있습니다.
왼쪽 그림에서는 이루는 각이 0도에 가깝기 때문에 코사인 유사도가 1에 가까운 반면, 오른쪽 그림은 각이 180도에 가까워 -1에 가까운 유사도를 갖습니다. 가운데 그림과 같은 경우, 이루는 각이 90도에 가깝기 때문에 유사도가 0에 가깝다.
|
적 군집(Hierarchical Clustering, HC)
각 데이터가 데이터수만큼 n개의 독립군집에서 출발하여 점차 거리가 가까운 대상과 군집을 이루어 가는 것
n개의 군집으로 시작해 점차 군집의 개수를 줄여나가는 방법 - 관측벡터 간의 거리뿐만 아니라 군집간 거리에 대한 정의 필요
최단 연결법
Single linkage
|
두 군집 간의 최단 거리를 측정
n x n 거리행렬에서 거리가 가장 가까운 데이터가 U와 V라면 먼저 두 데이터를 묶어 군집형성 후 나머지(n-2)개의 다른 데이터 또는 군집과의 거리 계산
수정된 거리행렬에서 가장 가까운 데이터 또는 군집을 새로운 군집으로 함
|
최장 연결법
Complete linkage
|
완전 연결법 = 두 군집 간의 최장 거리를 측정
n x n 거리행렬에서 거리가 가장 먼 데이터가 U와 V라면 우선 두 데이터를 묶어 군집형성 후 나머지 다른 데이터 또는 군집과의 거리 계산
|
평균 연결법
Average linkage
|
모든 항목에 대한 거리 평균을 구하면서 군집하는 연결법
계산량이 불필요하게 많아짐
n x n 거리행렬에서 거리가 가장 가까운 데이터가 U와 V라면 두 데이터를 묶어 군집형성한 후 나머지 다른 데이터와 거리 계산을 하여 평균거리를 구한 후 가장 가까운 데이터와 다시 군집 형성
과정을 반복하면 모든 데이터를 포함하는 하나의 군집 형성
|
중심 연결법
Centroid linkage
|
두 군집의 중심간의 거리를 측정. 두 군집이 결합할 때 새로운 군집의 평균을 이용하여 중심을 구하고, 그 중심과 또다른 군집의 중심 사이의 거리를 측정하여 최소거리를 찾아 군집을 이룬다.
|
와드 연결법
Ward's method
|
군집내 오차제곱합에 기초하여 군집을 수행
군집내 편차들의 제곱합을 고려하여 군집간 정보 손실을 최소화하기 위해 군집화 진행
|
a) R에서 계층적 군집을 수행할 때 (자주 출제)
병합적 방법을 사용하는 함수: hclust, cluster 패키지의 agnes(), mclust()
분할적 방법을 사용하는 함수: cluster 패키지의 diana(), mona()
b) H-cluster에서 군집을 지정해주는 방법
응집 원리
|
데이터 하나하나를 군집으로 생각, 각각의 군집으로부터 가장 가까운 거리를 연결해서 하나의 군집으로 만들어 나가는 과정
군집의 크기를 키워가는 상향식 과정
|
분리 원리
|
전체의 데이터를 하나의 군집으로 묶고 유의미한 군집을 하나씩 떼어나가는 과정
군집의 크기를 줄여나가는 하향식 과정
|
c) 실루엣(shilouette): 군집분석의 품질 평가 지표로 응집도와 분리도를 계산하는 지표
실루엣 계수 - 군집내 거리와 군집 간의 거리를 기준으로 군집 분할 성과를 측정하는 방식




다. 비계층적 군집
사전에 군집의 수를 정해주어 대상들이 군집에 할당되도록 하는 것
n개의 개체를 g개의 군집으로 나눌 수 있는 모든 가능한 방법을 점검해 최적화한 군집을 형성하는 것
K-Means Clustering (반드시 출제)
주어진 군집수 k에 대해서 군집 내 거리제곱합의 합을 최소화하는 것을 목적으로 한다.
즉, 군집 내 거리제곱합의 합이 얼마나 군집화가 잘 되었는지를 알려주는 척도
원하는 군집개수, 초기값 정해 seed 중심으로 군집형성→각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류→각 군집의 seed값 다시 계산→모든 개체가 군집으로 할당될 때까지 반복
k-평균법은 한 개체가 속해있던 군집에서 다른 군집으로 이동해 재배치 가능. 초기값에 의존. 군집의 초기값 선택이 최종 군집 선택에 영향 미침. 몇 가지 초기값 선택 후 결과 비교하는게 용이
장점 : 알고리즘 단순, 빠름, 계층적 군집보다 많은 양의 자료를 처리
주어진 데이터 내부구조에 대한 사전 정보 없이 의미 있는 자료구조를 찾을 수 있음
다양한 형태의 데이터에 적용이 가능
분석 방법의 적용이 용이
단점 : 잡음이나 이상값에 영향을 받음, 계층적 군집과는 달리 사전에 군집의 수를 지정
군집수 k가 원 데이터 구조에 적합하지 않으면 좋은 결과를 얻을 수 없다
가중치와 거리정의가 어려움
초기 군집수를 결정하기 어려움
사전에 주어진 목적이 없으므로 결과 해석이 어려움
최신 군집분석 기법들의 적용
K-means
|
일반적으로 K-means사용할 경우 최적 k값의 정확도에 많은 영향
데이터 학습 시 일정한 변화를 줘서 정확도가 어떻게 변하는지 보면 됨
|
PAM(Partitioning Around Medoids)
|
좀 더 탄탄한(robust) K-means
결측값 허요. 프로파일링 시 실제 관측값으로 표현
대용량 데이터 처리 시간 급상승하는 단접
|
Fuzzy Clustering
|
숫자변수만 가능하고 NA 허용 됨
k개의 cluster가 생성되는데 개수는 관측값/2 개까지 가능
|
기타
|
overall cluster.R, Hierarchical Clustering, Density-based Clustering
|

라. 혼합분포군집
모형기반의 군집방법으로 데이터가 k개의 모수적 모형의 가중합으로 표현되는 모집단 모형으로 나왔다는 가정하에서, 모수와 함께 가중치를 자료로부터 추정하는 것이다. k개의 모형은 군집을 의미하고, 추정된 k개의 모형 중 어느 모형으로부터 나왔을 확률이 높은지에 따라 군집을 분류하게 된다. 혼합모형에서의 모수와 가중치의 추정, 최대 가능도 추정에는 EM알고리즘을 사용한다.
장점 : 확률분포를 도입하여 군집을 수행하는 모형기반 군집방법으로 군집을 몇개의 모수로 표현할 수 있고, 서로 다른 크기나 모양의 군집을 찾을 수 있다.
단점 : EM알고리즘을 통한 모수추정에서 시간이 걸리고, 군집 크기가 작으면 추정도가 저하되어 어렵다. 또한 이상값에 민감하여 사전에 제거해줘야 한다.
마. EM알고리즘
E 단계
|
각 집단의 분포는 정규분포를 따른다고 가정하고 각 자료가 어느 집단에서 나오는지 안다면 해당 모수추정은 어렵지 않다. 그러나 각 자료가 어느 집단에서 나오는지 모르기에 잠재변수의 개념을 도입하게 된다. 잠재변수가 Z일 때, 모수 초기값이 주어져 있다면(초기분포값을 안다면), 각 자료가 어느 집단으로부터 나올 확률이 높은지에 대해 추정할 수 있다.
|
M 단계
|
그 다음 각 자료의 X의 조건부 분포로부터 조건부 기대값을 구한다. 관측변수 X와 잠재변수 Z를 포함하는 로그가능도함수에 상수값인 Z의 조건부 기대값을 대입하여, 로그가능도함수를 최대로 하는 모수를 찾는다.
|
바. 자기조직화지도(SOM) (신경망과 비교해서 자주 출제)
자기조직화지도, SOM, Self-Organizing Maps 는 1990, 1995, 1996년도에 코호넨이 개발한 알고리즘이다. 비지도 신경망으로 고차원의 데이터를 저차원의 뉴런으로 정렬하여 지도형태로 형상화하는 것인데, 입력변수의 위치관계를 그대로 보존하는 특징이 있다. 즉, 실제공간의 입력변수가 가까이 있다면 지도상에서 가까운 위치에 존재하는 것이다. 따라서 패턴발견이나 이미지분석에 용이하다.
두 개의 인공신경망 구조로 변수와 동일하게 뉴런수가 존재하며, 자료는 학습을 통해 경쟁층에 (맵) 정렬하게 된다. 입력층은 입력벡터를 받는 층이고, 경쟁층은 2차원 격자구조로 입력벡터의 특성에 따라 벡터가 한 점으로 클러스터링되는 층이다. 또한 입력층의 뉴런들은 경쟁층에 각각의 뉴련과 연결되는 완전연결의 형태를 띤다.
사. SOM 기본 용어


아. SOM의 기능 (중요)
구조탐색(Find structures in data)
- 데이터의 특징을 파악하여 유사 데이터를 Clustering 한다. 고차원의 데이터셋을 저차원인 맵(2D 그리드에 매칭)에 표현 하는 것인데, 이를 통해 SOM은 입력 데이터를 유사한 그룹으로 분류한다.
차원축소(Dimension Reduction) & 시각화(Visualization)
- 차원을 축소하여 통상 2차원 그리드에 매핑하여 인간이 시각적으로 인식할 수 있게 한다.
자. 자기조직화지도(SOM) VS 신경망 모형 (자주 출제)
신경망 모형은 연속적인 layer로 구성된 반면 SOM은 2차원의 그리드로 구성
신경망 모형은 에러 수정을 학습하는 반면에 SOM은 경쟁 학습을 실시
SOM은 비지도학습
차. R에서 SOM 구현을 위한 패키지: kohonen 패키지, som함수
5) 연관분석(Association Analysis) (자주 출제)
가. 연관규칙(Association rule) 개념
항목들 간의 ‘조건-결과(반응)(if A then B)’식으로 표현되는 유용한 패턴을 말한다. 이러한 패턴, 규칙을 발견해내는 것을 연관분석(Association Analysis)이라 하며, 흔히 장바구니 분석(MKT basket analysis), 서열분석(Seq. Analysis)이라고도 한다.
포괄적 개념으로 흔히 기업의 DB에서 상품 구매, 서비스 등 일련의 거래 또는 사건들 간의 규칙을 발견하기 위해 적용
손님 장바구니에 들어있는 품목 간 관계를 알아본다(장바구니 분석)
A를 사고 B도 산다 (연관 분석)
연관분석을 통해 쿠폰 발행, 세트메뉴 구성, 카탈로그 배열 및 교차판매, 공격적 판촉행사 등의 마켓팅 계획, 가까운 곳에 배치 등 의사결정 가능
모든 규칙에 유용하지는 않음
유용한 규칙이 되기 위한 조건
- 두 품목을 동시에 구매한 경우의 수가 일정 수준 이상
- 품목 A를 포함하는 거래 중 품목 B를 구입하는 경우의 수도 일정 수준 이상
나. 연관규칙의 측정 지표 (꼭 출제)
지지도(Support) : 상품 A와 B를 동시에 구매할 확률 P(A∩B)를 나타냄
신뢰도(Confidence) : 상품 A가 구매되었을 때, 상품 B가 구매될 확률, P(B|A)를 나타냄
향상도(Lift) : 상품 A를 구매한 사람이 B를 구매할 확률과 A의 구매와 상관없이 B를 구매할 확률의 비율 P(B|A)/P(B) = P(A∩B)/P(A)P(B)
** 향상도에서 만약 A와 B가 독립이라면 P(A∩B)가 P(A)*P(B) 이므로 Lift=P(A)*P(B)/P(A)*P(B) = 1된다. 즉, A와 B가 관련성이 없다면 LIFT=1이 되고, LIFT>1면 LIFT값이 클수록 관련도가 높다, LIFT <1 면 오히려 A를 구매한 사람은 B를 구매하지 않는다는 결론이 나온다. (매우 중요)
다. 연관분석 절차
Apriori 알고리즘 분석 절차 (중요)
- 최소지지도를 설정
- 개별품목 중에서 최소지지도를 넘는 모든 품목을 찾음
- 찾은 개별 품목만을 이용하여 최소지지도를 넘는 두 가지 품목 집합을 찾음
- 찾은 품목 집합을 결합하여 최소지지도를 넘는 세 가지 품목 집합을 찾음
- 반복적으로 수행하여 최소지지도가 넘는 빈발품목을 찾음
라. 연관분석의 장단점 (중요)
장점
|
결과가 분명하다 (If-then 규칙)
거대 자료 분석의 시작으로 적합하다
변수의 개수가 많은 경우에 쉽게 사용될 수 있다
계산이 용이하다
|
단점
|
품목수의 증가에 따라 계산량이 폭증
자료의 속성에 제한이 있다. 예를 들면, 구매자의 개인정보 중 나이 등의 연속형 변수를 사용할 수 없다.
적절한 품목을 결정하기 어렵다
거래가 드문 품목에 대한 정보를 찾기 어렵다
|
'자격증' 카테고리의 다른 글
GAIQ 구글 애널리틱스 자격증 따는 법 정리된 블로그 (0) | 2023.02.28 |
---|---|
리눅스 마스터 2022년 9월 2일 시험 기출 풀이/ 기출 파일 답안 (0) | 2023.02.27 |
ADSP 1과목 기출문제 정리 (0) | 2023.02.25 |
ADSP 2과목 기출문제 정리 (0) | 2023.02.25 |
ADSP 3과목 기출문제 정리 (1) | 2023.02.25 |