안녕하세요. 이번에는 통계분석의 개념을 알아볼 텐데요!
데이터 분석에 앞서서, 통계분석의 개념을 이해하는 것은 중요합니다.
우리가 무엇을 하고 있고, 어떤 방식으로 분석을 할 것인지, 어떤 가설을 세웠는지, 가설이 맞는지 알아야 하기 때문이죠.
그렇다면 시작해볼까요~?
1. 통계학의 정의
통계학이란 관심의 대상에 대한 불확실한 특정 사실의 데이터나 정보를 수집, 정리, 요약하고 과학적인 판단을 할 수 있는
방법을 연구하는 학문입니다. 즉, 자료를 효율적으로 수집하고, 자료를 잘 정리하여 정보로 가공하고, 그 정보로써 가설을 검증하거나 예측하는 것이죠.
2. 통계학의 유형
빅데이터 분석에서는 주로 기술통계, 모수통계, 비모수통계가 많이 사용되고, 추론통계가 사용되는 경우는 드물다고 합니다. 하지만 데이터 분석에서는 주로 사용되죠. 빅데이터가 아니기에 모수를 전체 추정할 수도 없고, 많은 데이터로 상관관계만을 추정하지는 않으니까요. 하지만 제 포스팅은 데이터 분석을 위주로 하고 있다는 점을 알아주셨으면 합니다! 그리고 모수통계에 대해서는 적용 시 언제나 가정조건에 대해 데이터가 조건을 충족시키는지 확인하고 적용을 해야 합니다. (이것은 어떠한 분석이 있으면 그 분석을 하기 위한 가정들이 있는데 그런 것들을 만족하는 지 체크하는 것을 의미합니다. 가정을 만족하지 못한 분석은 잘 한 분석이 아닐 뿐더러 그냥 쓸데 없는 짓을 한 것이죠.)
(1) 기술 통계학 (Descriptive Statistics) : 수집된 자료를 그래프나 표, 몇 가지의 수치로 정리하고 요약하여 자료의 특성 표현.
(2) 추론 통계학 (Inference Statistics) : 실제로 관측된 자료를 이용하여 모집단의 특성에 대하여 추측하는 분석방법이다.
(3) 모수통계학 (Parametric Statistics) : 통상 모집단에 분포를 가정하고 분석하는 방법이다.
(4) 비모수통계학 (Non Parametric Statistics) : 모집단에 대한 가정이 없이 분석하는 방법이다.
3. 기술통계와 추론통계
(1) 기술통계 : 대푯값(평균, 중위수, 최빈수, 등), 산포(분포/왜도/첨도)를 제시하거나 도식화하는 절차로 구성
(2) 추론통계 : 표본의 정보로 모집단을 추측하기 위한 절차로 구성, 모수통계와 비모수통계로 구성되어있다.
4. 모집단과 표본
(1) 모집단(Population) : 통계적인 관심의 대상이 되는 개체의 전체집합. 수집가능한 모든 관측 값. 모집단 구성 개체의 한정여부에
따라서 유한모집단과 무한모집단으로 구분된다.
(2) 모수(Parameter) : 모집단의 특성치를 말한다. 모평균/모분산/모표준편차/모비율 등이 있으며 보통 그리스 문자로 표현.()
(3) 표본(Sample) : 모집단에서 추출된 관측 값의 부분 집합.
(4) 통계량(Statistic) : 표본의 특성치를 말한다. 표본평균/표본분산/표본표준편차/표본비율 등이 있으며 알파벳으로 표현(X, S)
5. 통계분석 기법 개요
5-1. 모수적 통계분석 기법개요
- 중심극한정리(Central Limit Theory)는 많이 들어보셨을 텐데요! 중심극한정리가 통계에서 중요한 역할을 합니다.
보통 관측치가 30개, 즉 n=30이상이면 표본이 충분하다고 보고, 대표본으로 취급합니다.
이에 따라서 나중에 이 표본들이 정규분포를 따르는지 모르더라도 표본이 많으면 정규분포처럼 모양이 비슷해집니다.
따라서 t-test를 사용할 필요가 없게 됩니다. ( 차후에 설명 )
1) 빈도분석 : 변수의 분포특성과 중심치 특성을 파악 / 사분위수 산포도의 평균 분산 범위를 이용
2) 상관분석 : 연속형 두 변수 간의 관계를 상관관계로 분석 / 단순상관분석, 다중상관분석, 부분상관분석
3) 표본평균검증 : 두 집단 간의 평균 값을 비교
ex ) 단일표본T-test(한 모집단에서 추출된 표본 검정), 독립표본T-test(독립 두 모집단에서 추출된 두 표본간의 평균 차이 검정)
Paired T-test(동일 모집단에서 추출된 두 표본 간의 평균차 검정)
4) 세 집단 이상의 평균검정 : 세 집단 이상의 평균 값을 비교 / 단일변량분산분석(ANOVA), 다변량분산분석(MANOVA)
5) 회귀분석 : 인과관계 분석 및 예측 : 선형회귀 - 단순회귀, 중회귀, 다항회귀 / 비선형회귀 - 로짓, 프로빗 / 로지스틱회귀분석
5-2. 비모수적 통계분석 기법개요
- 정규성 검정에서 정규분포를 따른다는 가정이 충족되지 못한 경우, 모집단에 대한 가정이 필요 없으며 질적 자료나 양적 자료 중 명목척도나 순서척도로 측정된 자료를 분석하는 데 사용된다.
1) 적합도 검정 : 단일표본 카이스퀘어 검정 / 단일표본 K-S 검정 / 이항분포 검정
2) 변수 간 상관분석 : 스피어만 순위 상관분석 / 켄달의 상관분석 / 카이제곱분석
6. 통계적 의사결정
통계적 의사결정은 파악된 정보를 기초로 예측이나 의사결정을 하는 과정으로서, 문제를 정확하게 파악하고 있어야 하며, 분석의 목표를 설정하고, 적합한 자료를 수집, 정리, 요약, 분석하여 표본의 특성을 파악하여 모수의 특성을 추정한다.
7. 표본추출
1) 단순랜덤샘플링(Random Sampling) : 복원, 비복원추출 ( 중복의 여부 )
2) 계통샘플링(Systematic Sampling) : 임의 위치에서 매 k번째 항목 추출
3) 층화샘플링(Stratified Random Sampling) : 명확하게 다른 data를 중첩없이 분할하여 샘플링
4) 집락추출(Cluster Sampling) : 군집을 구분하고 군집별로 단순 랜덤 샘플링한 후 모든 자료를 활용하는 방법
표본추출을 R을 이용해서 해볼까요?
#비복원추출과 복원추출
sample(1:100, 5)
[1] 26 58 98 53 96
sample(1:100, 5)
[1] 30 54 87 56 66
sample(1:20, 10, replace=T)
[1] 19 4 8 12 5 8 2 5 18 20
#비복원추출은 sample()함수를 이용하는데요, 1부터 100까지 5개를 무작위로 비복원추출한 것입니다.
#두 번 한 결과 다 다르다는 것을 알 수 있죠? 할 때마다 달라지겠죠~
#replace=T는 복원과 비복원의 구분을 하는 것입니다. 즉 default값이 F라는 것을 알 수있죠. T로 하는 순간 복원추출이 되고,
#5와 8이 중복된 것을 볼 수 있습니다.
#비복원 층화추출
install.packages("sampling")
library(sampling)
data(iris)
#비복원 층화추출을 위해서 sampling이라는 패키지를 설치해야 합니다. 저번에 간단하게 알려드렸던 명령어로 install.packages("")
를 이용하여 install.packages("sampling")이라고 해주시면 CRAN을 고르라고 나와있습니다. 아무거나 골라도 뭐 크게 상관 없지만
CRAN에서 거리가 먼 국가를 사용하거나 그러면 가끔 속도가 늦고 그럴수도 있다고 합니다. 서울을 고르고 싶으시다면 맨 밑에 HTTP://서버에 들어가면 seoul을 고를 수 있습니다. 패키지를 설치하고 나서, 사용하기 위해서는 library(sampling)을 이용해야합니다. 즉 패키지만 깔면 안되고 내가 사용하기 위해서 library()함수를 이용해야 합니다. 그렇게 보고나서, data(iris)를 이용해서 sampling 패키지 안에 있는 iris, 붓꽃에 대한 정보를 이용합니다.
str(iris)
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
#str()함수를 이용해서 구조를 한번 볼까요? Sepal(꽃받침) 길이와 너비, Petal(꽃잎)의 길이와 너비, 그리고 종이 나와있죠.
(본이아니게 네이버 단어장에서 영어공부하고있네요..ㅋㅋ) 이것을 이용해서 비복원층화추출을 해보겠습니다.
#strata라는 함수인데요, 이 함수는 Sampling하는 데에 있어서 사용합니다.
조금 더 알고 싶으시면 ?strata 명령어를 치시면 설명이 나옵니다.
종류들을 기초 데이터로 사용하는것이고요, size는 2,2,2로 되어있는데 종이 3종이라는것을 위의 str(iris)에서 볼 수 있었습니다.
거기서 Species 종류 별로 2개씩을 추출하는 것인데, method는 srswor입니다. ?strata에서 보면,
[simple random sampling without replacement (srswor), simple random sampling with replacement (srswr), Poisson sampling (poisson), systematic sampling (systematic); if "method" is missing, the default method is "srswor".] 라고 나와있습니다. 즉 우리는 단순비복원추출을 하고 있는 것이지요. 그리고 default값도 srswor방식이라는 것을 알 수 있습니다.
a<-strata(c("Species"), size=c(2,2,2), method="srswor", data=iris)
getdata(iris, a)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species ID_unit Prob
8 5.0 3.4 1.5 0.2 setosa 8 0.04
37 5.5 3.5 1.3 0.2 setosa 37 0.04
73 6.3 2.5 4.9 1.5 versicolor 73 0.04
81 5.5 2.4 3.8 1.1 versicolor 81 0.04
123 7.7 2.8 6.7 2.0 virginica 123 0.04
138 6.4 3.1 5.5 1.8 virginica 138 0.04
Stratum
8 1
37 1
73 2
81 2
123 3
138 3
이렇게 결과가 추출되었네요, 복원 추출을 위해서는 "srswor"을 "srswr"로 바꿔주면 되겠죠?
8. 확률변수
(1) 이산확률변수 : 확률변수가 셀 수 있는 값을 취함 (하루 동안의 교통사고 건수, 커피 판매량 등)
(2) 연속확률변수 : 확률변수가 구간 내의 연속적인 값을 취함 (하루 동안 미세먼지 농도, 온도 등)
9. 확률분포
(1) 이산확률분포 : 이산확률변수가 가지는 확률분포, 확률질량함수로 표현.
이산균등분포, 베르누이분포, 이항분포, 포아송분포
(2) 연속확률분포 : 연속 확률변수가 가지는 분포, 확률밀도함수로 표현.
정규분포, 연속균등분포, 카이제곱분포, 감마분포
# 여기서 나오는 분포가 다 뭐지 정확하게 모르겠는데~ 하시면 그냥 그렇구나 하고 넘어가세요. 저도 다 모릅니다! 앞으로 내용을 하는데에는 천천히 알아가시면 되요~
여기서 정규분포에 대해 R에서 몇가지 다뤄보도록 하겠습니다.
#확률 계산
#평균이 0이고 표준편차가 1인 표준정규분포에서 X<=0 확률
pnorm(0, mean=0, sd=1)
[1] 0.5
#표준정규분포에서 누적확률이 0.9인 x
qnorm(0.9, 0, 1)
[1] 1.281552
#표준정규분포에서 누적확률이 0.95인 x
qnorm(0.99, 0, 1)
[1] 2.326348
#확률밀도함수 : 표준정규분포 확률밀도함수에서 x=0의 확률
dnorm(0, 0, 1)
[1] 0.3989423
#표준정규분포 그리기
plot(density(rnorm(100000, 0.1)))
# 요렇게 해볼 수 있습니다. 사실 뭐 그렇게 자주 쓸 명령어는 아니라고 생각합니다 ^^
오늘은 통계분석의 개념에 대해서 알아보았고 간단한 R 명령어를 통해 표본추출에 대해서도 해봤는데요~
다음 시간에는 추정과 검정의 개념에 대해서 알아보도록 하겠습니다.
'## 오래된 게시글 (미관리) ## > R' 카테고리의 다른 글
11. R을 이용한 추정과 검정 (0) | 2018.11.20 |
---|---|
10. 추정과 검정 (0) | 2018.11.20 |
+ R명령어 조금 더 알아보기 (0) | 2018.11.20 |
7. airquality 데이터를 이용한 데이터변환 (0) | 2018.11.20 |
6. R 행렬구조 (0) | 2018.11.20 |