확률분포(6): 베타분포

베르누이분포나 이항분포처럼 성공과 실패의 이항 선택을 다루는 확률분포로 베타분포(Beta distribution)가 있다. 베르누이와 이항 분포에서는 성공의 횟수가 확률변수인데, 베타분포에서는 성공의 비율이 확률변수이다.

베타분포에 관한 직관적인 사례로는  야구선수의 타율이 있다. 타석 중 안타의 비율이 타율이다.

타자의 시즌 타율을 예측하는 문제를 생각해 보자. 시즌 초반에 어떤 타자의 시즌 타율을 예측하는데는 두 가지 방법이 있을 것이다. 그 타자가 상당히 유망한 타자라고 하자.

첫째, 시즌 초기의 몇 게임에서 얻은 타율을 가지고 시즌 타율을 예측하는 방법이 있다. 전혀 타당성이 없는 방법은 아니다. 그런데 만약 그 선수가 시즌 초반에 슬럼프에 빠져 있어 몇 게임 동안 안타를 전혀 치지 못했다면, 그 때까지 그 선수의 타율은 0.00일 것이고, 그의 시즌 타율은 0.00으로 예측된다. 반대로 시즌 초반에 잘 맞아서 몇 게임 동안 그 선수의 타율이 0.70이라면, 그의 시즌 타율은 0.70으로 예측된다. 이 두 가지 경우 모두 극단적인 예측이 되고, 실제로 들어맞을 가능성이 희박하다.

둘째, 전년도 타율에 관한 정보를 이용하는 방법이다. 실제적으로 프로야구에서 유능한 타자라면 시즌 타율이 최소한 2할대는 넘을 것이고 반대로 아무리 유능하다고 해도 통상 4할대가 넘지는 않는다. 이러한 현실을 반영하여 시즌 타율을 예측하는 방법은 선행 시즌의 타율과 시즌 초반의 성적을 모두 반영하는 것이다. 시즌 초반에 타율이 낮거나 높으면 그것을 전년도 타율이나 선수의 총 평균 타율에 적절히 반영하여 조정하면 훨씬 합리적으로 해당 시즌의 타율을 예측할 수 있을 것이다. 이것을 가능하게 해주는 것이 베이즈 추론이다. 베타분포는 베이즈 추론에서 널리 사용된다.

베타 분포는 비율이나 백분율(%)로 된 확률 변수를 예측하는데 유용한 확률모형이다. 베타 분포는 간단히 다음과 같이 표기한다.

베타분포는 PDF나 모멘트의 도출 과정이 좀 복잡하므로 먼저 베타 분포의 특징부터 알아보자.

첫째, 기본적인 베타분포는 확률변수가 0과 1 사이의 실수값을 갖는다(). 확률이나 백분율이 바로 그러한 경우이다. 아래 그림은 여러가지 형태의 베타분포를 보여준다. 그런데 X 축이 0과 1 사이로 되어 있음을 볼 수 있다.

Probability density function for the Beta distribution

둘째, PDF의 모양이 두 개의 모수 에 의해 결정된다. 이 모수를 하이퍼 퍼라미터(hyper-parameter)라고 부른다. 위 그래프에서 , 가 둘 다 0.5이면, 붉은색 선 그래프가 되고, 이면 청색 선 그래프, 이면, 녹색 선 그래프이다. 는 그래프의 모양을 결정짓는 형상 모수(shape parameter)이다.베타분포는 형상 모수의 값만 바꾸면 매우 다양한 모습의 확률 모형을 나타낼 수 있는 장점이 있다. 그것은 그만큼 적용성이 높음을 시사한다.

베타분포의 PDF는 확률변수 X(성공 비율)와 그것의 반사(reflection)인 (1 – X)(실패 비율)의 멱함수(거듭제곱 함수, power-law function)로 다음과 같이 정의된다.

여기서

형상 모수 는 양의 실수이고, 베타함수 는 확률분포의 총 확률(적분 값)을 1로 만들어 주는 정규화 상수(normalization constant)이다.

베타함수는 감마함수를 사용하여 나타낼 수도 있다.  이 식이 적분으로 나타낸 것보다 계산을 간편하게 할 수  있다. 베타함수 값은 각 형상모수의 감마 함수(Gamma function)를 두 형상모수의 합의 감마 함수로 나눈 값이다.  감마 함수는 계승(factorial)을 실수 및 복소수로까지 확장한 것이다.

베타분포의 모멘트는 다음과 같다.

그런데, 는 어떻게 해석될 수 있을까? 그 모수들은 성공횟수와 실패횟수를 나타낸다고 생각할 수 있다. 이항분포의 지수[]처럼  (혹은 )는 성공 횟수, (혹은 )는 실패 횟수로 간주될 수 있다.

예컨대 만약 성공할 지 실패할 지를 전혀 예측할 수 없으면 균일분포로 놓으면 될 것이다. 이면 베타분포는 균일분포가 된다. 아래 그림은 0과 1 사이의 무작위 값 1천 개를 구해서 그린 베타분포의 확률밀도함수들이다(엑셀에서 수행한 시뮬레이션 자료는 링크를 참조). 진한 파랑색 선이 균일분포를 나타내는 베타분포이다.

성공횟수와 실패횟수가 각각 1, 1이라면, 성공률은 0.5, 실패율도 0.5일 것이다. 성공과 실패라는 두 가지 경우만 있는 어떤 현상이 있고, 우리가 그 현상에 대해 아무런 사전 정보도 없다면, 어떤 결과가 나올 지 예측할 수 없다. 베타분포 혹은 균일분포는 이러한 이러한 상황을 의미한다.

만약 다음 실험에서 성공이 나왔다면, 퍼라미터가 인 베타분포가 될 것이다. 그림에서 그것의 확률밀도함수는 주황색 사선이다. 성공률 기대값은 2/3 = 0.6666…이다. 성공률의 기대값이 0.5에서 0.67로 약간 상승했다.

만약 그 다음 실험에서도 성공이 나왔다면, 퍼라미터가  인 베타분포가 될 것이며, 그림에서 그것의 확률밀도함수는 회색 선이다. 성공률의 기대값은 3/4 = 0.75이다. 당연히 성공률의 기대값이 또 상승했다.

그 다음 실험에서 실패가 나왔다면, 퍼라미터가  인 베타분포가 될 것이며, 그림에서 그것의 확률밀도함수는 노란색 선이다. 확률밀도함수의 오른쪽 끝 부분이 아래로 내려갔다. 당연히 성공률의 기대값이 하락했을 것이다. 실제로 성공률의기대값이 3/5 = 0.6로 다소 떨어졌다.

그 다음 실험에서 또 실패가 나왔다면, 퍼라미터가 인 베타분포가 될 것이며, 그림에서 그것의 확률밀도함수는 옅은 파랑색 선이다. 그래프의 중심이 더 왼쪽으로 이동했음을 알 수 있다. 성공률의 기대값이 더 하락했음을 나타낸다. 실제로 성공률의 기대값은 3/6 = 0.5로 더 떨어졌다.

그러한 실험을 11번 했는데, 성공이 10번이고 실패가 1번이라면, 퍼라미터가  인 베타분포가 될 것이다. 그림에서 그것의 확률밀도함수는 연두색 선으로 오른쪽 끝 부분이 가파르게 상승하고 있다. 성공률의 기대값이 상당히 큼을 시사한다. 실제로 성공률의 기대값은 10/11 =0.9090…로 매우 높다.

그런 실험을 17번 했는데, 성공이 10번이고 실패가 7번이라면, 퍼라미터가 인 베타분포가 될 것이다. 그림에서 진한 파랑색 선이다.무게중심이앞으로 그래프에 비해 왼쪽으로 많이 내려갔다.실제로성공률의기대값은10/17=0.5882로 성공률의 기대값이 크게 내려갔다.열번 성공한 후에 내리 일곱번 실패했다면 성공률의 기대값이 크게 떨어져도 전혀 놀라운 일이 아니다.

끝으로 다른 실험 하나.

어떤 온라인 쇼핑 사이트의 고객 평가는 ‘좋음’과 ‘나쁨’ 두 가지 선택만으로 되어 있다. 그런데 500명이 평가에 참여해서, 400명이 좋음을 선택했고, 100명이 나쁨을 선택했다고 하자. 그렇다면 이 사이트의 성공률의 기대값(평균 성공률)은 얼마일까?

위 식 (2)를 이용해서 계산하면, 400/500 = 0.8이다. 성공률(좋음으로 평가받을 가능성)은 0.8이다. 그림에서 진한 빨강색 선이 이 실험 결과를 나타내는 확률밀도함수이다. 그것은 인 베타분포이다. 그래프를 보면 0.8을 중심으로 사건이 집중적으로 분포되어 있음을 알 수 있다. 이는 같은 성공률 일지라도 10번에 8번 성공했을 때보다 500번중 400번 성공했을 때 성공률의 기대값 0.8에 대해 더 크게 확신할 수있음을 시사한다. 다시 말해 성공률이 0.8을 크게 벗어날 가능성이 없다는 말이다.

예제 1) 한 온라인 쇼핑몰에는 고객이 판매 상품에 대한 좋음과 나쁨 두 가지 평가할 수 있다. 그런데 어떤 제품에 대해 현재까지 400개의 좋음과 100개의 나쁨 평가를 받았다. 그렇다면, 이 제품이 고객들로부터 좋음을 받을 확률이 0.85 이상일 확률은?

(해제) 을 대입해서 엑셀의 베타함수 BETA.DIST를 이용한다.

BETA.DIST(0.85, 400, 100, TRUE)를 계산하면, 0.998568이다. 이는 0.85까지의 누적확률분포의 값이므로, 0.85 이상일 확률을 구하면, 1 – 0.998568 = 0.001432가 된다.

(2020-09-18)

확률분포(5): 지수분포

연속확률분포에서 두 번째로 지수확률분포에 대해 알아보자. 지수분포는 이산확률분포에서 공부한 포아송분포와 관련이 깊다. 그래서 포아송분포에 대한 복습 겸해서 지수분포를 두 번째로 선택했다.

포아송분포는 시간 구간 당 혹은 공간 구간 당 사건의 발생횟수에 대한 확률분포이며 일정성 조건과 독립성 조건을 갖는다고 했다. 그리고 포아송 분포의 퍼라미터는 이며, PDF는 아래와 같다. 는 구간당 발생횟수의 기대값(평균)이다.

아래와 같은 사례에 포아송분포가 적용될 수 있다.

  • 하루동안 발생하는 고속도로 교통사고 수
  • 하루에 찾아오는 환자의 수
  • 한 시간 동안 세차장에 도착하는 자동차의 수
  • 어떤 특정 진도 이상의 지진이 발생하는 수
  • 한 시간 내 스타박스의 드라이브스루 창구에 도착하는 자동차의 수
  • 일정 시간 동안 톨게이트를 통과하는 차량의 수
  • 한 시간 동안 사무실에 걸려온 전화의 수
  • 국도 1km 당 패인 구멍의 수
  • 단위 길이당 옷감의 흠집수

모두 확률변수가  시간 구간 혹은 공간 구간 당 사건의 발생 횟수이다. 그런데 지수분포는 사건이 발생하는 시간 간격 혹은 거리 간격이다. 사건의 발생 횟수는 0과 양의 정수이지만, 사건이 발생하는 시간이나 시간 간격은 0과 양의 실수가 될 것이다. 때문에 포아송 분포는 이산확률분포이고, 지수분포는 연속확률분포이다. 위에서 든 포아송 분포의 확률변수를 지수분포의 확률변수로 바꾸면 다음과 같다.

  • 고속도로 교통사고가 발생하는 시간 간격
  • 환자가 찾아오는 시간 간격
  • 세차장에 자동차가 도착하는 시간 간격
  • 어떤 특정 진도 이상의 지진이 발생하는 시간 간격
  • 어떤 특정량의 방사선을 DNA에 쬐었을 때 돌연변이가 발생하는 시간 간격
  • 스타박스의 드라이브스루 창구에 자동차가 도착하는 시간 간격
  • 차량이 톨게이트를 통과하는 시간 간격
  • 사무실에 전화가 걸려오는 시간 간격
  • 국도에 패인 구멍 사이의 거리 간격
  • 옷감의 흠집 사이의 거리 간격

확률변수 X가 지수(확률)분포를 따르면 다음과 같이 간략히 표기된다.

퍼라미터는 하나이다. 포아송 분포와 같다. 지수분포를 그래프로 나타내면 다음과 같다.

File:Exponential probability density.svg
By Skbkekas – Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=9508326

의 크기에 따라 PDF의 모습이 달라짐을 볼 수 있다. 가 작을수록 X 값이 증가할 때 확률밀도의 감소가 완만해진다.

확률변수 X의 지수분포는 다음과 같이 정의된다.

여기서 는 포아송 분포에서와 동일하게 단위 시간 당 평균발생횟수이다. , 는 시간 간격다. 지수분포의 모멘트는 아래와 같다.

지수확률함수 (2)를 가지고 X의 특정 구간에 대한 확률을 구하려면, 적분을 해야 하는 데 번거로운 과정을 생략하고 아래 누적확률함수(cumulative distributive function, CDF)를 사용하면 된다. CDF는 의 값을 준다. 즉, 확률변수 X가 어떤 특정한 값() 이내일(같거나 작을) 확률을 준다. CDF를 응용하면 확률변수 X가 어떤 값 이상일(같거나 클) 확률, 혹은 어떤 두 값 사이에 있을 확률을 모두 간단한 계산으로 구할 수 있다.

File:Exponential cdf.svg

By Skbkekas – Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=9508326

가 작으면, 확률변수 X 값이 증가함에 따라 값의 증가가 서서히 이루어짐을 볼 수 있다.

예제 1) 보스턴 소방서는 한 시간 당 평균 1.6번의 911 전화를 받는다. 시간당 전화수가 포아송 확률분포를 따른다고 가정하자.

1) 보스턴 소방서에 911 전화가 걸려오는 평균 시간 간격은?(단위:분)

2) 911 호출 사이의 간격이 한 시간 이내일 확률은?

3) 911 호출 사이의 간격이 30분 이내일 확률은?

4)  911 호출 사이의 간격이 5분 이상이면서 20분 이내일 확률은?

해제) 포아송 분포의 퍼라미터 가 1.6이다.

