0. R과 R Studio 설치

R 설치: http://cran.r-project.org 

 

The Comprehensive R Archive Network

 

cran.r-project.org

 

R Studio 설치: http://www.rstudio.com 

 

RStudio | Open source & professional software for data science teams

RStudio provides free and open source tools for R and enterprise-ready professional software for data science teams to develop and share their work at scale.

rstudio.com

 

1. 저장할 폴더 지정하기 (Working Directory)

Session 메뉴에서 Set Working Directory > Choose Directory 를 누른 뒤 원하는 폴더를 선택하면 그 폴더에 앞으로 스크립트 등이 저장된다. 그리고 이 작업은 매번 RStudio를 실행할 때마다 해주어야 한다.

 

2. attach( ) & detach( )

attach(변수명) , detach(변수명)

 

원래 R에서 데이터를 이용할 때에는 일일히 데이터명$변수명 형식으로 입력을 해주어야 했다.

예를 들어 student 데이터의 grade 속성의 평균을 구하려면 mean(student$grade) 이렇게 입력해야 하는 것이다.

하지만, attach 함수를 이용하면 student$ 는 입력하지 않고, 그냥 mean(grade) 라고 적을 수 있다.

그리고, attach 함수를 해제하는 함수가 detach() 이다. 

detach를 한 후에는 다시 데이터명$변수명 형식으로 써야한다.

 

이번 예제에서는 Rstudio에서 기본적으로 제공하는 mtcars 데이터를 이용했다.

3. 산포도 plot( )

plot(x) / plot(x, y)

 

plot함수는 기본적으로 값을 점으로 나타내는 산포도를 그리는 함수이다.

변수를 한 개만 넣으면 자동으로 index가 생성된다.

이번 예제에서는 자동차의 연비와 무게의 관계를 보기 위해 무게를 x축으로, 연비를 y축으로 설정했다.

 

 

plot(x, y, type = "l") 과 같이 타입을 적어주면 직선으로 연결된 그래프를 보여준다.

l(line), d(density) 등이 있다.

col = "blue" 와 같이 입력해주면 색을 바꿀 수 있다.

 

type = "o" 는 선과 점을 같이 표현한다.

4. abline( )

abline(a= , b= ) / abline(h= ) / abline(v= )

 

abline은 그래프에 선을 긋는 함수이다.

첫번째 식은 대각선을 긋는 함수이다. y=a+bx 인 직선함수를 넣는 것이다. 따라서 a는 y절편, b는 기울기를 말한다.

두번째 식은 수평선을 긋는 함수이다. h=3 을 넣으면 y=3 직선을 그린다.

세번째 식은 수직선을 긋는 함수이다. v=4 를 넣으면 x=4 직선을 그린다. 

이 식도 col=" " 속성으로 색을 바꿀 수 있다.

 

 

이 예제에서는 abline 안에 lm(mpg~wt) 를 넣었다. 

lm( ) 은 단순회귀분석을 하는 함수이다. 

아래 콘솔에 lm(mpg~wt)를 실행시켜보았더니 intercept가 37.285, wt가 -5.344가 나왔다.

이것은 두 변수가 mpg(y) = 37.285 - 5.344wt 의 관계를 갖는다는 것이다.

 

따라서 이 함수를 abline에 넣으면 위와 같은 직선이 그려진다.

 

그리고 title(" ") 함수는 plot 위에 제목을 붙여주는 함수이다.

 

5. 그래프 PDF로 저장

 

dev( ) 함수는 여러 그래픽 기능을 제어하는 함수이다.

dev.set( )으로 시작하고, dev.off( )로 끝낸다. 사실 dev.set( )은 안해도 된다.

 

plot결과를 pdf로 저장하기 위해 pdf("제목") 함수를 실행한다.

 

그리고 위의 예제와 똑같이 그래프를 그려준 뒤 dev.off( )를 해주면 처음에 지정해준 폴더에 pdf파일이 저장된다.

 

이렇게 파일이 저장된 것을 확인할 수 있다.
pdf파일을 실행하면 이렇게 그래프가 저장된 것을 볼 수 있다.

 

pdf 외에도 이미지 저장 함수로는 win.metafile(), png(), jpeg(), bmp(), tiff(), xfig(), postscript() 가 있다.

5-1. 바로 이미지/PDF로 저장하기 

plot을 만들고 Export를 누르면 다음과 같이 이미지 또는 PDF 파일로 저장할 수 있다.

 

1. 통계적 추론

통계적 추론은 크게 두 가지로 나눌 수 있다.

 

1) 모수적 추론: 모집단을 가정하고, 표본을 이용해 모수를 추론한다.

