티스토리 뷰

 

 

 

 

 

ADP & ADsP (데이터분석 전문가&준전문가) 필기

 

데이터 분석 파트는 ADP의 4과목 , ADsP의 3과목에 해당되는 내용입니다.

 

다른 파트에 비해 범위도 넓고, 난이도도 높은 편이라 당락을 결정하는 가장 핵심 파트입니다.


 

ADsP 과목 . 데이터 분석

ADP 과목 Ⅳ. 데이터 분석

 

R 기초

데이터 분석을 위한 R 기초 정리


표본 추출 방법

확률적 추출

1) 단순 무작위추출 (simple random sampling)

2) 계통추출(systematic sampling)

3) 층화추출(stratified sampling)

4) 군집추출(cluster sampling)

 

자료의 종류

명목척도 ex) 성별 

서열척도 ex) 평점

등간척도 ex) 물가지수 -> 절대0점이 존재하지 않음

비율척도 ex) 몸무게  -> 절대0점 존재, 비율계산 가능

 

좋은 추정량의 조건

불편성, 효율성, 충족성, 일관성

 

결측치 (Missing Value)


귀무가설(영가설) : 기존에 받아들여지던 가설

대립가설 : 입증하고자 하는 주장을 담은 가설

 

제1종 오류(α error) : 귀무가설 H0가 옳은 데도 불구하고 H0를 기각하는 오류

제2종 오류(β error) : 귀무가설 H0가 옳지 않은데도 불구하고 H0을 채택하는 오류

 

유의수준 :  제1종오류 확률의 최댓값

 


★ 회귀분석

모형이 유의미한가 F-분포 / p-value

회귀계수들이 유의미한가 t값 / p-value

모형의 설명력 -> 결정계수

 

변수선택 방법

후진제거법

x1 <- seq(1,12)
x2 <- c(2,5,1,2,5,8,9,10,0,-1,3,9)
x3 <- runif(12,0,10)
x4 <- rep(1:3,4) + rnorm(12,0,0.5)
y <- c(5.02, 9.21, 12.79, 2.85, 11.35, 3, 5.69, 0.99, 7.20, -2.12, -1.26, 7.95)
df <- data.frame(x1,x2,x3,x4,y)
summary(lm(y~x1+x2+x3+x4,df))

가장 유의수준이 높은 x2를 제거하고 시도하면

summary(lm(y~x1+x3+x4,df))

그리고 한번 유의수준이 높은 x3를 제거하면

위와 같이 P값이 조금 높아졌다. 하지만 결정계수값은 낮기 때문에 모형의 설명력이 좋다고 볼 순 없다.

 

전진선택법

AIC, BIC는 결정계수처럼 모델의 적합성을 평가하는 지표로 작을수록 좋다.

 

step(lm(y~1,df),scope=list(lower=~1, upper=~x1+x2+x3+x4),direction="forward")

 

종속변수에 영향을 가장 많이 주는 변수부터 추가하고, 추가할 독립변수가 없을 때 중단한다.

 

Mallow's cp


다중공선성

다중공선성은 일부 변수가 다른 변수와 상관되어있을 경우 발생한다. 회귀계수의 분산을 증가시켜 해석을 어렵게 만든다. VIF 값이 10이 넘으면 다중공선성이 존재한다고 본다.

높은 상관계수가 있는 예측변수를 모형에서 제거해야하며, 이 경우 대부분 결정계수 값이 감소한다.

 

릿지(Ridge)회귀 -  L2-norm -> 제곱 패널티

라쏘(Lasso)회귀 -  L1-norm -> 절대값 패널티

엘라스틱넷 -> L1-norm, L2-norm 혼합 사용


상관분석

스피어만 상관분석

- 연속형외에 이산형 서열척도도 가능

- 두 변수간의 비선형적인 관계도 나타낼 수 있음

- ex) 수학 등급와 영어 등급의 상관계수

 

피어슨 상관분석

- 등간, 비율척도, 연속형 변수만 가능

- 비선형적인 상관관계는 X

- ex) 수학점수와 영어점수와의 상관계수

 

 

상관계수는 -1부터 1까지의 값을 가지며, 1에 가까울수록 상관성이 높고, 0에 가까울수록 상관성이 낮다

상관계수 검정