문제 1) 전화가 걸려오는 평균 시간 간격은

문제 2) 호출 사이의 간격이 한 시간 이내일 확률은?

문제 3) 호출 시간의 간격이 30분 이내일 확률은?

이 문제는 지수분포 PDF에서 에 해당되는 면적을 구하는 것이다. 아래 그림에서 주황색 부분의 면적이 이에 해당된다.

문제 4) 호출 시간의 간격이 5분 이상 20분 이내일 확률은?

여기서는 계산을 간략히 하기 위해 분으로 간격을 표시했기 때문에 람다 값이 0.0267이다. 1.6/60 = 0.0267.이 문제는  지수분포 PDF의 에 해당되는 면적을 구하는 것이다. 아래 그래프에서 주황색 부분이다.

예제 2) 어느 세차장에 들어오는 자동차가 한 시간에 평균 10대이다. 자동차가 들어오는 시간 간격이 5분 이하일 확률은?

해제) 시간 당 자동차가 들어오는 댓수는 포아송분포이고, 자동차가 들어오는 시간 간격은 지수분포이다. 여기서는 시간 간격을 물으니 지수분포가 적용된다. 문제에 람다가 시간 단위로 되어 있는데, 확률은 분 단위로 구해야 하기 때문에 람다 값의 환산이 필요하다. 환산하면 1분당 평균 0.1667 대가 세차장에 들어온다.

식 (5)에 을 대입하면,

지수함수는 엑셀에서 EXPON.DIST 함수로 계산할 수 있다. 이 문제의 경우 누적 확률 함수로 계산하면 되기 때문에 세 번째 퍼라미터가 TRUE로 선택되었다. 아래 그림을 참고하기 바란다.

예제 3) 어떤 사거리에 다음 차가 도착하기까지 걸리는 시간이 평균 12초의 지수확률분포를 따른다.

1) 지수확률분포의 그래프를 그리시오.

2) 다음 차가 도착하는데 걸리는 시간이 12초 이하일 확률은?

3) 다음 차가 도착하는데 걸리는 시간이  6초 이하일 확률은?

4) 다음 차가 도착하는데 걸리는 시간이 30초 이상일 확률은?

해제) 문제에서 주어진 정보가 차량 댓수()가 아니라 시간 간격()이다.  람다와 뮤의 관계는 아래와 같으므로 쉽게 변환된다. 엑셀에서는 포아송분포와 지수분포 모두 를 사용하므로, 엑셀을 사용해서 계산하려면 정보가 로 주어지면 로 변환해 주어야 한다.

문제 1) 엑셀을 가지고 그래프를 그려보자. 먼저 람다를 구한다. 그 다음 를 중심으로 X 값을 20-30개 정도 만든다. EXPON.DIST를 이용해서 f(X) 값을 구한다. ‘삽입’ 기능을 이용해 선(line) 차트를 플롯한다.

문제 2) 누적함수[식 (5)]를 적용해서 값을 계산한다.

엑셀에서도 동일한 값을 얻을 수 있다.

문제 3)

문제 4)

예제 4) 컴캐스트(Comcast)는 미국의 통신 회사이다. 고객에게 서비스 중단이 발생하면, 고객센터가 고장 신고를 받고 회사는 녹음된 메시지를 통해 서비스 중단 사실을 인지하고 있으며 서비스가 두 시간 이내로 복구될 것으로 예상한다고 알린다. 수리 시간은 지수확률분포를 따르며, 평균은 두 시간이라고 가정하자.

1) 케이블 서비스가 한 시간 이내로 수리될 확률은?

2) 수리가 한 시간에서 두 시간이 걸릴 확률은?

3) 오후 1시에 고객센터에 전화를 한 고객에게, 케이블 서비스가 오후 5시까지 수리되지 않을 확률은?

해제) 문제에서 주어진 정보가 가 아니라 이다. 로 변환하면, .

문제 1)

문제 2)

문제 3)

예제 5) 명동의 한 테이크 아웃 식당은 25분에 음식을 사갈 수 있다고 광고합니다. 고객이 가지고 갈 수 있도록 테이크 아웃 음식을 준비하는데 평균 25분인 지수확률분포를 따른다고 가정하자.

1) 테이크 아웃 주문이 20분 이내 준비될 확률은?

2) 고객이 주문하고 30분 후에 도착했을 때, 주문이 준비되지 않을 확률은?

3) 한 고객이 그 식당에서 15분 거리에 산다. 이 고객이 오후 5시 20분에 전화 주문을 한다면, 식당에 가서 주문한 음식을 테이크 아웃하여 오후 6시까지 집에 돌아올 수 있는 확률은?

해제) 이 문제에도 주어진 정보는 가 아니라 이다. 로변환하면, .

문제 1)

문제 2)

문제 3) 5시 20분 고객의 주문을 받자마자 음식을 준비하여 15분 후 고객이 식당에 도착할 때까지 테이크 아웃 음식 준비를 마치면, 고객은 5시 50분이면 집에 돌아올 수 있다. 그렇다면  6시까지 돌아오면 되니 식당은 25분 안에 음식 내보낼 준비를 마치면 된다. 결국 주문이 25분 이내에 준비될 확률을 묻는 문제이다.

이상으로 지수분포에 대한 설명을 마친다. 지수분포가 포아송분포와 긴밀하게 연관되어 있으며, 포아송분포는 단위 시간 당 발생횟수에 관한 확률분포이고, 지수분포는 시간 간격(혹은 걸리는 시간)에 관한 확률분포임을 기억해 두자. 또한 균일분포에 이어서 지수분포도 연속확률분포의 확률은 그래프 아래의 면적임을 보여주었다. (2020-09-02)

확률분포(4): 균일 분포

확률변수 X가 이산적(discrete)이냐 아니면 연속적(continuous)이냐에 따라 이산확률분포와 연속확률분포로 나뉜다. 이산적이란 {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5}와 같이 X가 딱딱 떨어지는 것을 말하고, 연속적이란 X가 0과 5 사이의 실수와 같이 어떤 수들 사이에 무한 많은 수가 존재하는 것을 말한다.

이 두 가지 유형의 확률분포가 구별되는 가장 큰 차이는 PDF(확률함수)가, X가 유한하기 때문에 특정 값의 X에 대해 확률을 부여하는가, 아니면 X가 무한하기 때문에 X의 일정 구간에 대해 확률을 부여하는가이다. 확률변수가 유한하면 이산확률분포가 적용되고, 확률변수가 무한하면 연속확률분포가 적용된다.

이산확률분포에 관해서는 앞에서 이항분포, 포아송분포, 초기하분포에 관한 학습을 통해 충분히 익숙해졌으라 생각한다. 그 분포들에서는 확률변수 X가 특정한 값을 가질 때의 확률 값을 계산할 수 있었다.

연속확률분포에서는 확률변수 X가 실수(real number)처럼 소숫점 이하까지 나올 수 있기 때문에 이산확률분포와 같은 접근이 불가능하다. 몸무게, 키, 평균 성적 등을 상상해 보면 될 것이다. 그래서 연속확률분포에서는 특정한 X 값에 대한 확률은 항상 0으로 간주된다. 오직 X의 일정 구간에 대한 확률만이 존재한다. 예컨대 어떤 학생의 평균 성적이 90.5점일 확률은 0이다. 평균 성적에 대한 확률은 “어떤 학생의 평균 성적이 90점과 100점 사이일 확률이 얼마인가”와 같이 물어야 한다.

연속확률분포에서는 균일분포, 정규분포, 지수분포, 감마분포, 베타분포, t분포를 공부하겠다. 먼저 균일분포부터 알아보자.

균일확률분포는 확률변수의 특정 구간 사이의 확률이 일정한 확률분포를 말한다. 균일분포는 이산분포일 수도 있고 연속분포일 수도 있지만, 여기서는 혼란을 피하기 위해 연속분포를 중심으로 다루겠다.

우리가 흔히 학교에서 배우는 빈도주의 통계에서 균일분포는 별로 주목받지 못한다. 그러나 베이즈 통계까지 넣어서 고려한다면 균일분포는 충분히 관심을 가져야 할만큼 중요한 확률모형이다. 베이즈 통계에서, 분포에 대한 정보가 없을 때의 사전분포(prior)로 자주 사용되고, 연속확률분포를 설명하는데 이용되며, 실제 사회 현상에 대한 확률모형으로도 사용된다. 의심할 바 없이 균일분포에 대한 진지한 학습이 필요하다.

예를 가지고 균일분포에 대해 살펴보자. 확률변수 X는 서울에서 제주까지 운항하는 항공기의 비행시간을 가리킨다. 비행시간은 40분부터 60분까지의 구간에 있는 값이라면 어떤 값도 가능하다고 가정하자. 비행기가 이륙 후 40분만에 도착할 수도 있고, 45.1분만에 도착할 수도 있으며, 52분, 53.2분, 46.01분, 60분에도 도착할 수 있다.  확률변수 X는 이 구간 내의 어떤 값이든 취할 수 있으므로 연속확률변수이다. 실제 충분한 비행기록이 있어 검토해보니 특정 1분 구간 사이에 대한 운항시간의 확률이 40분부터 60분 사이의 어떤 다른 1분 구간의 확률과도 동일하다면, 확률변수 X는 균일확률분포(uniform probability distrbution)를 따른다고 말할 수 있다. 40분부터 60분 사이의 1분 구간의 확률이 모두 같기 때문이다. 확률변수 X가 균일확률분포를 따르면, 확률분포는 다음과 같이 표시된다.

확률변수 X의 균일확률분포는 수학적으로 다음과 같이 정의된다.

주석: PDF(확률밀도함수)를 표기할 때 가 더 형식을 갖춘 표기이지만 만으로 표기해도 무방하다. 라고도 표기된다. 그것은 a와 b의 폐쇄 구간(closed interval)을 나타낸다. a는 상정한 구간에서 가장 작은 값이고, b는 가장 큰 값이다. 는 우리말로 ‘다른 구간에서는’이라는 뜻임. 수식 편집기에 우리말 입력이 되지 않아 영어로 표기했다.

균일분포 PDF의 모멘트(moment)는 다음과 같다.

기대값:

분산:

이 모멘트의 도출 과정은 적분 계산이 들어가 다소 복잡하므로 설명을 생략한다. 통계학자들에게 감사하며 정의를 잘 사용하면 될 것이다.

이 식들을 가지고 서울-제주 운항시간의 균일확률분포를 나타내면 다음과 같이 될 것이다.

확률밀도함수의 결과를 보면, 1/20은 1분 구간의 확률을 나타낸다. 만약 서울을 출발한 비행기가 40분에서 45분 후에 도착할 확률은 1/20 X (45 – 40) = 5/20 = 1/4 = 0.25. 즉, 0.25가 될 것이다. 그리고 40분에서 50분 후에 도착할 확률은 1/20 X (50 – 40) = 10/20 = 0.5, 즉, 0.5가 될 것이다. 또한 50분에서 55분 정도가 걸릴 확률은 1/20 X (50 – 55) = 5/20 = 0.25, 0.25가 될 것이다. 35분 이내에 도착할 확률은 물론 0이며, 65분 이후에 도착할 확률도 0이다.

위 그래프는 서울-제주 비행시간을 보여주고 있다. x축은 비행시간(X), y축은 확률 f(X)이다. 그런데 비행시간 40분부터 60분 사이의 확률은 모두 0.05이다. 그런데 이 값은 각 비행시간에 대한 확률값이 아니다. 정확히 그것은 비행시간 1분 구간에 대한 확률이다. 1분 구간의 확률이 40분부터 60분 사이에 동일하게 0.05라는 말이다.

연속확률함수에서 확률은 해당 구간의 면적이다. 예컨대 비행기가 45분과 50분 사이에 도착할 확률이 빨간색 직사각형의 면적이다. 직사각형의 세로는 0.05(1분 구간의 확률)이고, 가로는 해당 비행시간의 구간인 5분이다. 따라서 확률은 빨간색 직사각형의 면적인 0.05 X 5 = 0.25가 된다. 균일분포의 정의에 따라 40분과 60분 사이의 구간 밖에서 1분 구간의 확률은 0이다.

균일분포에 관한 예제를 풀어보자.

예제 1) 확률변수 X는 10과 20 사이에서 균일분포를 따른다.

1) PDF를 표기하시오.

2) 를 계산하시오.

3) 를 계산하시오.

4) 를 계산하시오.

5) 를 계산하시오.

해제)

문제 1)

문제 2) 0.1 X (15 – 10) = 0.5

문제 3) 0.1 X (18 – 12) = 0.6

문제 4)

문제 5)

예제 2) 대부분의 컴퓨터 언어는 무작위수(random numbers)를 생성하는 기능이 있다. 엑셀에서 RAND 함수를 사용하면 0과 1 사이의 무작위수를 생성할 수 있다. X를 RAND 함수를 사용해서 생성한 무작위수라고 하면, X는 다음의 확률밀도함수를 가진 연속확률변수이다.

1) 0.25와 0.75 사이의 무작위수를 생성할 확률은?

2) 0.30 보다 작거나 같은 무작위수를 생성할 확률은?

3) 0.6보다 큰 무작위수를 생성할 확률은?

4) 엑셀 워크시트의 50개 셀에 =RAND()를 입력하여 50개의 무작위수를 생성하시오.

5) 문항 4)에서 생성한 무작위수를의 평균과 표준편차를 구하시오.

해제)

문제 1) 1 X (0.75 – 0.25) = 0.5

문제 2)

문제 3)

문제 4) 5)

예제 3) Gallop Daily Survey는 연소득 $90,000이상인 미국인의 일일 재량지출의 평균은 하루에 $136이라고 밝혔다(USA Today, 2012년 7월 30일). 재량 지출에서 주택 구입, 차량 구입, 그리고 매월 정기적인 지출은 제외한다. X =하루당 재량 지출이라고 하자. 에 대하여 인 균일확률밀도함수가 적용된다고 가정하자.

1) 확률밀도함수에 대한 a와 b의 값을 구하시오.

2) 이 소득그룹에 속한 소비자가 $100에서 $200 사이의 재량지출을 가질 확률은?

3) 이 소득그룹에 속한 소비자가 $150 이상의 재량 지출을 가질 확률은?

4) 이 소득그룹에 속한 소비자가 $80 이하의 재량 지출을 가질 확률은?