2) 비모수적 추론: 모집단을 가정하지 않기 때문에 특정 모수에 대해서는 관심을 갖지 않으며, 통계량을 활용하여 추론한다. 

 

또, '베이지안 추론'이 있는데, 이것은 모수가 확률변수라고 가정한 뒤, 모수의 확률분포에 대해 알아본다. 학부 때에는 거의 배우지 않지만 활용도가 매우 높다.

 

통계적 추론은 목적과 방법에 따라 추정과 가설검정으로 나눌 수 있다.

  • 추정: 모수가 얼마인지 (점추정) 또는 모수가 포함되어 있을 것으로 생각되는 구간 (구간추정) 을 확률적으로 찾는 것이다. 
  • 가설검정: 모수에 대한 가설을 세우고, 가설의 옳고 그름을 확률적으로 판정하는 방법이다.

 

2. 점추정

미지의 모수를 표본의 어떤 함수 (통계량) 을 이용해 어떠한 값으로 추정하는 과정이다.

 

방법으로는 적률법, 최대가능도추정법, 최소제곱법 등이 있는데, 이에 대해서는 이후 '수리통계학'에서 다룬다.

 

점추정에는 '직관적인 추정량'을 이용한다.

모수 통계량
모평균 표본평균
모비율 표본비율
모분산 표본분산
모표준편차 표본표준편차

이처럼 통계량을 이용해서 모수를 추정하는 것이다.

 

이때, 추정량과 추정값에 대한 차이를 알아야 한다.

추정량 (estimator)확률 변수로 실험을 진행하기 전, 아직 결정되지 않은 변수를 말한다. 확률분포가 존재한다.

추정량은 대문자를 이용한다. ex) X1, X2, ..., Xn => x̅ (표본평균)

 

추정값 (estimate)실제 관측값으로, 변하지 않는 상수이다. ex) x̅, p, s², s

 

점추정량이 정확히 모수와 일치할 확률은 거의 없다. 대신 구간추정과 가설검정에서의 기준통계량으로 사용된다.

 

3. 구간추정

미지의 모수가 포함되어 있을 것이라고 생각되는 구간을 확률적으로 찾는 방법이다.

 

P(L ≤ θ ≤ U) = 1 - α      => L과 U 찾는 것  (θ = 모평균, 모비율, 분산 등)

 

예를 들어서, θ를 포함할 확률이 95%가 되는 구간을 찾는 것이다. 

이때 100(1 - α)% 는 "신뢰 수준"이라고 하고, [L, U]가 "신뢰 구간"이다.

 

L과 U를 유도하는 데 점추정량이 중심적 역할을 한다.

 

예를 들어보자면,

모평균 μ에 대한 95% 신뢰구간을 구하려 한다.

 

  • 모집단 가정: N(μ, σ²)이고, σ²을 알고있는 경우
  • 표본 추출: X1, X2, ..., Xn ~ iid N(μ, σ2²)
  • μ의 점추정량:  
  • x̅의 통계적 성질: x̅ ~ N(μ, σ² /n)  ->  Z = (x̅ - μ) / (σ² / n) ~ N(0, 1)   #정규분포 따름

 

표본정규분포로부터

0.95 = P( -1.96 < Z < 1.96 )

         P( -1.96 < (x̅ - μ) / (σ / n) < 1.96 )

         P( x̅ - 1.96 · σ / n < μ < x̅ + 1.96 · σ / n )

 

∴ 95% 신뢰구간 = [ x̅ - 1.96 · σ / n, x̅ + 1.96 · σ / n ]

   100(1 - α)% 신뢰구간 = [ x̅ - Z(α/2) · σ / n, x̅ + Z(α/2) · σ / n ]

 

 

 

실제 자료를 통해 신뢰구간을 구했을 때, 

예를 들어 95% 신뢰구간을 구할 때, P(158.78 ≤ μ ≤ 166.62) 이라면 신뢰구간은 [158.78, 166.62]이다.

하지만, 이때 μ가 신뢰구간에 포함될 확률은 0.95가 아니라 0 또는 1이다.

신뢰구간이 [ x̅ - Z(α/2) · σ / n, x̅ + Z(α/2) · σ / n ] 와 같이 확률변수로 표현될 때는 신뢰구간에 포함될 확률이 0.95이겠지만, 실제 자료로 구간을 구하면 그 구간은 "상수"로 표현되기 때문에 상수 μ가 상수 범위에 포함될 확률은 0또는1이 되는 것이다.

그렇다면 실제 데이터를 통해 상수로 표현될 때, 0.95는 무엇을 의미할까.

위의 경우, 한 번 데이터를 뽑아 만든 신뢰구간이 [158.78, 166.62]이다.