p값이 0.05보다 작으므로 상관관계가 유의하다고 볼 수 있다.

 

SST(총제곱합, 총변동) = SSR(회귀제곱합, 설명된변동) + SSE(오차제곱합, 설명 안 된 변동)

결정계수 $R^{2}=\frac{SSR}{SST}$


다차원 척도법(MDS)

 

x <- cmdscale(eurodist)[,1]
y <- cmdscale(eurodist)[,2]
plot(x,y,type="p",main="eurodist") #n =nothing, l=line, p=point
text(x,y,rownames(cmdscale(eurodist)),cex=.8,col="blue")
abline(v=0, h=0) # vertical, horizon

 


주성분분석(PCA)

총 분산의 비율이 70~90% 정도의 주성분 개수를 선택

kaiser 기준의 경우 고윳값이 1보다 큰 주성분만 선택

Scree plot은 고윳값이 큰 값에서 작은 값의 순서로 정렬

 

proportion of variance 를 보면 첫번째 주성분이 전체 분산의 62%를 설명하고 있음을 알 수 있다.

 

> plot(fit,type="lines")

Scree plot

> biplot(fit)

 

*공통요인분석(CFA) : 자료의 축소 + 데이터의 내재적 속성까지


시계열 예측

정상시계열 (비정상 시계열이라면)

- 시간에 따른 평균값 일정 (차분or 계절차분)

- 시간에 따른 분산값 일정 (자연로그)

- 공분산은 t가 아닌 시차에만 의존

 

자기회귀모형(AR)

현 시점에서 과거 1 시점 이전의 자료에만 영향을 준다면 1차 자기회귀모형이라 하며 AR(1) 모형이라 한다.

과거시점의 관측자료의 선형결합

종속변수의 과거

 

이동평균모형(MA)

최근 데이터의 평균(또는 중앙치)를 예측치로 사용, 각 과거치에 동일한 가중치, 오차항의 과거

유한개의 백색잡음의 선형결합

 

자기회귀누적이동모형(ARIMA)

기본적으로 비정상시계열 모형이므로, AR, MA, ARMA 모형으로 정상화할 수 있다.

ARIMA(p,d,q)   p는 AR, q는 MA, d는 차분 회수와 관련이 있다.

 

이동평균법

일정기간별 이동평균을 계산하고 이들의 추세를 통해 다음 기간을 예측하는 방법

지수평활법

모든 시계열 자료를 사용하여 평균을 구하며, 시간의 흐름에 따라 더 많은 가중치를 부여

 

분해시계열

1. 추세요인

2. 계절요인

3. 순환요인

4. 불규칙요인

 

평균이 일정하지 않은 비정상 시계열 자료를 차분한 결과

par(mfcol = c(3,1))
plot(Nile)
Nile.diff1 <- diff(Nile,differences = 1)
plot(Nile.diff1)
Nile.diff2 <- diff(Nile,differences = 2)
plot(Nile.diff2)

계절성을 갖는 데이터에서 계절요인을 제거한 결과

par(mfrow=c(2,1))
plot(ldeaths)
ldeaths.decompose <- decompose(ldeaths)
ldeaths.decompose$seasonal
ldeaths.decompose.adj <- ldeaths-ldeaths.decompose$seasonal
plot(ldeaths.decompose.adj)


정형 데이터마이닝

1. 분류(Classification)

2. 추정(Estimation)

3. 예측(Prediction)

4. 연관분석(Association Analysis)

5. 군집(Clustering)

6. 기술(Description)


분류분석 

로지스틱 회귀모형

1) 범주형 자료 ex) 성공, 실패

2) 오즈 = 성공률/실패율

3) 최대우도측정법


신경망모형

 


★ 의사결정나무 모형

장점

  • 구조가 단순하고 해석이 쉽다
  • 선형성, 정규성, 등분산성 등의 수학적 가정이 불필요한 비모수적 모형이다
  • 계산 비용이 낮아, 빠르게 연산 가능하다
  • 수치형/범주형 모두 가능하다

단점

  • 경계값 부근에서 오차가 크다. (비연속성)
  • 예측변수의 효과를 파악하기 어렵다.

 

1) 분류나무

지니지수, 엔트로피 지수가 작아지는 방향으로 가지분할을 수행

 

지니지수