문제 1) 문제 지문에서 주어진 정보는 평균, 즉, 기대값(이 $136이라는 것, 그리고 에 대하여 라는 것이다. 먼저

식 (1)과 식 (2)를 더 하면,

(3)을 (1)에 대입하면,

문제 2) 확률변수 X가  에서 인 균일분포를 할 때,

를 구하는 문제이다.  1$ 구간의 확률이 0.00625이니 $100(=200 – 100) 구간에서는 0.00625 X 100 = 0.625

문제 3) 1 – 0.00625 X (150 – 56) =1 – 0.5875 =0.4125

문제 4) 0.00625 X (80 – 56) = 0.15

예제 4) 미국 옐로스톤 국립공원의 올드페이스풀(Old Faithful) 간헐천은 91분마다 솟아오른다. 당신이 무작위로 그곳에 도착하고 20분을 기다린다면, 당신이 올드페이스풀이 솟구치는 모습을 볼 확률은?

올드페이스풀이 솟구치는 간격이 균일분포를 이룬다고 가정할 수 있다. 1분 구간에 올드페이스풀이 솟구칠 확률은 항상 1/91이다. 그렇다면 20분 구간에서 솟구칠 확률은 얼마인가를 묻는 질문이다. 1/91 X 20 = 0.2198이다.

예제 5) 확률변수 X가 32와 42 사이에 균일분포를 이룬다. X가 32와 40 사이에 있을 확률은?

이상으로 균일분포를 통해서 연속확률분포에 입문했다. 이산확률분포에서와 달리 연속확률분포에서는 PDF가 확률을 제공하지 않는다. 그것은 정확히 단위 구간에 대한 확률을 준다. 따라서 균일분포에서 확률변수가 특정 구간에서 발생할 확률을 구하려면, 단위 구간의 확률(그래프에서 세로에 해당)에 구간의 크기(그래프에서 가로에 해당)를 곱해서 해당 면적을 구했다. 즉, 연속확률분포에서는 면적이 확률이다.

어떤 사회 현상에 대한 정보가 부재할 때 균일분포를 가정하곤 한다. 그것은 다소 비현실적인 가정이기는 하지만 조사의 출발점으로서는 실용적인 가정이 될 수 있을 것이다. (2020-08-31)

확률분포(3): 초기하 분포

이항분포를 공부하면서 이항분포의 전제 조건들이 현실에서 충족되기 쉽지 않을 것이라는 생각이 든 독자들이 있었을 것이다. 성공확률이 일정하다는 조건도 그렇고, 시행이 독립적이라는 조건도 그렇다.

초기하 확률분포(hypergeometric probability distribution)는 그런 아쉬움을 채워주는 확률 모형이다. 이 분포에서는 성공확률이 일정하지 않아도 되고, 시행이 독립적이 아니어도 된다. 확률변수 X가 초기하 분포를 따르면 다음과 같이 표시된다.

N: 모집단의 크기    K: 모집단에서 성공 원소의 갯수    n: 시행 횟수(표본의 크기)

초기하 확률분포의 모양을 결정하는 퍼라미터가 이 세 개이다. 확률변수 X 는 표본 중의 성공 원소의 갯수()이다. 초기하 확률분포는 다음과 같이 정의된다.

: n 번 시행에서 x개가 성공할 확률(n 크기의 표본에 성공원소가 x개 포함될 확률)

식 (1)에서 분모 은 모집단 N개 중에서 표본 n개를 추출하는 방법의 수이고, 분자에서 는 성공원소 모집단 K개에서 x개를 추출하는 방법의 수이며, 는 실패원소 모집단 N-K개에서 n-x개를 추출하는 방법의 수이다.

초기하 분포의 수학적 정의가 상당히 복잡해 보인다. 그런데 사실 조합 기호가 들어가서 표기가 좀 복잡하게 보일 뿐 내용상으로는 오히려 다른 확률분포의 정의에 비해 단순하다. 좀 거칠게 표현하면, 성공원소추출 방법의 수와 실패원소추출 방법의 수를 곱한 값을 전체 표본의 추출방법의 수로 나눈 것이 초기하 분포의 확률함수이다.

초기하 확률분포의 기대값과 분산은 다음과 같다.

예제를 가지고 살펴보자.

예제 1) 온타리오 전기는 전기 퓨즈를 생산한다. 한 박스에 12개의 퓨즈를 넣는다. 품질 검사자는 박스에 들어 있는 12개의 퓨즈에서 무작위로 3개를 뽑아 검사한다. 박스에 5개의 불량품이 있을 경우 검사자가 뽑은 3개의 퓨즈 중 불량품이 1개 들어 있을 확률은?

해제) 이 문제에서는 불량품이 성공원소이다.

확률변수 X는 표본(n = 3) 중 성공원소의 갯수(x = 1)이다.  N = 12, K = 5. 이 값들을 식 (1)에 대입한다.

엑셀에서 초기하분포의 확률을 구하는 함수는 HYPGEOM.DIST이다.

위 표에서 f(1) = 0.477273이다. 앞에서 수작업으로 계산한 결과와 동일하다.

예제 2) 20장으로 된 한 묶음의 카드가 있다. 그중 6장은 붉은 카드이고 14장은 검정 카드이다. 비복원 무작위 추출로 5장의 카드를 뽑는다. 그중 4장의 붉은 카드가 뽑힐 확률은?

해제) 비복원 추출이니 시행별 확률이 일정하지 않다. 따라서 이항분포를 적용할 수 없고 초기하분포를 적용해야 한다.

퍼라미터: N = 20, K =6, n = 5          x = 4. 이 값들을 식 (1)에 대입하면 확률 f(4)를 구할 수 있다.

위 표에 보면, f(4) = 0.013544892이다. 수작업으로 계산한 확률값과 동일하다.

예제 3) 어떤 작은 선거구에 101명의 여성 유권자와 95명의 남성 유권자가 있다. 그 중 10명을 무작위로 뽑는다. 거기에 7명의 여성 유권자가 뽑힐 확률은? 

해제) 비복원추출이니 이항분포를 적용할 수 없고 초기하분포를 적용한다. 확률변수 X는 10명 표본 중 여성유권자의 수이다. 여성유권자는 0명부터 10명까지 뽑힐 수 있다.

퍼라미터: N = 196명, K = 101명, n = 10       x = 7. 이 값들을 식 (1)에 대입한다.

엑셀을 이용해서 확률분포, 기대값, 분산을 구해보자.

위 표에서 f(7) = 0.130396이다. 수작업으로 계산한 결과와 소숫점 다섯자리까지 일치한다.

예제 4) 코로나 19로 인해 많은 사람들이 온라인 쇼핑을 한다. 물론 코로나 19에도 불구하고 오프라인 쇼핑을 하려는 사람도 있다. 10명의 쇼핑객 중 7명은 온라인으로 쇼핑하는 것을 좋아하고 3명은 오프라인 쇼핑을 좋아한다고 가정하자. 그 10명 중 3명을 무작위로 추출하였다. 

1) 2명이 온라인 쇼핑을 좋아할 확률은?

2) 2명 이상이 온라인 쇼핑을 좋아할 확률은?

해제)  비복원추출이므로 이항분포 대신 초기하분포를 적용한다.

문제 1) N = 10, K = 7, n = 3, x =2을 식 (1)에 대입한다.

엑셀을 이용해서 확률분포, 기대값, 분산을 구해보자.

문제 2) 전체 확률에서 온라인 쇼핑을 좋아하는 쇼핑객이 한명도 뽑히지않을 확률과 한 명 뽑힐 확률을 빼면 될 것이다.  1 – 0.0083 – 0.175 = 0.8167(위 표 참조).

예제 5) 컴퓨터 부품회사 A는 수원과 파주 두 곳에 공장을 가지고 있다. 수원에는 40명의 종업원이, 파주에는 20명의 종업원이 있다. 10명의 종업원을 뽑아서 설문조사를 하였다.

1) 파주에서 근무하는 종업원이 한 명도 뽑히지 않을 확률은?

2) 파주에서 근무하는 종업원이 한 명 뽑힐 확률은?

3) 파주에서 근무하는 종업원이 두 명 이상 뽑힐 확률은?

해제) 설문조사는 비복원추출이므로 초기하분포를 적용한다. 확률변수 X는 10명 표본 중 파주 종업원의 수이다.

N = 60, K = 20, n = 10을 PDF에 대입한다.

수작업 계산은 생략하고 엑셀을 이용해서 확률분포를 구한다.

문제 1) 0.011243

문제 2) 0.072536

문제 3) 1 – 0.011243 – 0.072536 = 0.916221

이상으로 초기하 확률분포에 대해 알아보았다. 예제들을 통해서 초기하 분포가 이항분포를 보완하는 확률모형임을 알았으리라 생각한다. 이산확률분포에 대해서는 여기까지 공부하고 이제 연속확률분포에 대해서 알아보자. (2020-08-29)

확률분포(2): 포아송 분포

이산확률분포에서는 이항분포 다음으로 포아송 분포(Poisson distribution)가 중요하다. 포아송 분포는 단위 시간이나 단위 공간에서 무작위로 발생하는 사건의 발생횟수에 적용되는 분포이다. 포아송분포는 이항분포와 성격이 비슷하나, 시행횟수 n이 크고, 사건의 발생(성공) 확률 p는 매우 작은 경우에 사용된다. 확률변수 X가 포아송 분포를 따를 때 다음과 같이 표기한다.

다음의 두 가지 조건을 만족하면 발생회수라는 확률변수는 포아송 확률분포를 따른다.

1) 두 구간의 길이가 같다면 발생확률이 동일하다(일정성).

2) 어떤 구간에서 발생하거나 발생하지 않는 사건은 다른 구간에서 발생하거나 발생하지 않는 사건과 독립이다(독립성).

포아송분포는 수학적으로 다음과 같이 정의된다.

여기서  = 구간에서 x회 발생할 확률; (람다) = 단위시간당 평균발생횟수(기대값)(이다); (극한값 e)

위의 PDF에서 분모가 이다. 이는 발생횟수가 상당히 큰 수이면 가 0에 가까워지며, 그것을 무시할 수 있음을 시사한다.

포아송 분포의 기대값과 분산:

기대값과 분산이 동일하게 이다.

포아송 분포는 아래와 같은 다양한 현상에 적용될 수 있다. 그것의 적용 범위가 매우 넓은 확률 모형임을 알 수 있다.

  • 하루동안 발생하는 출생자 수 혹은 사망자 수
  • 하루동안 발생하는 고속도로 교통사고 수
  • 한 시간 내 찾아오는 방문객의 수
  • 하루에 찾아오는 환자의 수
  • 한 시간 동안 세차장에 도착하는 자동차의 수
  • 어떤 특정 진도 이상의 지진이 발생하는 수
  • 어떤 특정량의 방사선을 DNA에 쬐었을 때 발생하는 돌연변이 수
  • 검진한 환자 1만명 당 희귀병 환자의 수
  • 한 시간 내 스타박스의 드라이브스루 창구에 도착하는 자동차의 수
  • 일정 시간 동안 톨게이트를 통과하는 차량의 수
  • 한 시간 동안 은행에 다녀간 고객의 수
  • 한 시간 동안 사무실에 걸려온 전화의 수
  • 국도 1km 당 패인 구멍의 수
  • 어떤 책의 한 페이지에 존재하는 오타의 수
  • 일정량의 혈액 속에 있는 적혈구의 수
  • 단위 길이당 옷감의 흠집수

포아송 분포의 모양을 결정하는 퍼라미터는  하나이다. 아래 그림을 보면, 가 1일 때, 4일 때, 그리고 10일 때 확률분포의 모양이 크게 달라짐을 알 수 있다.

예제 1) 주중 아침 15분 동안 드라이브스루 뱅킹 서비스를 받기 위해 창구에 도착하는 자동차가 평균 10대라고 한다. 그렇다면 15분 동안에 5대가 도착할 확률은?

해제) 여기서 단위 시간은 15분이고, 확률변수 X는 15분 동안 창구에 도착하는 자동차 대수, 단위시간 당 평균은 10대이다. 단위시간에 발생하는 사건의 발생횟수에 관심을 갖고 있고, 단위시간 당 발생횟수(10대)가 일정하며, 어떤 단위 시간의 발생하는 사건은 다른 단위시간의 발생하는 사건과 독립적이므로 X는 포아송분포를 따른다.

공식 (1)에 = 10, X = 5를 대입해서 풀면,

즉, 15분 동안에 5대가 도착할 확률은 0.0378이다.

엑셀을 이용해서 확률분포를 구해보자. 기대값과 분산은 계산할 필요없이 10대이다[식(2) 적용]. 포아송확률분포를 구하는 엑셀 함수는 POISSON.DIST이다.

X(도착하는 자동차 대수)가 0에서 20대까지의 확률을 계산해 보았다. 위 표에서 X가 5일 때 0.0378로 위에서 공식을 사용해 수작업으로 한 계산과 동일하다. 흥미 있게도 그래프의 모양이 정규분포와 유사하다. 그래프의 무게 중심은 X =10(람다)이다.

예제 2) 우리나라의 에이즈 유병율이 0.04%이다. 에이즈 검사를 받은 사람 1만명 중 에이즈에 전염된 환자가 1명일 확률은?

해제) 여기서 확률변수는 검사 대상 1만명 당 에이즈 환자의 수이다. 관심 대상이 단위 집단 당 사건 발생 수이고, 단위 집단 당 발생횟수가 일정하고, 어떤 단위 집단과 다른 단위 집단 사이의 사건 발생은 독립적이므로 이 문제에는 포아송 분포가 적용될 수 있다. 퍼라미터 람다는 단위 집단 당 평균적인 에이즈 발병 횟수이므로, 에이즈 유병율이 0.04%일 때, 1만명 평균적 발생 에이즈 환자의 수()는 0.0004*10000 = 4(명)이다.

퍼라미터: (0.0004*10000); X = 1

엑셀을 이용해 확률분포를 구하면 아래와 같다.

예제 3) 도로를 새로 포장한 후 한달 동안 심각한 파손이 1km 당 평균 1개가 있다고 하자. 길이 3km에 파손 지점이 없을 확률은?

해제) 같은 길이의 어떤 구간에서도 파손이 있을 확률은 동일하고, 어느 한 구간에서의 파손 발생은 다른 구간에서의 파손 발생에 영향을 주지 않는다고 하면, 이 문제에 포아송 분포를 적용할 수 있다.