그리고 또 다시 데이터를 뽑아서 신뢰구간을 만들 수 있다. 이렇게 데이터를 새로 뽑으면 표본평균()이 바뀐다. 

그래서 새로 데이터를 10000번 뽑아서 신뢰구간을 10000개 구했을 때, 그 중 9500번 정도에 모평균μ가 포함된다는 의미이다.

 

4. 가설 검정

가설을 설정하고, 그에 대한 옳고 그름을 표본으로부터 얻은 정보를 통해 확률적으로 판단하는 방법이다.

 

가설에는 귀무가설과 대립가설이 있다.

대립가설 (H1) 은 표본으로부터 얻은 증거에 의해 우리가 입증하고자 하는 가설이다.

귀무가설 (H0) 은 대립가설의 반대되는 가설로, 검정의 대상이 되는 가설이다.

 

수학의 '귀류법'과 유사하게, 직접 대립가설을 입증하기 어려운 경우가 많기 때문에, 그에 반대되는 가설인 귀무가설이 잘못됨을 입증하여 대립가설을 입증하는 방법을 이용한다. 

 

즉, [정상적인 표본 => 대립가설 참] 을 입증하는 방법이 어렵기 때문에,

[귀무가설 참 => 비정상적인 표본]을 입증하는 방법을 이용하는 것이다.

정상 / 비정상적인 표본을 구분하는 방법은 표본이 발생할 수 있는 가능성을 통해 구분한다. 비정상적인 표본은 자주 발생하지 않는 표본이다. 

이 가능성은 "유의 수준"을 이용해 판단하고 이때 "검정 통계량"을 이용한다.

 

1) 검정 통계량

 

귀무가설을 기각시킬 것인가, 채택할 것인가 결정하기 위해 사용되는 통계량이다.

검정 통계량 유도 방법은 '수리통계학'에서 다룬다.

 

귀무가설 하에서 검정 통계량의 확률 분포를 이용하여 표본의 정상 / 비정상을 판정한다.

비정상 표본은 "기각역"에, 정상적인 표본은 "채택역"에 위치한다.

앞에서 말했듯이 정상, 비정상의 기준은 유의수준으로 결정한다.

 

 

 

예를 들어서, 초코파이를 새로 만든다고 해보자. 기존 파이의 평균 칼로리는 45kcal였고, 가설 검정을 통해 새로운 파이는 기존의 파이보다 칼로리가 낮다는 것을 보이고자 한다. 

이때 대립가설은 H1: μ < 45 이고, 귀무가설은 H0: μ ≥ 45 이다.

그렇다면, 귀무가설과 반대되도록 표본평균 x̅이 45보다 작을수록 비정상 자료라고 할 수 있다.

표본평균이 45보다 작을 경우 귀무가설이 옳지 않음을 보여주는 비정상 자료이기 때문에 귀무가설을 기각시킬 수 있다.

 

2) 오류의 종류

 

결정 // 실제 귀무가설 사실 대립가설 사실
귀무가설 사실 O 제 2종 오류
대립가설 사실 제 1종 오류 O

 

º α = maxP( 제 1종 오류 ) = P( H0 기각 | H0 사실 ) : 제 1종 오류를 범할 확률

α : 유의 수준

귀무가설의 경계값에서 P( 제 1종 오류)가 최대가 된다.

 

º β = 1 - P( 제 2종 오류 ) = 1 - P( H0 채택 | H1 사실 ) : 제 2종 오류를 범할 확률

1 - β = P(H0 기각 | H1 사실) : 검정력  (옳은 결정을 할 확률)

 

앞의 예제와 연결지어서 생각해보자. 추가적으로 파이는 16개를 무작위로 조사하였고, 표준편차가 8인 정규분포를 따른다고 가정하자.

귀무가설은 H0: μ ≥ 45 이고, 대립가설은 H1: μ < 45이지만, 계산을 쉽게 하기위해 저 범위 중 하나로 H0: μ=45, H1: μ=42라고 정하자. μ는 정규분포를 따르기 때문에 각각의 분포를 그려보면 다음과 같다.

 

 

이 경우 x̅가 작을 수록 비정상적인 표본이기 때문에, x̅ ≤ k 일때 귀무가설을 기각한다고 하자.

유의수준 α는 귀무가설이 사실일 때 귀무가설을 기각하는 제 1종 오류를 범할 확률이기 때문에 저 면적(α)의 확률이라고 할 수 있다.

β는 대립가설이 사실일 때 귀무가설을 채택하는 제 2종 오류를 범할 확률이기 때문에 저 면적(β)의 확률이라고 할 수 있다. 

오류를 최소화해야 더 정확한 결과를 낼 수 있기 때문에 α와 β 모두 줄이는 것이 좋지만