분류가 A A A B B C C C C 이면

$1-(\frac{3}{9})^{2}-(\frac{2}{9})^{2}-(\frac{4}{9})^{2}=.6419$

 

엔트로피지수

$T=-\sum_{i=1}^{k}{p_{i}log_{2}p_{i}}$

 

2) 회귀나무

F통계량이 커지는 (p값은 작아지는) 방향으로 가지분할을 수행

분산 감소량이 최대화 되는 방향으로 가지분할을 수행


 

앙상블 모형

여러 분류모형의 결과를 종합하는 방식. 각각의 분류기는 상호독립적이고, 오분류율이 50% 이하여야 단일 분류모델보다

더 좋은 예측력을 가질 수 있다.

 

1) 배깅(bagging) - bootstrap aggregating 

- 크기가 같은 표본을 여러 번 단순 임의 복원추출하여 분류기를 생성한 후 결과를 앙상블 하는 방법

 

2) 부스팅

- 분류가 잘못된 데이터에 더 큰 가중치를 주어 표본을 추출한다.

대표적으로 Adaboosting 알고리즘이 있다.

 

3) 랜덤포레스트

- 배깅에 랜덤과정을 추가한 방법


서포트 벡터 머신 (SVM)

- 에러율이 낮다, 해석이 용이하다

- 튜닝 파라미터, 커널 선택에 민감하다

- 이진분류만 다룰 수 있다.

 

나이브-베이즈 분류모형

- 훈련 데이터가 적어도 사용가능하다

- multi-class의 경우에도 쉽고 빠르게 예측가능하다

- 서로 확률적으로 독립이라는 가정을 만족해야한다.

- 훈련데이터에는 없는 경우 확률이 0으로 나타나는 zero frequency가 된다.

 

K-NN (K-Nearest Neighbors)

- 게으른 모델, 사례기반학습

- 데이터의 local structure에 민감


모형평가

1) 홀드아웃방법

70% 훈련데이터, 30% 검증데이터로 분류하여 교차검정을 실시하는 방법

 

2) 교차검증 (대표적으로 K-fold)

K개의 집합으로 나누어 k-1개의 집합을 훈련용으로, 나머지 1개를 검증용으로 사용하며,

이를 K번 반복하여 평균을 내는 방식

 

3) 붓스트랩

- 교차검증과 비슷하나 복원추출을 하기 때문에 데이터가 적은 경우에 적합

 

(1) 오분류표

Precision (정밀도, 정확도) = $\frac{TP}{TP+FP}$

 

Accuracy (정분류율, 정확도) =$\frac{TP+TN}{TP+FP+TN+FN}$

 

Recall (재현율 또는 민감도 Sensitivity 또는 TP Rate) = $\frac{TP}{TP+FN}$

 

오분류율 (FP Rate) = $\frac{FP}{FP+TN}$ = 1- Specificity

 

Specificity (특이도)  = $\frac{TN}{FP+TN}$

 

F1 = $2 *\frac{Precision*Recall}{Precision+Recall}$

 

$F_{\beta }=\frac{(1+\beta ^{2})}{\beta ^{2}} * \frac{Precision*Recall}{Precision+Recall}$

 

코헨(Cohen)의 카파 상관계수(Kappa) 


ROC 그래프

Receiver Operating Characteristic

X축은 FP Ratio (1-특이도)

Y축은 민감도

아래의 면적이 넓을 수록 좋은 모형

이익도표

향상도


군집분석 

계층적 군집

단일연결법 -> 가장 짧은 거리

완전연결법 -> 가장 긴 거리

평균연결법 -> 거리의 평균 (계산량 많음)

중심연결법 -> 가중평균

와드연결법 -> MSE

 

거리

유클리드 거리 : 일반적인 거리

맨해튼 거리 : 격자 형태에서의 거리

민코프스키 거리 : 일반화 q가 2면 유클리드 거리, q가 1이면 맨해튼 거리를 의미

캔버라 거리

체비셰프 거리

코사인 유사도

자카드 계수

 

비계층적 군집

K-mean clustering

장점

알고리즘이 단순 -> 빠름

사전적 정보 없이도 분석 가능

다양한 형태의 데이터에 적용 가능

 

단점

잡음, 이상값에 영향을 받기 쉬움

사전에 군집수를 지정해야한다. 

 