확률변수 X: 신도로 3km 당 파손 지점의 수

(3km 당 평균 파손 지점의 수) = 1*3 = 3

P(X = 0|3)?

위 표를 보면, X = 0일 때 발생확률은 0.0498이다.

예제 4) 미국의 국립 해양 및 대기 관리청(NOAA)에 따르면 콜로라도 주는 6월 평균 18건의 토네이도가 발생한다. 6월은 30일이 있다는 점을 기억하자.

1) 하루에 토네이도가 평균 몇 회 발생하는가?

2) 하루에 토네이도가 한 번도 발생하지 않을 확률은?

3) 하루에 토네이도가 한 번 발생할 확률은?

4) 하루에 토네이도가 두 번 이상 발생할 확률은?

해제) 이 문제는 하루라는 단위 시간에 발생하는 토네이도라는 사건의 발생횟수에 관심이 있다. 6월 중 일간 토네이도의 발생은 독립적이고,  그것의 확률은 일정하다고 간주될 수 있기 때문에 포아송 분포의 적용이 가능하다.

포아송분포를 수학적으로 계산하려면, (람다)를 알아야 한다. 람다는 단위시간 당 평균적인 발생횟수이다. 이 문제에서 단위 시간은 하루이다. 그런데 문제에 주어진 정보는 월 단위로 되어 있으므로 먼저 이것을 일 단위로 변환해서 람다를 구해야 한다. 그것에 대한 질문이 문제 1)이다.

1) 하루에 토네이도가 평균 몇 회 발생하는가? 18건을 30일로 나누면, 18/30 = 0.6(회). 즉,

2) 하루에 토네이도가 발생하지 않을 확률은? 이는 확률변수 X가 0일 확률을 묻는 질문이다. , X = 0를 PDF인 식 (1)에 대입한다.

3) 하루에 토네이도가 한 번 발생할 확률은? f(1)의 값을 묻고 있으므로,

4) 하루에 토네이도가 두 번 이상 발생할 확률은? 이 문제는 누적확률분포에 관한 것이다. 전체 확률 1에서 f(0)의 값, 0.5488과 f(1)의 값, 0.3293을 빼면 될 것이다.

엑셀을 이용해서 확률분포를 구해보자.

위 표에서 f(0) = 0.548812, f(1) = 0.329287이므로 앞에서 수작업으로 구한 결과와 일치함을 알 수 있다. 그래프를 보면, 토네이도가 대체로 하루에 한 번도 없거나 한 번 정도 발생하는 것을 알 수 있다. 토네이도가 간혹 하루 2회도 발생하지만 하루 3회 이상 발생은 거의 하지 않는 것으로 보인다.

예제 5) 어느 콜센터에 한 시간 동안 평균 36회 전화가 걸려온다. 

1) 5분 동안 전화가 2회 걸려올 확률은?

2) 15분 동안 5회 전화가 걸려올 확률은?

해제) 이 문제에서 관심사는 걸려오는 전화 횟수이다. 단위시간 당 걸려오는 전화 횟수가 독립적이고, 그것의 확률은 일정하다고 생각할 수 있으므로 포아송 분포가 적용될 수 있다.

문제 1) 여기서는 5분을 단위시간으로 볼 수 있으며, 확률변수 X는 5분 동안 걸려오는 전화 횟수가 된다. 그런데 우리에게 주어진 정보는 한 시간 동안 걸려오는 평균 전화 횟수 36회이므로, 람다는 36을 12(=60/5)로 나누면 구할 수 있다.

퍼라미터: ; X = 2

문제 2) 여기서는 15분을 단위시간으로 볼 수 있으므로, 확률변수 X는 15분 동안 걸려오는 전화 횟수가 된다. 그렇다면, 람다는 36을 4(=60/15)로 나누면 구할 것이다.

퍼라미터: ; X = 5

이상으로 포아송 확률분포를 살펴보았다. 포아송분포은 퍼라미터가 하나()인 분포이다. 람다는 단위시간 당 평균적 발생빈도이다. 그것만 알면 확률분포를 구할 수 있고, 따라서 당연히 단위시간 당 특정 발생횟수가 가진 확률값을 구할 수 있다. 이 정도는 기억해 두면 좋을 것이다. (2020-08-29)

확률분포(1): 이항확률분포

입문 수준의 베이즈 통계를 위해서 꼭 익혀 두어야 할 확률분포는, 이산분포에서 이항분포, 포아송분포, 초기하분포, 연속분포에서 균일분포, 정규분포, 지수분포, 감마분포, 베타분포, t분포 9개 정도가 아닌가 생각된다. 이 가운데 정규분포와 t분포는 빈도주의 통계에서도 꼭 알아두어야 하는 확률분포이다. 빈도주의 통계에서는 추가로 F분포분포를 익혀야 할 것이니, 전체적으로 보면 입문 수준의 사회통계에서 11개 정도의 확률분포를 익혀두면 충분하지 않을까 생각된다.

빈도주의 통계에서 정규분포, t분포, F분포, 분포를 모르면, 모수를 통계적으로 추정할 수 없다. 비슷하게 베이즈 통계에서 위에서 언급한 10개를 모르면, 베이즈 정리를 다양한 예측에 적용하기 어렵다. 베이즈통계에서 예측은 관찰된 데이터를 가지고 사전분포를 업데이트하여 사후분포를 추정하는 것이기 때문이다.

통계를 이용한 추정과 예측에서 확률분포가 차지하는 비중이 워낙 크기 때문에 확률분포에 대해 충분히 시간을 갖고 공부할 필요가 있다. 그래서 전에 확률분포에 관해 몇 개의 글을 올렸지만, 너무 간략히 소개했던 것 같아 다시 베이즈통계에 필요한 10개의 분포를 하나 하나 좀 더 쉽고 자세하게 설명해 보도록 하겠다.

먼저 이산확률분포부터 시작하자. 이항확률분포(binomial probability distribution)는 가장 대표적 이산확률분포이며 정규분포에 버금가게 중요한 확률분포이다. 실제 이항분포가 적용될 수 있는 사회현상이 많기도 하다.

이항확률분포는 이항실험(binomial experiment)과 연관되어 있다. 이항실험은 네 가지의 특성을 갖고 있다. 

  1) 실험은 n개의 동일한 시행으로 구성된다.

  2) 각 시행은 두 가지 결과를 가진다. 그 결과를 성공, 실패라고 부른다.

  3) 각 시행에서 성공 확률은 p이며, 성공 확률은 반복 시행에서 변하지 않는다. (성공확률 불변 조건)

  4) 각 시행은 독립적으로 행해진다. (독립시행 조건)

위에서 1번을 제외한 세 가지 특성을 가진 실험을 베르누이 시행(Bernoulli Trial)이라고 한다. 베르누이 시행이 n회 반복된 실험이 이항실험이다. 

수업에서 가장 흔히 드는 이항실험의 사례는 동전 던지기이다. 동전을 던져서 특정한 면이 나오는 실험이다. 예컨대, 100원 주화를 다섯 번 던져서 앞면(이순신 장군 얼굴)이 나오는 횟수를 세는 실험은 이항실험이다. 실험은 5회의 동일한 시행으로 구성되며, 각 시행은 앞면과 뒷면의 두 가지 결과를 가지고, 각 시행에서 앞면이 나올 확률은, 정직한 동전이라면, 0.5이며, 그것은 반복 시행에서도 달라지지 않는다. 따라서 이항실험 조건을 충족한다. 그리고 동전 던지기 실험에서 앞면이 나오는 횟수는 이항확률분포를 갖는다.

이항실험의 예를 더 들어보자.

예제 1) 한 개의 주사위를 5회 던질 때 1의 눈이 2회 나올 확률은?

주사위는 육면체이고 여섯 개의 숫자로 되어 있지만, 이 실험에서 던질 때마다  1이 나오거나(성공) 1이 아닌 다른 수가 나오는(실패) 두 가지 결과밖에 없다. 주사위가 정직하게 만들어져 있다면, 1이 나올 확률(성공확률)은 1/6이고, 성공확률은 모든 시행에서 동일하게 1/6이다. 그리고 각 시행은 상호 독립적이며, 실험은 다섯 번의 시행으로 구성된다. 따라서 이 실험은 이항실험 조건을 충족하며, 일정 횟수만큼의  반복적인 주사위 던지기에서 1의 눈이 나오는 횟수는 이항확률분포를 갖는다.

예제 2) 어느 공장에서 생산되는 제품의 5%가 불량품이다. 이 제품 10개를 검사하였을 때 2개가 불량품일 확률은?

좀 이상하게 들리기도 하겠지만, 불량품이 나오는 결과는 기대하는 사건이 발생했다는 의미에서 확률적으로 성공이라고 간주될 수 있으며, 그 성공확률은 0.05이다. 각 제품의 생산은 하나의 시행이 되며, 매 시행에서 성공확률은 0.05이다. 각 제품의 생산은 독립 시행이며, 실험은 10번의 독립 시행으로 구성되어 있다. 따라서 이항실험 조건을 충족하며, 이 제품 검사에서 불량품의 갯수는 이항확률분포를 갖는다.

예제 3) 코로나 19로 인한 국가 위기에서 2차 긴급재난지원금을 지급해야 하는가에 대한 한 언론사의 성인 대상 여론조사(응답자 1,000명)에서  80%의 응답자가 찬성을, 20%의 응답자가 반대하는 것으로 나타났다. 만일 임의로 성인 10명을 선정했을 때 6명이 찬성할 확률은?

응답자에 관한 다른 정보가 없다면, 어떤 응답자가 찬성이라고 응답할 확률(성공 확률)은 0.8이며, 그것은 그 여론조사에 참여한 모든 응답자에게 동일하다고 가정될 수 있다.  그리고 각 응답자의 응답은 독립 시행으로 간주될 수 있으며, 임의로 10명을 뽑아서 동일한 질문을 물었을 때 찬성한 사람의 수를 구하는 것은 이항실험이며, 찬성한 사람의 수는 확률변수이다. 그리고 그 확률변수는 이항확률분포를 갖는다.

예제 4)  어떤 양궁 선수가 화살을 쏘았을 때 명중할 확률이 0.6이라고 한다. 이 선수가 7번 화살을 쏘았을 때 몇 번이나 명중할까?

현실에서 양궁 선수가 화살을 여러 차례 쏠 경우, 어떤 시행에서 화살의 명중확률은 이전에 쏜 화살이 명중했는가 아닌가에 따라 영향을 받게 될 것이다. 앞선 시행의 결과에 의해 대부분의 선수들이 심리적 영향을 받을 것이기 때문이다.

그런데 다소 비현실적이기는 하지만 앞선 시행 결과의 영향이 없다고 가정하면 독립시행으로 간주될 수 있다. 여기서는 그렇게 가정하자. 그럴 경우 명중(성공) 확률은 0.6으로 일정하다. 이 선수가 7번 화살을 쏜 것은 7번의 독립시행으로 간주될 수 있을 것이며, 명중(성공) 횟수는 확률변수이고, 그것은 이항확률분포를 이룰 것이다.

예제 5) 어느 회사원이 승용차로 출근하는 길에 신호등이 5개 있다고 한다. 각 신호등에서 빨간불에 의해 신호 대기할 확률은 0.2이고, 각 신호등에서 신호 대기 여부는 서로 독립적이라고 가정한다. 어느 날 이 회사원이 5개의 신호등 중 1개의 신호등에서만 신호대기에 걸리고 출근할 확률은?

각 신호등에서 빨간불에 의해 신호 대기할 확률(0.2)은 성공 확률로 간주될 수 있고, 신호등 통과는 독립시행이며, 여러 개의 신호등을 통과하는 데, 몇 번이나 빨간불에 걸리는가는 하나의 이항실험이 될 것이다. 그리고 빨간불에 걸리는 횟수는 확률변수이며, 일정한 갯수의 신호등을 통과하는데 있어 빨간불에 정지당하는 횟수는 이항확률분포를 이룰 것이다.

현실에서 이항분포는 공산품 제조에서 불량품 예측, 영업사원의 제품 판매 예측, 통신망에서 신호의 전달(혹은 실패) 예측, 도로의 분기점에서 자동차의 선회 방향 예측, 임직원의 통근 방법 예측 등 시행의 결과가 두 가지로 나오는 사회 현상에 광범위하게 적용될 수 있다. 이항실험 조건을 충족하는 사회 현상이 많기 때문이다. 더구나 주사위의 예에서 보듯이 시행의 결과가 두 가지 이상일 때도 관심을 갖는 하나의 결과를 중심으로 보면 시행 결과는 항상 두 가지로 나누어 질 수 있다. 따라서 독립시행 조건과 성공확률 불변 조건을 추가로 충족하면 사회현상은 이항확률분포를 적용할 수 있다.

이항실험은 베르누이 시행을 n회 반복한 것이고, 그렇게 해서 얻어진 것이 이항확률분포이다. 확률변수 X가 베르누이 분포를 따르면, 다음과 같이 표시된다.

여기서 B는 Bernoulli의 첫글자, p는 성공확률, 1-p는 실패확률이다. 이것을 일반화하는 함수로 표기하면,

여기서 . X =1은 성공, X=0은 실패.

기대값:

분산:

예컨대, 성공확률이 0.6인 베르누이 분포에서 성공할 확률은 PDF(Probability Density Function, 확률밀도함수: 이산분포의 경우 PMF, Probability Mass Function, 확률질량함수라고도 하지만 여기서는 그냥 PDF로 통일함)를 이용해 아래와 같이 구해진다.

실패할 확률은 아래와 같다.

확률변수 X의 기대값은 0.6, 분산은 0.24이다.

이항확률분포는 통상 로 표기한다. B는 Binomial(이항)의 첫글자이며, n은 베르누이 시행의 횟수, p는 성공확률이다. 확률변수 가 이항확률분포를 가지면 다음과 같이 표시된다.

이항확률분포는 다음과 같이 정의된다. 이항확률분포의 PDF는, 

여기서 는 n회 시행에서 성공의 횟수가 x일 확률; x = 성공횟수; n = 시행 횟수;  p = 각 시행에서 성공이 일어날 확률; 1-p = 각 시행에서 실패가 일어날 확률;