저 그래프를 보면 알 수 있듯이 k를 어떻게 움직이든 둘 중 하나가 줄어들면 다른 하나가 커진다.

따라서 하나를 고정시킨 뒤, 나머지 하나를 최소화하는 방법을 이용한다. 보통 유의수준 α를 고정시킨다.

 

α와 β의 값을 각각 구해보자.

α = PH0( x̅ < 43 ) = P( (x̅ - 45) / 8 / √16  < (43-45) / 8 / √16 )

   = P( Z < -1 ) = 0.1587 => 유의 수준

 

μ = 46일 때 => P( x̅ < 43 ) = P( Z < -1.5 ) = 0.0668 < 0.1587 

≫ 귀무가설의 경계값일 때 P( 제 1종 오류 )가 최대

≫ 모든 상황에 적용하기 위해 최대가 될 때의 값을 유의 수준으로 적용한다.

 

β = PH1( x̅ ≥ 43 ) = P( (x̅-42) / 8 / √16 ≥ (43-42) / 8 / √16 )

   = P( Z ≥ 0.5 ) = 0.1915

검정력(Power) = 1 - β = 0.8085

 

이 두 확률을 동시에 작게 하는 가장 좋은 검정 방법은 같은 α 하에서 β를 가장 작게 만드는 방법이다.

 

3) α의 결정

 

"자료가 비정상적이다" 

-> H0이 사실일 때 그러한 자료를 얻을 가증성이 적어야 함

-> α의 값을 작게 설정해야 함

 

일반적으로 α = 0.05, 0.01, 0.1을 많이 사용한다.

위의 예제에서는 k값을 설정하고 그에 따른 α를 구했지만, 사실 보통의 경우에는 α를 결정한 뒤, 그에 따른 k를 결정한다. 그리고 그 k (임계값)에 따라 기각역과 채택역을 구분한다.

 

4) 가설 검정의 순서

 

  1. 귀무가설과 대립가설의 설정
  2. 검정 통계량 설정
  3. 유의 수준 설정
  4. 기각역 계산
  5. 판정 (통계량이 어느 범위에 존재하는지)

 

5) 모평균의 검정

 

  • 가정: X1, X2, ..., Xn ~ iid N( μ, σ²)이고, σ²이 알려진 경우

  • 가설: H0: μ = μ0  vs  H1: (a) μ > μ0, (b) μ > μ0, (c) μ ≠ μ0

  • x̅ ~ N( μ, σ2²/n ) => 검정 통계량: Z = (x̅ - μ0) / (σ / n) ~ N( 0, 1 ) 

  • 유의 수준을 α라고 하면, 기각역은 (a) Z0 > Zα, (b) Z0 < -Zα, (c) |Z0| > Z(α/2)

 

 

 

예를 들어보자. 기존 치료법의 치료기간은 평균 15일이고 표준편차가 3일인데, 새로운 치료법은 치료기간을 단축시킨다는 의료진의 주장을 확인하고자 한다. 새로운 치료법에 의한 치료기간도 표준편차가 3인 정규분포를 따른다고 가정하자.

  • 가설: H0: μ = 15  vs  H1: μ < 15
  • 검정 통계량: Z = ((x̅-15) / 3 / √n) ~ N( 0, 1 )
  • 유의 수준: α = 0.05 => 기각역: Z < -1.645 (표준정규분포표 참고)
  • 36명의 환자 임의 추출 & 실험 결과 

x̅ = 14 => Z0 = (14-15) / 3 / √36 = -2    (x̅ = 14는 대립가설 범위 내의 한 값)

=> 기각역 안에 존재 -> 귀무가설 기각 -> 치료기간 단축 (대립가설) 입증

 

6) 유의 확률 (P-Value, P-값)

 

관측값에 의해 귀무가설을 기각시킬 수 있는 검정법의 최소 유의 수준

 

위의 예제에서는 임계값 Z와 실제 자료를 표준화하여 나온 Z0값을 비교하여 기각역을 설정했다.

하지만, 보통 정규분포를 따르기 때문에 실제 값보다 그 면적을 구해서 비교하는 것이 더 효율적이다.

즉 Z값을 구할 필요가 없다.

그리고 유의 확률이 그 면적을 의미한다. 

 

 

 

· P - Value < α => 귀무가설 기각 (기각역 면적보다 작음)

· P - Value > α => 귀무가설 기각할 수 없음

 

위의 예제에서 P-값은 P( Z ≤ -2) = 0.0228으로 유의 수준인 0.05보다 작기 때문에 귀무가설을 기각할 수 있다.

'Statistics > 기초통계학' 카테고리의 다른 글

[기초통계학] 단일 모집단의 추론  (0) 2021.01.27

+ Recent posts