실루엣지표

군집화가 잘 되었는지 평가하는 지표 -> (1에 가까울수록 좋음)

0.5 이상 이면 결과가 타당하다고 볼 수 있다. 

 

혼합 분포 군집

모형기반, EM알고리즘을 이용해 모수와 가중치를 추정

 

SOM (자기조직화지도)

기능 : 구조탐색, 차원축소, 시각화

layer대신 2차원의 grid를 사용, 경쟁학습 알고리즘 사용,

역전파 알고리즘대신 전방패스를 사용하여 속도가 빠름

비지도학습

 

밀도기반군집

임의의 형태의 군집을 찾기 좋음

군집 수를 미리 정할 필요 없음

이상치에 민감하지 않음

eps, minPts 두개의 파라미터만 요구되며, 데이터의 순서에는 민감하지않다.

경계점은 두 군집 모두에 속할 수 있는 단점이 있다.

대표적으로 DBSCAN이 있다.


연관분석

지지도(Support) = $P(A \cap B  )$

 

신뢰도(Confidence) = $\frac{P(A \cap B  )}{P(A)}$

 

향상도(Lift) = $\frac{P(A \cap B  )}{P(A)*P(B)}=\frac{P(B|A)}{P(B)}$

독립일 경우 (연관성이 없을 경우 향상도는 1)

 

장점 - 쉽다, 비목적성 분석

단점 - 계산량 증가비율 높음, 세부화 할때 의미없는 분석결과, 데이터량이 적은 경우 발견 어려움

 

 

Bias-Variance trade off 관계

Variance는 높고, Bias는 낮을 수록 유연하다.


아래부터는 ADP 필기에만 해당하는 범위이며, ADsP에서는 출제범위에 해당하지 않습니다.

 

비정형 데이터 마이닝

 

텍스트 마이닝

기능 : 요약, 분류, 군집, 특성추출

 

R에서는 tm패키지 이용

 

<전처리 및 가공>

1) corpus 생성 <- 정제, 통합, 선택, 변환이 완료된 상태

- tm패키지에서의 문서관리의 기본구조

 

2) tm-map() 함수

 

3) 자연어 처리

제외어 처리, stemming (공통 어간 묶기, stemDocument, stemcompletion 함수 이용)

 

4) TDM 구축

Term-Document Matrix 단어 빈도수 확인

 

<분석 및 시각화>

1) Association

- findAssocs함수 이용가능

- 연관분석 알고리즘 : Apriori, FP-Growth

 

2) 워드클라우드 -> 단어 사용빈도 확인

3) 감성분석 -> 긍,부정 평가

 

SNA (사회연결망분석)

개인과 집단의 관계를 노드와 링크로 모델링해 분석하는 방법론

1) 집합론적 방법

2) 그래프 이론을 이용한 방법

3) 행렬을 이용하는 방법

준연결망(Quasi network)

 

분석기법

중심성(Centrality), 밀도(Density), 중심화(Centralization)

 

중심성 방법

1) 연결정도중심성 : 한 노드에 연결된 노드 수가 많을 수록 연결정도 중심성이 높아진다.

2) 매개중심성 : 매개자 또는 중재자 역할의 정도로 중심성을 측정

3) 근접중심성 : 각 노드 간의 거리를 근거로 중심성을 측정

4) 위세중심성 : 노드에 가중치를 두어 중심성을 측정

 

SNA 해석

  • 이웃한 노드는 서로 관련이 높은 집단
  • 이러한 집단을 커뮤니티라고 한다.
  • 다른 커뮤니티에 연결이 많은 것을 유력자
  • 여러 노드와 연결된 것은 리더
  • 커뮤니티와 커뮤니티의 연결에 사용되는 노드는 브릿지이다.

유력자 > 리더 > 브릿지

커뮤니티 끝단의 노드는 Passive하다.

 


서술형 문항 예시

(1)-①
(1)-②

(가) (1) - ① 을 보고 회귀식을 쓰고, 모형이 통계적으로 유의한지에 대해 설명하시오.

(나) (1) - ① 을 보고 모형의 설명력이 어떠한지 서술하시오.  

(다) (1) - ② 의 그래프를 보고 회귀모형이 적절한지 여부에 대해 설명하시오.

댓글
반응형
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함