이항확률분포의 기대값과 분산은 다음과 같다.

이항확률분포의 기대값과 분산은 베르누이 분포의 기대값과 분산의 각 n배이다.

이항확률분포에 관한 정의를 가지고 위 예제들을 풀어보자.

예제 풀이

예제 1) 한 개의 주사위를 5회 던질 때 1의 눈이 2회 나올 확률은?

퍼라미터(parameter, 모수)가 n = 5, p = 1/6(0.17)인 이항분포에서 확률변수 X의 값이 2인, 즉, x = 2에 해당되는 확률을 구하는 문제이므로, 위에서 이항분포의 PDF인 식 (5)에 이 세 가지 값을 대입하면 된다.

문제에는 없지만, 한 개의 주사위를 5회 던질 때 1의 눈이 나오는 횟수를 확률변수 X라고 하고 X의 확률분포를 구해보자.

X는 0, 1, 2, 3, 4, 5를 값으로 가질 수 있을 것이다. 즉, 1의 눈이 한번도 나오지 않을 경우(X = 0), 1의 눈이 1회 나오는 경우(X = 1), 1의 눈이 2회 나오는 경우(X = 2), 1의 눈이 3회 나오는 경우(X = 3), 1의 눈이 4회 나오는 경우(X = 4), 그리고 1의 눈이 5회 나오는 경우(X = 5)가 있을 것이다. 확률변수의 각 값에 대한 확률은 다음과 같다.

기대되는 평균값(기대값)은 얼마일까?

이항분포의 기대값을 구하는 공식 (6)에 n = 5, p = 0.17을 대입하면 될 것이다.

이 기대값은 주사위를 5회 던졌을 때 1의 눈이 나오는 횟수가 평균 0.85회 정도라는 의미이다.

분산은?

공식 (7)에 n = 5, p = 0.17, 1-p = 0.83을 대입하면 구해진다.

아래는 MS 엑셀에서 확률분포, 기대값, 분산을 구하고, 확률분포를 그래프로 나타낸 것이다. 엑셀에서 이항확률분포를 구하는 함수는 BINOM.DIST이다. 공식을 이용해서 수작업으로 구한 결과와 엑셀 함수로 구한 결과가 일치한다. 그래프를 보면, 무게중심이 1의 약간 왼쪽에 있음을 알 수 있다. 그것이 기대값 0.85이다.

예제 2) 어느 공장에서 생산되는 제품의 5%가 불량품이다. 이 제품 10개를 검사하였을 때 2개가 불량품일 확률은?

퍼라미터: n = 10, X = 2, p = 0.05

확률변수 X : 10개 검사할 때 불량품의 갯수

엑셀을 이용해서 확률분포, 기대값, 분산을 구하면 다음과 같다.

예제 3) 코로나 19로 인한 국가 위기에서 2차 긴급재난지원금을 지급해야 하는가에 대한 한 언론사의 성인 대상 여론조사(응답자 1,000명)에서  80%의 응답자가 찬성을, 20%의 응답자가 반대하는 것으로 나타났다. 만일 임의로 성인 10명을 선정했을 때 6명이 찬성할 확률은?

이 문제에서 확률변수(X)는 찬성한 사람의 수이다. 퍼라미터는, n = 10, x = 6, p = 0.8. 이 값들을 PDF에 대입하면 답을 구할 수 있다.

엑셀을 이용해서 X의 확률분포, 기대값, 분산을 구하면 아래와 같다.

성공확률이 높으니 확률분포의 왼쪽 꼬리가 길다. 무게 중심은 X = 8에 있다.

예제 4)  어떤 양궁 선수가 화살을 쏘았을 때 명중할 확률이 0.6이라고 한다. 이 선수가 7번 화살을 쏘았을 때 몇 번이나 명중할까?

확률변수 X는 명중 횟수이다. 이항확률분포의 퍼라미터는, n = 7, p = 0.6 일 때 기대값(평균적인 명중 횟수)을 구하는 문제이다.

위에서 공식 (6)에 퍼라미터 값을 대입하면 된다.

즉, 예상되는 명중 횟수는 약 4번이다.

엑셀을 사용해서 확률분포, 기대값, 분산을 구해보자.

예제 5) 어느 회사원이 승용차로 출근하는 길에 신호등이 5개 있다고 한다. 각 신호등에서 빨간불에 의해 신호 대기할 확률은 0.2이고, 각 신호등에서 신호 대기 여부는 서로 독립적이라고 가정한다. 어느 날 이 회사원이 5개의 신호등 중 1개의 신호등에서만 신호대기에 걸리고 출근할 확률은?

이 문제에서는 빨간불 신호대기에 걸린 횟수가 확률변수 X이다. 이항확률분포의 퍼라미터는, n = 5, p = 0.2. 그리고 X = 1. 이 값들을 PDF에 대입하면 아래와 같다.

엑셀을 이용해 확률분포, 기대값, 분산을 구해보자.

빨간불 신호대기에 걸릴 평균적인 횟수(기대값)는 한 번이다. 그래프에서 무게중심도 1임을 알 수 있다.

이상으로 이항(확률)분포에 대한 설명을 마친다. 이항분포의 특성 중 두 가지를 첨언한다면, 이항분포에서 시행 횟수(n)이 크고, 성공확률(p)가 작으면 다음에 살펴 볼 포아송 분포가 되고, 이항분포의 시행 횟수가 많아지면 정규분포에 가까워진다. 그리고 성공확률이 0.5이면, 확률분포 그래프가 기대값을 중심으로 좌우대칭이 된다.

이항분포의 중요성은 아무리 강조해도 부족하다. 확률과 베이즈통계를 위해서는 꼭 기억해 둘 필요가 있다. (2020-08-28)

표와 그래프(7): 행렬로 푸는 최소자승 회귀모형

(2) 선형대수에 다소 익숙한 독자를 위한 설명

다중회귀분석에는 행렬(matrix) 계산이 필요하다. 단순회귀모형에 예측변수나 통제변수가 추가되면 회귀모형의 항(term)이 늘어나고 여러 개의 회귀계수를 추정해야 하기 때문이다. 정규방정식 도출과정에 필요한 값들을 아래와 같이 정의하고 시작하자.

   

잔차 차원의 열벡터, 회귀계수(절편 포함)    차원의 열벡터, 독립변수 차원의 행렬이다. 의 첫 열의 성분이 1인 것은 상수항을 표시하기 위함이다. 끝으로   차원의 열벡터이다.

행렬을 사용하면 잔차제곱합은 식 (1)과 같이 표현된다. 잔차제곱합은 벡터 의 전치행렬(행벡터)과 벡터 (열벡터)의 곱이다.

그런데, 이고, 이므로,

식 (2)를 식 (1)에 대입하면,

그런데 식 (3)에서  의 차원이 이므로 대칭행렬이다. 따라서 그것의 전치행렬인 는 그 자신과 같다. 그런데이므로 로 쓸 수있다.

최소자승법을 적용하려면 식 (3)을 에 관해 미분한 값을 0으로 만드는  값을 구한다.

식 (4)에서 는 가 대칭행렬이므로 이차형식(quatratic form)이다. 이차형식의 미분은 앞 전치 벡터 부분을 2로 바꾸어 주면 되므로  이다.

최소자승의 조건은 식 (5)로 간단히 정리된다.

식 (5)의 첫 항을 우변으로 넘겨서 다시 쓰면,

양변을 2로 나누면,

양변에 의 역행렬을 곱해주면(는 정방행렬이 아니므로 역행렬이 존재하지 않으므로, 의 역행렬을 곱해준다),

그러므로

식 (6)은 유명한(?) 회귀모형의 정규방정식이다. 그것은 최소자승법에 의한 회귀계수 추정값은 X의 대칭행렬(X의 전치행렬과 X 행렬의 곱)의 역행렬에 X의 전치행렬과 Y 벡터를 곱하면 구할 수 있음을 의미한다. 단순회귀모형를 가지고 보면, 식 (6)은  표와 그래프(4): 최소자승 회귀분석에서 나온 식 (7)과 (8)의 정규방정식을 행렬로 표현한 것이다. 그런데  행렬접근을 하면, 대수적 접근과 달리 독립변수가 몇 개든 회귀계수를 구하는 데 이 공식 하나면 충분하다.그것은 행렬이 주는 큰 혜택이다. 데이터를 가지고 이 행렬의 연산을 수행하면 회귀계수 값을 구할 수 있다.

예측변수가 3개 이상이 되면 대수를 사용해 회귀모형을 찾기가 무척 어렵다. 따라서 그 과정에 행렬이 사용되어야 한다.

그런데 회귀모형 계산 과정을 완전히 이해하지 못한다고 현실에서 다중회귀분석을 사용할 수 없는 것은 아니다. 다중회귀모형을 개념적으로 이해하는데 회귀계수의 도출 과정에 대한 이해가 꼭 필요한 것도 아니고, 회귀계수를 계산하는데도 그 과정이나 공식에 대한 이해가 꼭 필요한 것도 아니다. 회귀계수를 찾는 과정을 수학적으로 잘 이해하면 자신이 사용하는 통계기법의 전체를 이해하지 못해 가졌던 찝찝함을 떨쳐 버릴 수 있어 좋기는 하지만 말이다.

또한 행렬 접근은 독립변수의 갯수가 증가하고 표본의 크기가 커지면 부딪치게 되는 소위 ‘차원의 저주’를 이해하는데도 도움이 된다. 독립변수의 갯수가 증가하면 X 벡터의 차원이 증가하며, 표본의 크기가 크게 증가하면 방정식의 갯수(사례수와 같다)도 그만큼 많이 증가한다. 그렇게 되면 아래의 행렬은 엄청나게 커지게 된다.

독립변수(혹은 예측변수)의 갯수(p)가 1천개이고, 표본의 크기(n)가 3천만 개라고 상상해 보라. 1천개의 항을 가진 방정식 3천만 개를 가지고 해를 찾아야 하지 않겠는가. 그 계산은 고성능 PC조차도 크게 힘겹다. 때문에 빅데이터 분석에서 회귀 모형(알고리즘)이 인기가 좋지만 표본의 사례를 모두 써야하는 최소자승법 대신 일부 사례만 가지고도 적합선을 찾을 수 있는 경사하강법이 사용된다.

그렇다고 최소자승 회귀모형이 시대에 뒤떨어진 것이라고 말할 수는 없다. 아직도 그리고 앞으로도 오랫동안 많은 분야에서 최소자승 회귀모형이 사용될 것이다. 대학에서 그것을 공부할만한 가치가 충분하다고 생각된다.

9개 사례로 된 미니 표본을 가지고 행렬로 회귀계수를 구해 보자. 아래 그림을 클릭하면 사례가 담긴 엑셀 파일을 사용할 수 있다.

인구 1천명 당 흑인 수(B)와 하층 인구의 비율(LSTAT)을 가지고 미국의 도시 집값의 중간 가격(MEDV)을 예측하는 모형을 구해보는 사례이다.

1) 계산을 수행하기 전에 먼저 데이터셋에 상수 필드를 추가한다(붉은 색으로 된 필드이다). 절편 열을 독립변수 행렬에 추가하기 위해서이다.

2) 식 (6)을 적용하기 위해 독립변수 행렬 X의 전치행렬을 구한다. 전치한 결과가 들어갈 범위를 선택하고 =TRANSPOSE(A1:C10)를 친 다음 Cntl+Shift+Enter를 누른다.

3) 그렇게 해서 구한 X의 전치행렬과 행렬 X를 곱한다. 곱한 결과가 들어갈 범위를 선택하고, MMULT 함수를 사용하여 결과를 구한다.

4) 그 행렬의 역행렬을 구한다. 역행렬이 들어갈 범위를 선택하고, MINVERSE 함수를 사용하여 결과를 구한다.

5) 그 역행렬에 X의 전치행렬을 곱한다. 곱한 결과가 들어갈 범위를 선택하고, MMULT 함수를 사용하여 결과를 구한다.

6) 그렇게 구한 행렬에 Y 벡터를 곱한다. 들어갈 범위를 선택하고, MMULT 함수를 사용하여 결과를 구한다.

행렬을 이용하면 절편과 회귀계수들이 한번에 구해진다. LSTAT의 회귀계수는 -0.57688, B의 회귀계수는 -0.19531, Y 절편은 110.2711이다. 엑셀의 ‘데이터분석’ 애드인의 회귀분석 기능을 사용하면 동일한 결과를 얻을 수 있을 것이다.

현실에서 이러한 과정으로 회귀모형을 구할 가능성은 없다. 표본의 크기가 20~30만 되도 계산 과정이 너무 번잡해 진다. 정규방정식을 사용하면, 다중회귀모형의 회귀계수 값이 그러한 과정을 거쳐서 계산된다는 점을 이해하는 것으로 충분하다. (2019-12-07)

표와 그래프(6): 더미변수 만들기

연구자가 단일 변수에 대해 분석하는 경우 측정 수준에 따라 표와 그래프 접근을 구분해 사용하는 데 혼란이 일어날 일은 거의 없다. 범주형 변수(categorical variable)에는 표를 사용하고 수치형 변수(numerical variable)에는 그래프를 사용하면 된다.

혼란은 두 개 이상의 변수들 사이에 존재하는 관계를 분석하는 경우에서 발생한다. 그 경우도 변수들의 측정 수준이 모두 같으면 단일 변수의 경우처럼 표와 그래프 접근을 분별해 사용하면 될 것이다. 하지만 독립변수(예측변수)와 종속변수(반응변수)의 측정 수준이 다르면 어떻게 해야 할까? 특히 독립변수가 여러 개이고 그것들의 측정 수준이 다양하다면 어떻게 해야 할까?

예컨대 종속변수가 범주형 변수인데, 독립변수들이 수치형 변수인 경우도 있을 것이고, 종속변수가 범주형인데, 독립변수들이 범주형과 수치형이 섞여 있는 경우도 있을 것이며, 반대로 종속변수가 수치형인데, 독립변수들이 범주형이거나 범주형과 수치형이 섞여 있는 경우도 있을 것이다. 그럴 때는 표와 그래프 접근 중 어떤 쪽을 선택해야 할까?

