본문 바로가기

[ADsP/ADP] 4과목. 데이터 분석

정보수집/데이터분석 2020. 5. 27.

반응형

1장. R기초와 데이터 마트

R

- 통계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경

- 표준 플랫폼(S 언어 기반 : GNU S라고도 함)

- 오픈소스

- 모든 운영체제에서 사용

- 객체지향언어이며 함수형 언어

더보기

- setwd("작업영역") : 작업영역 설정

- help(함수), ?함수, RsiteSearch("함수") : 도움말

- history() : 기록보기

- savehistory(file = "파일명") : 기록 저장

- loadhistory(file = "파일명") : 기록 불러오기

- Ctrl + L : 콘솔 청소

- Ctrl + R : 한 줄 실행

- # : 주석처리

- install.packages("패키지명") : 패키지 설치

- library(패키지) : 패키지 불러오기

- rm() : 삭제

- 변수에 할당할 때는 대입연산자 <-, <<-, =, ->>, ->을 사용할 수 있다.

- mean() : 평균

- max() : 최대값

- min() : 최소값

- median() : 중간값

- sd() : 표준편차

- var() : 분산

- cov() : 공분산

- cor() : 상관계수

- read.csv("파일명", header = T) : csv파일 읽기

- write.csv(데이터프레임, "파일명") : csv 파일로 저장

- nchar("문자") : 문자열 길이

- length(vec) : 벡터의 길이

- paste("문자", "문자") : 문자 연결하기

- substr("대상문자", 시작번호, 끝번호) : 문자열 추출하기

- gsub("대상문자", "대체할문자")

- setwd("작업영역") : 작업영역 설정

- help(함수), ?함수, RsiteSearch("함수") : 도움말

- history() : 기록보기

- savehistory(file = "파일명") : 기록 저장

- loadhistory(file = "파일명") : 기록 불러오기

- Ctrl + L : 콘솔 청소

- Ctrl + R : 한 줄 실행

- # : 주석처리

- install.packages("패키지명") : 패키지 설치

- library(패키지) : 패키지 불러오기

- rm() : 삭제

- 변수에 할당할 때는 대입연산자 <-, <<-, =, ->>, ->을 사용할 수 있다.

- mean() : 평균

- max() : 최대값

- min() : 최소값

- median() : 중간값

- sd() : 표준편차

- var() : 분산

- cov() : 공분산

- cor() : 상관계수

- read.csv("파일명", header = T) : csv파일 읽기

- write.csv(데이터프레임, "파일명") : csv 파일로 저장

- nchar("문자") : 문자열 길이

- length(vec) : 벡터의 길이

- paste("문자", "문자") : 문자 연결하기

- substr("대상문자", 시작번호, 끝번호) : 문자열 추출하기

- gsub("대상문자", "대체할문자")

 

1) reshape 패키지

  - 데이터 재정렬을 수행하되, 원래 데이터가 가지고 있는 모든 정보들을 그대로 유지한다.

  - melt, cast​

2) sqldf : SQL

3) plyr : 데이터를 분리하고 처리한 다음 다시 결합

  - 열 = 입력되는 데이터 형태, 행 = 출력되는 데이터 형태

 

 

데이터가공 및 데이터관리

1. 변수의 구간화

1) binning : 연속형 변수를 범주형 변수로 변환하기 위해 데이터의 의미를 파악하면서 구간을 축소

 

 

2) 의사결정나무 : 모형을 이용해 연속형변수를 범주형 변수로 변환

2. 결측값 처리

1) 데이터가 없는 경우 : NA, ., 999999999, Unknown, Not Answer 등

2) 단순대치법

  - completes analysis : 삭제

  - 평균대치법 : 평균으로 대치

     ① 비조건부 평균 대치법 : 관측 데이터의 평균으로 대치

     ② 조건부 평균 대치법 : 회귀분석을 통해 데이터를 대치

3) 다중대치법 : 단순 대치법을 m번 실시하여 m개의 가상적 자료를 만들어 대치

3. 이상값 처리

- bad data : 잘못 입력된 값이나 분석 목적에 부합하지 않는 값 삭제

- 이상값 : 극단값

1) 이상값의 인식

  - 평균으로부터 3 표준편차 떨어진 값

  - 기하평균보다 2.5 표준편차 이상 떨어진 값

  - 1사분위와 3분위 값에서 범위보다 2.5배이상 떨어진 값

2) 이상값의 처리

  - 절단(trimming) : 삭제

  - 조정(winsorizing) : 조정


2장. 통계 분석

통계분석의 이해

- 통계 : 결과에 대한 요약된 형태의 표현

1. 자료 획득 방법 : 총조사, 표본조사

- 모집단 : 전체집단

- 표본집단 : 조사를 수행하기 위해 추출한 모집단의 일부

- 모수(parameter) : 표본 관측에 의해 구하고자 하는 모집단에 대한 정보(평균, 분산)

- 통계량 : 모수를 추론하기 위해 구하는 표본의 값들​

 

2. 표본추출 방법