연구자가 표 접근을 선호한다면, 모든 변수를 범주형으로 변환해서 교차표 분석을 하고자 할 것이다. 수치형 변수를 범주형 변수로 변환하면 데이터에 담긴 정보를 잃게 됨을 피할 수 없다. 만약 그 정보 상실이 심각한 문제라고 판단되지 않는다면 교차표 접근을 취하고 카이자승을 사용한 독립성 검정을 하거나 로그 선형 모형을 적용하여 변수들의 관계를 분석하면 될 것이다.

수치형 변수를 범주형으로 변환하는 작업은 몇 개의 범주로 나누는 것이 가장 이상적인가는 늘 논란의 여지가 있지만 기술적으로는 매우 간단하다. 엑셀의 피벗테이블에서 그룹 기능을 사용하면 손쉽게 원하는 수만큼의 범주를 생성할 수 있다. 그다음에는 교차표 칸들의 빈도가 어떤가를 눈으로 보면서 적절한 갯수의 범주를 찾아갈 수 있을 것이다. 여기서는 이에 대한 설명은 생략한다. 그에 대해 관심이 있는 독자는 본인의 게시글 중 “어떻게 하면 교차표를 잘 만들 수 있나?”를 참조하기 바란다.

연구자가 그래프 접근을 선호한다면, 상관계수나 회귀모형을 적용하게 될 것이다. 그 경우는 범주형 변수를 모두 수치형 변수로 변환해야 한다. 그 변환을 통해서 각 변수에 대해 의미 있는 평균을 얻을 수 있다면 각 분석 기법의 전제조건(가정)을 크게 위반하지 않는 범위 내에서 그래프 접근이 사용될 수 있다.

범주형을 수치형으로 바꾸는 방법은 더미변환(dummy transformation)이다. 즉, 기존의 범주형 변수로부터 더미변수(어떤 학자들은 그것을 가변수 혹은 모의변수라고 부른다)를 생성하는 것이다.

더미변수 생성에는 반드시 세 가지 점에 유념해야 한다. 첫째, 범주에 대해 0과 1의 수치를 부여한다. 둘째, 범주 수보다 하나 적은 갯수만큼의 변수를 생성한다. 셋째, 더미변수(들)에 대해 적절한 변수명을 붙인다. 사례를 가지고 더미변수를 만들면서 공부해보자.

먼저 가장 간단한 이진변수(binary variable)의 경우를 보자. 설문조사 데이터라면, 성별에 관한 문항 혹은 응답범주가 예/아니오만 있는 문항이 여기에 해당된다. 설문조사에서 성별은 대체로 남자와 여자를 1과 2로 코딩되어 있다. 대체로 여성에게 1, 남성에게 2가 부여되거나 그 반대이다. 예/아니오의 응답도 마찬가지이다. 원래 데이터 파일에 어떻게 코딩이 되어 있든지 더미변수가 되기 위해서는 코딩이 0과 1로 변환되어야 한다. 

만약 성별이라는 변수가 여성은 1, 남성은 2로 코딩되어 있다면, 연구자는 그것으로부터 여성이라는 새 더미변수를 만들 수 있을 것이다. 새 더미변수 여성은 여성 1, 남성 0이라는 새 코드를 갖는다. 새 더미변수가 남성일 수도 있을 것이다. 그 경우 여성 0, 남성 1의 코드를 갖게 한다. 성별의 범주는 여성과 남성 두 개이지만 그것으로부터 생성된 더미변수는 반드시 여성이거나 남성 하나 뿐이어야 한다.

더미변환 표를 사용하면 도움이 된다. 더미변환 표에서는 행에 원래 변수의 범주를 두고, 열에 새 더미변수를 둔다. 아래 표에는 성별이라는 변수로부터 여성이라는 더미변수를 생성했다.

성별여성
여성(1)1
남성(2)0

만약 새 더미변수의 이름을 그냥 원래 변수 이름 그대로 성별이라고 한다면 혼란이 야기될 수도 있다. 우선 성별 1 혹은 성별 0이라는 범주가 의미를 지닐 수 없다. 더구나 새 더미변수의 평균을 계산했는 데 0.6이 나왔다면 이미 기호적 혼란이 발생한다. 뿐만 아니라 나중에 어떤 범주를 1로 두었고, 어떤 범주를 0으로 두었는지를 기억할 수 없다는 문제도 있다.

새 더미변수의 이름을 여성으로 하고 여성에게 1을, 남성에게 0을 부여하면 의미의 혼란을 피할 수 있다(변수명을 남성으로 하고 반대로 코딩해도 그렇다). 약간 억지가 들어간 주장이기는 하지만 여성성이 여성에게는 있고(1), 남성에게는 없다(0)는 의미를 지닐 수 있으며, 여성의 평균이 0.6이라면 전체 사례(혹은 응답자)의 60%가 여성이라는 의미를 갖는다. 

또한 성별 변수의 범주는 두 개이지만, 더미변수는 그보다 하나 적은 한 개만 생성해야 한다. 만약 여성과 남성이라는 두 개의 더미변수를 생성해서 회귀모형에 포함시킨다면, 두 변수 사이의 상관관계가 너무 높아 앞 게시글에서 설명한 다중공선성의 문제가 발생하게 된다. 이 문제를 어떤 학자들은 더미변수의 함정이라고 한다. 그렇게 무시무시한(?) 이름을 붙인 것은 그 점을 반드시 기억해서 피해야 함을 강조하기 위해서이리라.

image

이번에는 범주가 여러 개인 학력의 경우를 보자. 원 데이터파일에 학력이 다음과 같이 범주화되어 있다고 하자.

학력: 고졸 미만, 고졸, 대졸, 대학원 졸업

이 변수는 아래와 같이 더미변환할 수 있다.

고졸미만: 고졸미만(less than high school) 1, 기타(otherwise) 0

고졸: 고졸(high school diploma) 1, 기타(otherwise) 0

대졸: 대졸(college degree) 1, 기타(otherwise) 0

대학원졸업: 대학원졸업(postgraduate degree) 1, 기타(otherwise) 0

앞 부분에 볼드체로 된 용어가 새 변수명이다. 이렇게 네 종류의 더미변수가 생성될 수 있다. 그러나 실제로 회귀모형에는 반드시 이중 3개만 포함되어야 한다. 어떤 세 개인가는 연구자의 선택에 달려 있다. 회귀모형에서는 제외된 범주(더미변수)가 비교의 기준이다(그래서 그것을 참조 범주, reference category라고 부른다). 회귀모형에 포함된 더미변수의 회귀계수는 해당 더미변수(범주)와 제외된 범주(참조 범주) 사이의 비교한다. 만약 위 학력 변수에서 대졸을 참조 범주로 선택하여 회귀모형에서 제외한다면, 회귀계수들은 대졸과 고졸미만, 대졸과 고졸, 대졸과 대학원졸업의 사례들을 비교한 값이 될 것이다. 대졸은 고졸미만 더미변수에서도 0, 고졸 더미변수에서도 0, 그리고 대학원졸업 더미변수에서도 0이다. 즉, 회귀모형에 포함된 세 더미변수(범주)에서 모두 0의 값을 갖기 때문이다(아래 표 참조).

학력고졸미만고졸대학원졸
고졸미만(1)100
고졸(2)010
대졸(3)000
대학원 졸업(4)001

어떤 범주를 참조 범주로 택할 것인가는 근본적으로 연구자의 선택에 달려 있다. 그것이 별로 큰 문제가 아니라는 말이다. 그러나 경험상 두 가지 기준을 적용하면 도움이 된다.

첫째, 가장(혹은 상대적으로) 일반적인 범주를 참조범주로 선택한다. 예컨대 빈곤이라는 변수에서 빈곤층과 비곤층을 비교한다면, 빈곤층을 참조범주로 택하라는 말이다. 대체로 빈곤층이 일반적이기 때문이다. 혼인상태라는 변수는 대체로 결혼, 미혼, 이혼, 사별 등을 범주를 가질텐데, 이중 결혼이라는 범주가 가장 일반적이기 때문에 그것을 참조범주로 택한다. 아래 그림에서 인종/피부색이라는 변수를 더미변수로 만들었는데 백인/유럽계(white/European-American)가 참조범주로 선택되어 회귀모형에서 제외되었다.

dummy variable에 대한 이미지 검색결과

둘째, 가장 흔한(사례수가 가장 많은) 범주를 참조범주로 선택한다. 사실 일반적인 범주가 흔한 범주인 경우가 많겠지만 꼭 그렇지는 않을 것이다. 그리고 일반적인 범주가 어떤 것인지 분명치 않을 때도 있다. 분석 대상에서 대학졸업자가 다수인 경우 대졸을 참조범주로 택한다. 만약 고졸미만이 아주 작은 비율인데도, 그것을 참조범주로 택할 경우 회귀계수 값이 문제가 될 수도 있다. 분모가 0에 가깝다고 상상해보라.

이제 더미변수가 포함된 다중회귀모형의 사례를 보자.

미국의 경제 잡지 Fortune은 매년 일하기 좋은 100대 기업의 목록을 공개한다. 링크된 엑셀 파일 FortuneBest.xlsx는 2012년도 상위 100개 기업들 중 무작위 표본 30개의 자료를 담고 있다(재인용). 데이터셋은 순위, 기업, 크기, 정직원 연봉(단위: $1,000), 시간제 직원 연봉(단위 $1,000)라는 네 개의 필드로 구성되어 있다. 순위는 기업들의 순위이고, 기업은 기업명이다. 그리고 크기는 그 기업의 크기를 소기업, 중견기업, 대기업으로 나타내고, 정직원 연봉은 정규직 직원들의 평균 연봉을, 시간제직원 연봉은 비정규직 직원들의 평균 연봉을 말한다. Fortune은 10,000 명 이상의 직원이 근무하면 대기업, 2,500에서 10,000 명 사이의 직원이 근무하면 중견기업, 그리고 2,500 명 이하의 직원이 근무하면 소기업으로 정의한다.

a. 이 자료를 이용하여 비정규직의 평균 연봉이 주어졌을 때 정규직의 평균 연봉을 예측할 수 있는 추정회귀식을 구하시오.

b. 을 사용하여 통계적 유의성을 검증하시오.

c. 기업의 크기가 주는 영향을 포함하기 위해서, 기업의 크기를 나타내는 더미변수를 생성하여 비정규직 평균 연봉(NRES)과 기업의 크기가 주어졌을 때 정규직의 평균 연봉(RES)을 예측할 수 있는 추정회귀식을 구하시오.

(해제)

a.

b. 모형의 유의성: F 검정의 p-값이 0.000525로서 회귀 모형이 통계적으로 유의미함. 회귀계수의 유의성: t 검정의 p-값이 0.000525로서 회귀계수가 통계적으로 유의미함.

c. 기업 크기는 대기업을 참조범주로 놓고, 중견기업과 소기업이라는 더미변수로 변환한다(아래 표 참조). 엑셀의 데이터셋에 소기업과 중견기업의 필드가 생성되어 있다.

기업 크기중견기업소기업
대기업00
중견기업10
소기업01

이제 비정규의 평균 연봉과 기업의 크기를 가지고 추정회귀식을 만들 수 있다. 회귀모형에 사용된 실제 독립변수는 비정규적의 평균 연봉(NRES), 소기업(Small Firm, SM), 중견기업(Mid-size Firm, MF)이다. 아래는 엑셀의 데이터분석 애드인에서 회귀분석 기능을 적용해서 나온 결과이다.

이 결과를 가지고 추정회귀식을 구성하면 다음과 같다. 중견기업의 회귀계수가 통계적으로 유의미하지 않음(회귀계수가 0이라는 의미)으로 추정회귀식에서 제외하였다.

분산분석표를 보면, F 검정의 p-값이 4.82E-05로 모형이 통계적으로 유의함을 보여준다. 맨 아래의 회귀모형 표를 보면, 더미변수 중견기업의 회귀계수는 통계적으로 유의미하지 않다(p-값이 0.801553). 비정규직 평균 연봉(시간제 직원 연봉)을 통제했을 때 대기업과 중견기업의 정규직 평균 연봉에는 차이가 없는 것으로 추정된다. 더미변수 소기업의 회귀계수는 34.40215이며, p-값이 0.002837로 통계적으로 유의미하다. 이는 비정규직 평균 연봉을 통제했을 때 소기업의 정규직 평균 연봉은 대기업의 정규직 평균 연봉보다 평균 3만4천4백불 정도 높다. 또한 예측변수 비정규직 평균 연봉(시간제 직원 연봉)의 회귀계수는 1.224045이며, p-값이 6.63E-05로 통계적으로 유의미하다. 이는 기업의 크기를 통제했을 때, Fortune Best 상위 100개 기업에서 비정규직의 평균 연봉이 1천 달러 올라가면, 정규직의 평균 연봉은 1천2백24불 정도 올라간다.

이상으로 더미변수를 생성하는 방법과 그것을 회귀모형에 사용하고 회귀분석 결과를 해석하는 방법을 공부했다. (2019-12-05)

표와 그래프(5): 다중회귀분석

단순회귀분석은 독립변수(혹은 예측변수)가 변함에 따라 종속변수 (혹은 반응변수)가 얼만큼 변하는지를 보여준다는 점에서 피어슨 상관계수의 한계를 적어도 한 가지는 보완하고 있다. 그러나 그것도 여전히 피어슨 상관계수와 마찬가지로 제3 변수의 영향을 통제하지 못하며, 다범주 변수를 분석에 포함하지 못한다. 이 문제를 해결하려면 다중회귀분석을 사용해야 한다.

다중회귀분석(multiple regression analysis)은 단순회귀분석에 독립 변수(들)가 추가된 것이다. 그것은 한 개의 독립변수가 아니라 두 개 이상의 독립변수를 가지고 종속변수를 설명하거나 예측할 때 사용하는 통계 기법이다. 하지만 그 확장이 그리 단순하지 않다. 회귀모형에서 독립 변수가 추가된다는 것은 분석 그래프의 차원이 증가함을 의미하기 때문이다. 단순회귀의 경우는 2차원 공간이었지만, 다중회귀는 독립변수(혹은 예측변수)의 수에 따라 3차원, 4차원, 100차원, 심지어 1,000차원의 공간일 수 있다. 3차원까지는 분석 그래프를 어떻게 직관적으로 이해할 수 있겠지만 4차원을 넘어서면 직관적 이해가 불가능해진다.

예컨대 아래 그래프는 독립변수가 2개인 3차원 공간이라서 직관적 이해가 가능하다. 연비(MPG)가 차량무게(Weight)와 음의 관계이고, 엔진의 힘(Horsepower)과도 음의 관계이며, 그 둘이 모여서 연비를 규정하는 평면(이것을 회귀평면이라고 부름)을 구성하고 있음을 직관적으로 느낄 수 있다. 3차원 공간의 회귀평면조차 직관으로 느끼기 쉽지 않지만 그나마 직관이 따라 줄 수 있는 그래프는 딱 3차원까지이다.

multiple linear regression graph에 대한 이미지 검색결과

분석 그래프의 차원이 증가하면 계산이 복잡해질 뿐 아니라 ‘다중공선성(multicollinearity)’, ‘과적합(over-fitting)’, ‘차원의 저주’ 등과 같은 문제가 발생하기도 한다. 그런 부수적인 문제들까지 논의해야 하기 때문에 사실 다중회귀분석의 소개는 쉽지 않다. 그래도 수고를 해서라도 배울만한 가치가 충분하니 함께 그것을  공략해 보자.

다중회귀분석에 대한 서술은 단계적 접근을 취하겠다. (1) 최소한의 수학적 배경만 가지고 다중회귀모형을 이해하고 사용하고자 하는 독자, (2) 행렬과 미적분에 대한 지식을 가진 독자, (3) 빅데이터의 데이터마이닝에까지 다중회귀모형을 활용하고자 하는 독자로 점차 설명 수준을 높여가겠다.

(1) 고등학교 인문계 정도의 수학적 배경을 가진 독자

단순회귀분석에서 종속변수 y의 값을 예측하는 일차함수는 다음과 같이 제시되었다(앞 게시글 참조).

다중회귀분석에서는 종속변수 y의 값을 예측하기 위한 독립변수(혹은 통제변수)가 추가되므로 아래와 같이 변수가 여러 개인, 따라서 항(term)이 여러 개인 다차원 함수가 된다.

식 (2)는 y의 예측값()을 가지고 표현되었다. 이 식을 아래와 같이 종속변수의 관찰값()을가지고 표현할 수도 있다. 예측(추정)되는 대상은 모집단이기 때문에 회귀계수들을 그리스 문자로 표기했다. 즉, 는 회귀계수의 표본통계치이고 는 모수이다. 이 경우 오차(혹은 잔차)항()이 추가되어야 할 것이다.각 y 값에 대한 예측값은 오차가 존재하기 때문이다.

귀찮은 사람은 다음처럼 식 (2)와 (3)에서 변수를 대문자 Y, X로 표시하고(확률변수는 대문자로 표기) 아래 첨자 중 를 떼어버려도 상관없다. 당연히 Y는 이고, X는 이며, 는 1부터 까지 일 것이기 때문이다. 수학 표기에 익숙하지 않은 독자는 다소 복잡하기는 해도 오히려 식 (2)와 (3)을 사용하는 편이 혼란이 적을 것이다.

식 (2)와 (3)에서 는 회귀계수(절편 포함)의 갯수이다. 회귀계수는 우리가 구하려고 하는 미지수이니 는 곧 미지수의 갯수이기도 하다. 식 (2)는 다중회귀모형에서 종속변수가 독립변수의 효과(혹은 영향)를 선형적 결합하여 예측되는 것임을 보여준다. 간단히 말해 다중회귀모형은 독립변수들의 선형적 결합으로 종속변수를 예측(설명)하는 통계기법이다.

식 (2)에서 회귀계수는 단순회귀모형에서처럼 독립변수와 종속변수의 선형적 관계를 보여준다. 다만 단순회귀모형에서와 달리 다중회귀모형의 회귀계수는 회귀모형에 포함된 다른 독립변수들을 통제한 상태에서 특정 독립변수와 종속변수의 선형적 관계를 나타낸다.

논의를 단순화하기 위해 독립변수가 두 개인 아래 회귀식을 가지고 생각해보자.

식 (5)에서 회귀계수 은 변수 가 통제된 상태에서 독립변수 과 종속변수 사이의 선형적 관계를 나타낸다. 여기서 “통제된(be controlled for)”은 ‘를 변하지 못하게 한(holding constant)’이란 의미이다. 즉, 식 (5)에서는 회귀계수 은 를 변하지 못하게 했을 때 의 선형적 관계를 나타낸다는 말이다. 마찬가지로 회귀계수 는 변수 을 통제했을(변하지 못하게 했을) 때 의 선형적 관계를 나타낸다. 그래서 단순회귀모형의 회귀계수를 총 회귀계수(total regression coefficient)라고 부르는 반면 다중회귀모형의 회귀계수를 부분 회귀계수(partial regression coefficient)라고 부른다.