1) 단순랜덤추출법 

  - 각 샘플에 번호를 부여하여 임의의 n개를 추출하는 방법으로 각 샘플은 선택될 확률이 동일

  - 복원, 비복원 추출 / 제비뽑기, 난수표뽑기

 

 

2) 계통추출법

  - 단순랜덤추출법의 변형된 방식으로 번호를 부여한 샘플을 나열하여 k개씩(k=N/n) n개의 구간으로 나누고 첫 구간 (1, 2, ..., k)에서 하나를 임의로 선택한 후에 k개씩 띄어서 표본을 선택, 임의의 위치에서 매 k번째 항목 추출

 

 

3) 집락추출법

  - 군집을 구분하고 군집별로 단순랜덤추출법을 한 후 모든 자료를 활용하거나 샘플링하는 방법

  - 지역표본추출, 다단계표본추출

 

 

4) 층화추출법

  - 이질적인 원소들로 구성된 모집단에서 각 계층을 고루 대표할 수 있도록 표본을 추출하는 방법, 유사한 원소끼리 몇 개의 층으로 나누어 각 층에서 랜덤추출하는 방법

  - 비례층화추출법, 불비례층화추출법

 

 

3. 자료측정

- 명목척도 : 측정 대상이 어느 집단에 속하는지 분류할 때 사용 (성별, 출생지 구분)

- 순서척도 : 측정 대상의 서열관계를 관측하는 척도 (만족도, 선호도, 학년, 신용등급)

- 구간척도 : 측정 대상이 갖고 있는 속성의 양을 측정하는 것으로 구간이나 구간 사이의 간격이 의미가 있는 자료(온도, 지수)

- 비율척도 : 간격(차이)에 대한 비율이 의미를 가지는 자료, 절대적인 기준 0이 존재하고 사칙연산이 가능하며 제일 많은 정보를 가지는 척도

4. 통계분석

- 통계적 추론 : 추정, 가설검정, 예측

- 기술통계 : 평균, 표준편차, 중위수, 최빈값, 그래프의 표현

5. 확률 및 확률분포

1) 확률변수 : 특정값이 나타날 가능성이 확률적으로 주어지는 변수

2) 확률분포

  - 이산형 확률분포 : 베르누이분포, 이항분포, 기하분포, 다항분포, 포아송분포

  - 연속형 확률분포 : 균일분포, 정규분포, 지수분포, t분포, F분포, x2분포

 

[ 추정 및 가설검정 ]

1. 추정 : 표본으로부터 미지의 모수를 추정하는 것

1) 점추정 : 모수가 특정한 값일 것이라고 추정

  - 평균, 표준편차, 중앙값 등을 추정

  - 점추정 조건 : 불편성, 효율성, 일치성, 충족성

2) 구간추정 : 점추정을 보완하기 위해 모수가 특정 구간에 있을 것이라 추정하는 것

  - 모분산을 알거나 대표본 : 표준정규분포 활용

  - 모분산을 모르거나 소표본 : t분포 활용

 

2. 가설검정

- 귀무가설(null hypothesis, H0) : 비교하는 값과 차이가 없다

- 대립가설(alternative hypothesis, H1) : 뚜렷한 증거가 있을 때 주장하는 가설

- p-value : 대립가설을 지지하는 검정통계량이 나올 확률

- 검정통계량 : 검정 시 가설의 진위 판단 기준

- 유의수준 : 귀무가설을 기각(차이가 있다)하게 되는 확률의 크기

- 기각역 : 귀무가설이 옳다는 전제하에서 구한 검정통계량의 분포에서 확률이 유의수준(α)인 부분

사실/가설검정결과

H0이 사실

H1이 사실

H0이 사실

옳은 결정

제1종 오류

H1이 사실

제2종오류

옳은 결정

- 유의수준 ↓ 2종오류↑

- 2종오류가 최소가 되도록 기각역을 설정

 

[ 비모수 검정 ]

- 모집단의 분포에 대한 아무 제약을 가하지 않고 실행하는 검정

- 관측된 자료가 특정분포를 따른다고 가정할 수 없는 경우

- 가정된 분포(모평균, 모분산 등)가 없으므로 "분포의 형태가 동일하다" 또는 "동일하지 않다"라는 식으로 가설 설정

- 관측값의 절대적인 크기에 의존하지 않는 관측값들의 순위나 두 관측값 차이의 부호 등을 이용해 검정

- 부호검정, 윌콕슨의 순위합검정, 윌콕슨의 부호순위합검정, 만-위트니의 U검정, 스피어만의 순위상관계수

 


기초 통계분석

[ 상관분석 ]

- 두 변수 간의 관계파악

- cor(x, y) : x와 y의 상관계수

- rcorr() : 모든 변수들 사이의 상관계수와 함께 p-값 출력

 

 

[ 회귀분석 ]

- 하나나 그 이상의 변수들이 또 다른 변수에 미치는 영향

- 영향을 주는 변수(x) : 설명변수, 독립변수, 예측변수

- 영향을 받는 변수(y) : 반응변수, 종속변수, 결과변수

 

1. 회귀분석에서 검토사항

- 모형이 통계적으로 유의미한지 : F통계량 확인. 유의수준 5% 하에서 F통계량의 p-값이 0.05보다 작으면 통계적으로 유의미하다.

회귀계수들이 유의미한지 : 계수의 t통계량, p-value, 신뢰구간 확인

- 모형의 설명력 : 결정계수를 확인한다. 0~1의 값이며 높은 값을 가질수록 추정된 회귀식의 설명력이 높다. 

- 모형이 데이터를 잘 적합하는지 : 잔차를 그래프로 그리고 회귀진단을 한다.

 

2. 가정

- 선형성 

- 독립성 : 잔차와 독립변수의 값에 관련이 없어야한다.  

- 등분산성 : 독립변수들의 모든 값에 대해 오차들의 분산이 일정하다.

- 비상관성 : 관측치의 잔차들끼리 상관이 없어야한다. 

- 정상성 : 잔차항이 정규분포를 이뤄야한다.

 

3. 최적회귀방정식의 선택

- 모든 가능한 조합의 회귀분석 : AIC / BIC가 가장 작은 값을 갖는 모형

- 단계적 변수 선택 : 전진선택법, 후진제거법, 단계별방법

 

4. R

1) 회귀분석

  > lm(Y ~ x1+x2+x3, data = df)

2) 전진선택법

  > step(lm(Y ~ x1+x2, data = df), scope = list(lower = ~1, upper = ~ x1+x2), direction = "forward")

3) 후진제거법

  > step(lm(Y ~ x1+x2, data = df), scope = list(lower = ~1, upper = ~ x1+x2), direction = "backward")

4) 단계별방법

  > step(lm(Y ~ x1+x2, data = df), scope = list(lower = ~1, upper = ~ x1+x2), direction = "both")

 

 

[ 다차원 척도법 ]

- 여러 대상 간의 거리가 주어져 있을 때, 대상들을 동일한 상대적 거리를 가진 실수공간의 점들로 배치시키는 방법

- 관측치들 간의 전반적 관계에 대한 직관적 이해를 할 수 있게 도와준다.

- 자료들의 상대적 관계를 이해하는 시각화 방법의 근간으로 주로 사용

 

 

[ 주성분 분석 ]

- 고차원의 자료의 변동을 최대한 보존하여 저차원으로 변환

- 자료의 차원을 축약

- princomp(data, cor = True) : 상관계수 행렬을 사용하여 주성분분석

- 스크리 그림 : 주성분의 분산의 크기 그래프

# 주성분 분석
fit <- princomp(data, cor = True)

# 주성분의 결과
summary(fit)

# 관측치를 주성분들로 표현한 값
fit$scores

# 스크리 그림 : 주성분의 분산의 크기 그래프
plot(fit)

# 관측치들을 첫 번째와 두 번째 주성분의 좌표에 그린 그림
biplot(fit)

 

 

[ 시계열 예측 ]

1. 정상성 : 시점에 상관없이 시계열의 특성이 일정하다.

1) 정상성 만족

  - 평균이 일정하다.

  - 분산이 시점에 의존하지 않는다.

  - 공분산은 단지 시차에만 의존하고 시점 자체에는 의존하지 않는다.

2) 정상성 판단

  - 이상점 → 제거

  - 개입 → 회귀분석

  - 추세 : 평균이 일정하지 않은 경우 → 차분 : 현 시점의 자료값에서 전 시점의 자료값을 빼는 것

  - 시간에 따라 분산이 일정하지 않은 경우 → 변환

 

2. 시계열 모형

1) 자기회귀 모형(AR : Autoregressive model)

  - 현 시점의 자료가 p시점 전의 과거 자료로 설명된다.

  - AR(p)

  - 현 시점의 자료의 몇 번째 전까지 영향을 주는지 = p

  - 자기상관함수 : 시차가 증가함에 따라 점차적으로 감소

  - 부분자기상관함수 : p+1시차 이후 급격히 감소하여 절단된 형태

 

2) 이동평균 모형(MA : Moving Average model)

  - 현 시점의 자료를 유한개의 백색잡음(정상시계열)의 선형결합으로 표현

  - MA(q)

  - 정상성 가정이 필요없다.

  - 자기상관함수 : p+1 시차 이후 급격히 감소하여 절단된 형태

  - 부분자기상관함수 : 시차가 증가함에 따라 점차 감소

 

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

  - ARIMA(p, d, q) : 비정상 시계열 모형

  - 차수 p : AR / d : 차분의 횟수 / 차수 q : MA

     ① p = 0이면 IMA(d, q) → d번 차분하면 MA(q)

     ② d = 0이면 ARMA(p, q) → 정상성 만족

     ③ q = 0이면 ARI(p, d) → d번 차분하면 AR(p)

 

4) 분해 시계열

  - 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리하여 분석

  - 추세 요인 : 자료가 어떤 특정한 형태를 취할 때

  - 계절 요인 : 고정된 주기에 따라 자료가 변화할 때

  - 순환 요인 : 알려지지 않은 주기에 따라 자료가 변화할 때

  - 불규칙 요인 : 위 세가지 요인으로 설명할 수 없는 요인

 

 

 

728x90

Comments