다중회귀모형에서는 단순회귀모형에서와 마찬가지로 잔차제곱의 합()을 최소화하는 최소자승법을 적용하여 회귀계수와 절편(을 구할 수 있다. 최소자승법을 사용해 식 (5)의 을 추정하면 다음과 같다.

위 추정식들은 언뜻 복잡해 보이지만 찬찬히 들여다보면 몇 가지 간단한 정보들의 조합이다. 회귀계수는 표본평균(), 표준편차(), 상관계수()을 알면 도출될 수 있다.

다중회귀계수는 모형(회귀함수) 내의 다른 독립변수(들)를 통제했을 때 어떤 독립변수가 한 단위 변화할 때 종속변수가 변화하는 양을 나타낸다. 예컨대 식 (5)에서 를 통제한 상태에서 한 단위의  이 변화할 때 가 변화되는 양을 나타낸다. 마찬가지로 을 통제한 상태에서 한 단위의 가 변화할 때 가 변화되는 양을 나타낸다.

결정계수를 구하는 방법은 단순회귀모형에서와 동일하다.

여기서 이며, 다만 SSE를 구할 때 필요한 를 구하는 식이 에서 로 바뀔 뿐이다.  값은 두 변수 로 이루어진 회귀모형이 종속변수의 변량(총제곱합)의 몇%를 설명하고 있다고 해석된다.

결정계수의 유의성은 역시 F 검정으로 수행된다. 검정을 위한 가설은 다음과 같이 달라진다.

 

모수들 중 적어도 하나는 0이 아니다.

만약에 가 기각되면 하나 이상의 모수는 0이 아니며 종속변수 와 독립변수의 집합  사이의 전반적인 관계는 통계적으로 유의미하다고 결론을 내릴 수 있을 것이다.

F 검정통계량은 MSR(회귀에 의한 제곱합의 평균)을 MSE(잔차제곱합의 평균)로 나눈 값이며, MSR과 MSE는 SSR과 SSE를 그에 대응하는 자유도로 나눈 값이다.

식 (7)에서 p는 독립변수의 갯수이다. 그리고

따라서 검정통계량 F는,

검정통계량을 구하면, 분자의 자유도가 이고, 분모의 자유도가 인 F분포에서 p값이 구해진다. 그 값이 유의수준(대체로 0.05)보다 작으면 영가설이 기각되고, 유의수준보다 크면 영가설이 기각될 수 없다.  자유도의 크기만 다를 뿐이지 F 검정 역시 단순회귀분석과 동일함을 알 수 있다.

만약 F검정에서 다중회귀 관계가 유의미하다고 나온다면, 각각의 개별 모수(회귀계수)의 유의성을 검증하는 t 검정을 실시할 수 있다. t 검정의 목표는 개별 모 회귀계수가 0이 아니라고() 결론내릴 수 있는지를 확인하는 것이다. 모  회귀계수의 개별 유의성에 대한 t 검정에는 다음과 같은 가설이 적용된다. 모수 에 대하여

검정통계량 t는

식 (10)에서 영가설이 참이라면 이다. 다른 회귀계수들의 모수에 대해서도 동일한 방식으로 t 검정을 실시할 수 있다.

검정통계량이 구해지면, 자유도 인 t분포에서 양측 검정의 p-값을 구하고, 그 값이 선택한 유의수준(대체로 0.05)보다 작으면 영가설을 기각하고 그렇지 않으면 영가설을 기각하지 못한다.

이상으로 회귀함수, 회귀계수, 결정계수, 회귀 모형의 통계적 유의미성 검증(F 검정), 모 회귀계수의 통계적 유의미성 검정(t 검정) 등 다중회귀분석에 기초가 되는 내용을 두루 살펴보았다. 기초 단계의 다중회귀분석 학습에서는 모수(회귀계수), 검정통계량, 결정계수를 도출하는 과정을 수학적으로 이해하는 것보다 실제로 통계 프로그램이 제공하는 회귀분석 결과를 얼마나 잘 해석할 수 있는가가 더 중요하다. 아무튼 지금까지 논의한 정도면 회귀분석 결과를 이해하는 데 필요한 최소한의 지식은 갖추는 것이 아닐까 생각된다.

한 가지 논의만 추가하자. 모든 통계기법은 적용되기 위한 전제조건이 있으며, 어떤 통계기법도 적절히 사용되려면 전제조건이 충족되어야 한다. 현실에서는 왕왕 전제조건이 무시된 채 통계기법들이 적용되곤 하지만 그것은 좋은 태도가 아니다.

회귀분석에는 세 가지 전제조건(가정)이 있다.

(1) 선형성(linearity):  독립변수의 각 수준에서 종속변수의 분포의 평균은 직선상에 위치한다. 즉, 회귀 모형은 종속변수와 독립변수(들)가 선형적 관계(linear relationship)를 갖는다고 가정될 수 있을 때 사용된다. 위 식 (4)에서처럼 회귀함수에서 모수(population parameters)는 그 선을 규정하며, 표본 데이터에 적합(fit)하여 추정된다(앞 게시글 참조).

(2) 동질적 분산(homogeneous variance): 의 모든 값에서 는 동일한 퍼짐(spread)의 정규분포를 갖는다. 다시 말하면, 조건부 확률분포   은 모두 동일한 분산 을 가진다. 이를 등분산성(homoscedasticity)이라고 한다.

(3) 독립(independence): 확률변수 는 통계적으로 독립적이다. 이 요건은 아래와 같이 오차항(error term, , 모수는 )를 가지고 표현할 수 있다.

위 식은 관찰값 를 기댓값과 오차()의 합으로 표시하고 있다. 여기서  는 독립적인 오차(independent errors)이며, 오차는 확률변수로서 평균()이 0이고 분산이 인 정규분포를 갖는다. 이는 독립변수 ()의 모든 값에 대하여 동일하다. 앞에서 최소자승법을 소개했는데 최소자승법을 가지고 회귀계수를 추정하려면 독립변수 와 오차항()이 통계적으로 상호독립적이어야한다.

이 세 가지 조건은 다중회귀분석 뿐 아니라 단순회귀분석에서도 충족되어야 한다. 그렇다면 우리가 분석하려는 데이터가 이 조건을 충족하는지는 어떻게 확인할 수 있을까? 가장 간편한 방법은 산포도(scatter plot)를 그려보는 것이다. 산포도는 데이터 분포의 선형성을 보여줄 뿐 아니라 이상값(outliers)과 영향력 있는 관측값을 탐지할 수 있게 해준다.

다중회귀분석의 경우는 산포도 대신 잔차 플롯(residual plot)을 사용한다. 종속변수의 관측값과 예측값의 차이()가 잔차(residuals) 혹은 오차(errors)이다. 식 (3)에서 가 잔차이다. 는 오차라고 불리기도 하고 잔차라고 불리기도 한다. (다소 혼란스럽지만 학계의 관행이라 오차플롯 대신 잔차플롯이라는 이름을 따랐다.) 실제로는 이 잔차들을 표준화한 표준화된 잔차(standardized residuals)–간단히 표준 잔차라고 불린다–가 분석에 사용된다. 실제로 각 잔차값을 잔차들의 표준편차로 나눈 값이 사용된다. 그 값들은 표준화된 잔차의 근사값들이다. 원래 표준화된 잔차는 추정된 표준오차를 사용하여 계산해야 정확한 값이겠지만 그렇게 간단히 계산된 근사값으로 대체해도 무방할 것이다.

잔차플롯에는 두 가지가 있다. 하나는 독립변수 에 대한 잔차플롯이다. 전차를 세로축으로, 독립변수 를 가로축으로 하여 표시한 그래프이다. 모든 값에서 잔차(오차)의 분산이 같아야 하는데 만약 그 전제조건이 충족되면 잔차가 폭이 일정한 가로 선 안에 존재하는 페턴을 보일 것이다(아래 그림에서 세번 째 잔차플롯). 만약 다른 잔차가 다른 패턴을 보인다면 전제조건이 깨져있거나 선형분석이 적합하지 않음을 시사한다.

patterns of residual plots에 대한 이미지 검색결과

이 방법은 다중회귀분석에 사용되면 독립변수 하나하나 잔차플롯을 그려야 한다. 그 경우 독립변수의 갯수가 늘어나면 대단히 번거로운 작업이 될 것이다. 그래서 다중회귀분석에는 흔히 독립변수 대신 종속변수에 대한 예측값()을 가로축으로 놓고 플롯한 잔차플롯이 사용된다. 이 잔차플롯은 데이터에 이상값 혹은 영향력이 큰 값이 존재하는 지를 보여준다. 만약 그런 값들이 있다면 잔차가 정규분포를 가져야 한다는 전제조건이 깨졌음을 암시한다. 그리고 회귀선이 심각하게 데이터의 분포를 왜곡하고 있음을 시사하기도 한다. 표준잔차의 값이 -2보다 작거나 +2보다 크면 이상값으로 간주하는 것이 좋다.

이상값이나 영향력이 큰 값이 존재할 경우 그 값을 낳은 와 의 관측값을 살펴보아야 한다. 그것이 데이터 측정에 오류가 발생했기 때문일 수도 있고, 데이터 오기의 결과일 수도 있으며, 단지 독립변수의 값이 비정상적으로 큰 때문일 수도 있다. 이상값이 측정오류나 데이터 오기 때문이면 그것을 제외하거나 수정하면 될 것이다. 만약 정확하게 측정되고 기록된 값이라면, 그 사례(들)가 꼭 적합에 포함되어야 하는지를 재고해 보아야 한다. 만약 그 값을 포함한 회귀선보다 그 값을 제외하고 적합한 회귀선이 데이터의 분포를 더 정확히 대표한다고 판단된다면 그 값을 제외하는 편이 나을 것이다.

전제조건까지는 아니지만 다중회귀분석에서는 한 가지 점이 더 고려되어야 한다. 다중회귀분석에는 독립변수들이 두 개 이상인데, 그 독립변수들 사이의 상관성이 아주 높지 않아야 한다. 예컨대 두 독립변수 사이의  피어슨 상관계수가 7.0 이상이면 소위 다중공선성(multicollinearity)이 발생할 가능성이 있다. 다중공선성이란 회귀모형 안의 두 독립변수의 상관성이 아주 높아 회귀모형이 차원을 잃게 되는 현상이다. 그 독립변수들 중 둘 중의 하나는 회귀계수가 0이 되어 모형의 결정력에 전혀 기여를 하지 못하는 것이다.

다중공선성이 발생할 경우 F검정(모형 전체적으로는)은 통계적으로 유의미한데, 회귀계수들의 t검정 결과는 모두 통계적으로 유의미하지 않을 수도 있다. 독립변수들 사이의 상관성이 높지 않으면 그런 문제점을 피할 수 있다. 다중회귀분석을 실시할 때 먼저 모든 변수들 사이의 상관관계(영차상관관계, zero-order correlations라고도 부름) 행렬을 구해서 살펴보아 잠정적인 독립변수들 사이에 상관계수 값이 아주 크게 나올 경우 둘 중 하나를 모형에 포함시키지 않는 방식으로 다중공선성을 예방할 수 있을 것이다.

이제 구체적인 사례를 가지고 다중회귀분석을 차근차근 수행해 보자. 괄호 안에 링크된 데이터파일(CruiseShips.xlsx)에는 소형 크루즈 선박에 대한 고객들의 평가가 담겨있다. 데이터파일에서처럼  여정/일정(I), 해안 여행(CT), 음식/식사(F) 점수가 주어졌을 때 전반적인 점수(OR)를 예측할 수 있는 추정회귀식을 구하는 것이 목표이다.

먼저 변수들 사이의 상관계수행렬을 구하면 아래와 같다. 독립변수들 사이의 상관계수가 0.2259, -0.0090, -0.1074로 다중공선성의 가능성은 없다고 판단된다.

일단 추정회귀모형을 식 (11)과 같이 쓸 수 있을 것이다.

엑셀의 자체 애드인 ‘데이터 분석’의 회귀분석을 적용하면 아래와 같은 결과를 얻는다.

위 그림의 첫번 째 표는 ‘회귀분석 통계량’이라는 제목에 다섯 가지의 정보가 담겨있다. 먼저 다중 상관계수는 종속변수의 관찰값()과, 종속변수에 대한 회귀모형에 의한 예측값() 사이의 관계에 대한 피어슨 상관계수이다. 그 값이 0.8659로 상당히 높은 상관성을 보인다. 그것은 표본의 관찰값이 회귀선 주위에 잘 모여있으며, 다시 말해 주어진 회귀모형이 종속변수를 잘 예측하고 있음을 짐작할 수 있다.

결정계수는 모형의 결정력을 보여준다. 그것은 다중 상관계수를 제곱하면 얻을 수 있다(). 그것은 식(6)이 보여 주듯이 총제곱합(SST) 중 회귀모형에 의해 설명된 부분인 회귀제곱합(SSR)의 비율이기도 하다(). 주어진 회귀모형이 전반적인 점수라는 종속변수의 변량을 잘(74.98%) 설명하고 있음을 알 수 있다.

조정된 결정계수()는 소위 과적합(over-fitting)을 예방하는 도구로 볼 수 있다. 과적합이란 통계분석에서 얻은 결과를 일반화하기 어려운 현상을 말한다. 모형의 결정력을 높인다고 독립변수들을 무리해서 추가하면 결정력의 수치는 높아지겠지만 그 모형을 다른 사례에 사용하기는 어려워질 것이다.

과적합의 위험성에도 불구하고 연구자들은 자신이 만든 회귀모형의 결정계수가 높을수록 좋아하는 경향이 있다. 그래서 조정된 결정계수는 별로 도움이 되지 않는 독립변수를 무리해서 추가하는 경우 벌점(penalty)을 주는 방식으로 계산된다(아래 식 (12) 참조).

식 (12)에서 n은 사례수, p는 독립변수의 갯수이다. 조정된 결정계수 값이 0.7029로 결정계수(0.7498)와 약간 다르지만 문제가 될 정도는 아니라고 판단된다. 아마도 모형에 포함된 독립변수 중 어떤 것의 회귀계수가 통계적으로 유의미하지 못한 때문일 것이다.

표준오차는 추정값의 표준오차로 표본의 실제 관측값이 표본회귀선 주위에 얼마나 흩어져 있나를 측정한다. 추정표준오차가 작으면 관측값과 예측값 사이의 차이가 작다고 볼 수 있다. 실제 계산은 아래와 같이 하면 된다.

따라서 표준오차는 이다.

위 그림에서 두번 째 표는 분산분석표이다. 분산분석표에서

총제곱합(SST) = 회귀 제곱합(SSR) + 잔차 제곱합(SSE).

SSR은 92.35202, SSE는 30.81348이며, 이 둘을 합한 SST는 123.1655이다. SSR에 대응하는 자유도는 독립변수의 갯수인 3, SSE의 자유도는 20-3-1=16, 총자유도는 20-1=19이다. MSR(회귀 제곱평균)은 92.35202/3 = 30.7840063이고, MSE는 30.81348/16 = 1.92584256으므로 F-값은 30.7840063/1.92584256 = 15.9847이다. 분포에서 검정통계량 15.9847의 단측검정 p-값은 0.00005이다. 따라서 모든 모 회귀계수가 0이라는 영가설()은 기각된다.

모형 전체가 통계적으로 유의미하므로 이제 각각의 회귀계수 값과 그것의 통계적 유의성을 살펴볼 차례이다.  그에 관한 정보는 그림의 세번 째 표에 제시되어 있다.

그 표에 다음과 같은 회귀계수 값들이 나와 있다.

이 값들을 식 (11)에 대입하면 아래와 같은 회귀식을 얻는다.

회귀계수들의 값이 지닌 의미를 새겨보자. 모든 변수들이 1점부터 100점 사이의 값을 가지며 소숫점 첫째 자리까지 측정되어 있다. 여정/일정의 평가 점수가 1점 올라가면, 해안여행과 음식/식사에 대한 평가를 통제할 때 전반적인 점수가 0.1105점 올라가며, 해안여행의 평가 점수가 1점 올라가면, 여정/일정과 음식/식사에 대한 평가를 통제할 때 전반적인 점수가 0.2445점 올라가고, 음식/식사의 평가 점수가 1점 올라가면, 여정/일정과 해안여행을 통제할 때 전반적인 점수가 0.2474점 올라간다.    

그런데 이 회귀계수들은 통계적으로 유의미한가? 이 질문에 답하려면 각각의 p-값을 보면된다. p-값은 절편부터 순서대로 0.0160, 0.4069, 3.69e-05, 0.0011이다. 유의수준 0.05에서 여정/일정()의 회귀계수는 0.05보다 크기 때문에 여정/일정의 모 회귀계수()에 대한 영가설은 기각에 실패하고, 절편과 다른 회귀계수들()은 p-값이 0.05보다 작으므로 영가설이 기각된다.

이 결과를 참조해서 크루즈 선박에 대한 만족도 예측 모형을 구성한다면, 여정/일정 변수를 빼고 해안여행과 음식/식사라는 두 개의 독립변수로만 회귀모형을 만들어도 충분할 것으로 생각된다.

위 그림의 맨 아래 쪽에는 ‘잔차출력’이라는 제목의 표가 있다. 이 표는 ‘데이터 분석’의 회귀분석 창에서 ‘잔차’와 ‘표준잔차’를 체크하면 얻을 수 있다. 잔차도와 선적합도를 체크하면 각 독립변수에 대한 잔차플롯을 얻을 수 있지만 위에서 언급한 것처럼 표준잔차에 대한 분석으로 대신한다.

잔차들의 표준편차(STDEV.S 함수를 사용)를 구하면, 1.273484259이다. 각 잔차를 이 표준편차로 나누면 ‘표준잔차’을 얻는다. 그렇게 모든 표준잔차를 구해서 엑셀에 준 표준잔차와 비교해 보면 일치함을 알 수 있을 것이다. 실제로 엑셀은 그 방법을 사용해서 표준화된 잔차의 근사값을 구한다. 아래 그래프는 종속변수의 예측값을 가로축, 표준잔차를 세로축으로 놓고 그린 것이다.

그래프를 보면 -2나 +2를 넘어가는 표준잔차가 없으니 이상값이 없다고 판단해도 될 것이다. 표준잔차 표만 봐도 확인할 수 있지만 잔차플롯을 그려 본 것이다. 참고로 표준잔차 대신 잔차를 세로축에, 예측값 대신 각 독립변수를 가로축에 놓으면 독립변수에 대한 잔차플롯이 된다. 엑셀의 데이터분석의 회귀분석 창에서 ‘잔차도’를 체크하면 그 잔차플롯들을 구할 수 있다.  (2019-11-30)

표와 그래프(4): 최소자승 회귀분석

최소자승 회귀분석은 잔차제곱합(SSE)을 최소화하는 직선을 구하는 기법이다. 이는 아래 식 (1)로 표시할 수 있다. 잔차제곱합 대신 잔차제곱의 평균(MSE)를 가지고 풀 수도 있지만 어차피 MSE는 SSE를 자유도로 나눈 값이기 때문에 SSE로 풀면 된다.

잔차제곱합은 다음 식으로 계산된다. 즉, 관찰값()에서 회귀식에 의한 예측값()을 뺀 값을 자승하여 모두 더해서 구한다.

이 식을 아래와 같이 최소화한다.

그런데, 회귀함수는 다음과 같으므로,

식 (4)를 식 (3)에 대입하면 다음 식을 얻는다.

식 (5)를 풀어 미지수 을 구하면 그것이 최소자승법의 조건을 충족시키는 회귀계수들이다. 이는 미분을 사용하여 풀 수 있다. 가  미지수를 두 개 가지고 있으니 아래와 같이 (SSE가 좀 길어서 간단히 S로 표기했음)로 두고 편미분을 하고, 각각을 0으로 놓고 풀면 된다.

먼저 에 관해 편미분하면,

이 식을 정리하면,

다음에 에 대해 편미분하면,

이 식을 정리하면,

(7)과 (8)을 정규방정식(normal equations)이라고 부른다. 이 두 식을 에 관해 풀면 다음 식이 얻어진다.

먼저 를 구하기 위해 식 (7)의 양변을 으로 나누면,

따라서,

그런데, 이므로,

식 (9)를 식 (8)에 대입해서 에 관해 풀면 아래와 같은 해를 얻는다. 풀이 과정이 어렵지는 않지만 다소 복잡하니 생략한다.

주어진 데이터를 가지고 식 (9)와 (10)을 계산하여 절편 와 기울기 을 구하는 것이 최소자승(혹은 정규방정식) 회귀분석이다.

이렇게 해서 표본의 회귀계수(절편과 기울기)를 구하면, 그것들로 이루어진 회귀함수는 모집단 회귀계수에 대한 불편의적 추정량이다. 그렇다면 모집단에서 회귀선(최적합선)은 어떤 의미일까? 다음 그래프를 가지고 알아보자.

관련 이미지

회귀선은 독립변수 가 주어졌을 때  의 기대값에 해당한다. 확률식으로 표현하면 아래와 같다.

독립변수 각 수준(값)에서는 종속변수 값의 분포가 존재한다. 예컨대 위 그래프의 일 때 값들의 분포가 정규분포(파란색 종모양의 곡선)가 존재한다. 회귀선은 를 통과하고 있으며, 는 그 분포의 중심, 즉, 모평균에 다름 아니다. 마찬가지로 에서도 값들의 분포가 존재하며, 회귀선의 그 분포의 중심, 즉, 모평균인 을 통과한다. 에서도 마찬가지로 회귀선은 거기에서 값들의 모평균인 를 통과한다. 결국 회귀선, 즉, 최적합선은 독립변수 의 각 값(수준)에서 존재하는 종속변수 값들의 모평균을 이어놓은 직선인 것이다.

아래 사례를 보자. 종속변수 의 모표준편차()가 2.5라고 알고 있다고 가정한다. 회귀선이   라는 회귀계수를 갖고 있다.

관련 이미지

위 그림에서 (a)를 보면, 표본의 관찰값은 이며, 회귀함수에 의한 예측값은 이다. 가 20일 때 의 분포가 정규분포로 표시되어 있고 그 중심은 10.0이며, 관찰값 (5)은 분포의 중심에서 상당히 떨어져 있음을 볼 수 있다. (b)를 보면, 관찰값은 이고, 회귀함수에 의한 예측값은 이다. 거기에도 가 55일 때  의 분포가 종 모양의 곡선으로 표시되어 있고, 이번에 그 중심은 27.5이다. 관찰값 (12)는 중심에서 한참 멀리 떨어져 있음을 볼 수 있다. (c)에는또다른 값인 의 사례가 제시되어 있다. 관찰값은 이며, 회귀함수에 의한 예측값은 이다. 거기에도 가 30일 때 의 분포가 정규분포로 표시되어 있고, 이번에 그중심은 15이다. 관찰값 (10)은 중심에서 상당히 떨어져 있다.

아랫부분의 그래프는 그 세 가지를 하나로 합쳐 놓은 것이다. 회귀선이 세 점 (20, 10), (30, 15), (55, 27.5)을 통과하고 있다. 즉, 회귀선은 각 값에서의 의 기댓값()을 지나는 직선이다. 그리고 그 기대값은 각 값에 존재하는 의 분포의 중심이다. 각 값에서 표본의 실제 관찰값들 는 모두 기대값(중심)에서 떨어져 있다. 이제 최소자승 회귀모형의 회귀선 혹은 회귀함수가 무엇을 의미하는 지가 좀 더 분명해 졌기를 바란다.

수학을 잘 하는 독자들에게는 최소자승의 조건으로부터 회귀계수를 도출하는 과정이 어렵지 않겠지만 그렇지 않은 독자들은 머리가 아플 것이다. 사실 그렇게 ‘고통’을 겪으며 그 과정을 꼭 전부 알아야 회귀분석을 이해하는 것은 아니니 이렇게 부록처럼 별도로 처리했다. (2019-11-27)