본문 바로가기
@ 통계학 석박사 진학관련/회귀분석 요약

[회귀분석] 5. 최소제곱법을 이용한 회귀계수 추정 예시

by bigpicture 2021. 3. 25.
반응형

회귀계수를 추정하는 방법은 아래 세가지가 있습니다. 

 

최소제곱법을 먼저 배워볼 거구요. 간단한 예시를 통해 감을 먼저 잡고 나서 일반화시키도록 하겠습니다. 

(최소제곱법 예시) → (일반화)

 

최소제곱법 예시

A회사의 3년간 광고비(X)와 매출액 자료는 아래와 같습니다. 단위는 억원이라고 합시다. 

(1,5)
(2,7)
(3,9)

선형모델을 아래와 같이 가정합시다. 

y=β0+β1x+εy=β0+β1x+ε

오차에 대해 위 식을 정리하면 아래와 같습니다. 

ε=yβ0β1xε=yβ0β1x

위 데이터를 대입하면 오차들은 각각 아래와 같습니다. 

ε1=5β0β1ε1=5β0β1
ε2=7β02β1ε2=7β02β1
ε3=9β03β1ε3=9β03β1

오차의 제곱합은 아래와 같습니다. 

3i=1ε2i=ε21+ε22+ε23=[5β0β1]2+[7β02β1]2+[9β03β1]23i=1ε2i=ε21+ε22+ε23=[5β0β1]2+[7β02β1]2+[9β03β1]2

오차의 제곱합에서 변수는 β0β0와 β1β1입니다. 따라서 아래와 같은 함수로 놓을 수 있습니다. 

J(β0,β1)=[5β0β1]2+[7β02β1]2+[9β03β1]2J(β0,β1)=[5β0β1]2+[7β02β1]2+[9β03β1]2

이제 이 함수가 최소가 되게 하는 β0β0와 β1β1 을 찾으면 됩니다. 함수가 최솟값을 갖는 위치에서는 각 변수방향으로의 기울기가 0입니다. 아래로 볼록인 함수를 상상하시면 됩니다. 따라서 J함수를 각 변수로 편미분한 함수를 0으로 만들어주는 값을 찾으면 됩니다. J함수를 각 변수로 편미분해봅시다. 

 

β0β0로 편미분

함수 J를 β0β0로 편미분하면 아래와 같습니다. 

 

J(β0,β1)β0=2[5β0β1]2[7β02β1]2[9β03β1]J(β0,β1)β0=2[5β0β1]2[7β02β1]2[9β03β1]

우변을 전개합시다. 

J(β0,β1)β0=10+2β0+2β114+2β0+4β118+2β0+6β1J(β0,β1)β0=10+2β0+2β114+2β0+4β118+2β0+6β1

정리하면 아래와 같습니다. 

J(β0,β1)β0=42+6β0+12β1J(β0,β1)β0=42+6β0+12β1

 

이 값이 0인 곳에서 함수 J가 최솟값을 갖습니다. 

 

J(β0,β1)β0=42+6β0+12β1=0J(β0,β1)β0=42+6β0+12β1=0

 

β1β1로 편미분

함수 J를 β1β1로 편미분하면 아래와 같습니다. 

 

J(β0,β1)β1=2[5β0β1]22[7β02β1]23[9β03β1]J(β0,β1)β1=2[5β0β1]22[7β02β1]23[9β03β1]

우변을 전개합시다. 

J(β0,β1)β1=10+2β0+2β128+4β0+8β154+6β0+18β1J(β0,β1)β1=10+2β0+2β128+4β0+8β154+6β0+18β1

정리하면 아래와 같습니다. 

J(β0,β1)β1=92+12β0+28β1J(β0,β1)β1=92+12β0+28β1

 

이 값이 0인 곳에서 함수 J가 최솟값을 갖습니다. 

 

J(β0,β1)β1=92+12β0+28β1=0J(β0,β1)β1=92+12β0+28β1=0

 

연립방정식 풀기

함수 J를 β0β0과 β1β1로 미분한 결과는 각각 아래와 같습니다. 

42+6β0+12β1=042+6β0+12β1=0
92+12β0+28β1=092+12β0+28β1=0

아래와 같이 정리합시다. 

6β0+12β1=426β0+12β1=42
12β0+28β1=9212β0+28β1=92

각 식을 약분해서 간단히 합시다. 

β0+2β1=7β0+2β1=7
3β0+7β1=233β0+7β1=23

연립방정식을 풀어줍니다. 첫번째 식을 세배합니다. 

3β0+6β1=213β0+6β1=21
3β0+7β1=233β0+7β1=23

아래 식에서 위 식을 빼줍니다. 

β1=2β1=2

β1β1 를 구했습니다. 이 값을 위에 있는 아무 식에나 넣으면 β0β0를 구할 수 있습니다. 

β0=3

β0과 β1 을 모두 구했습니다. 따라서 회귀모델은 아래와 같습니다. 

y=3+2x

데이터와 함께 그래프로 그려보면 아래와 같습니다. 

x=c(1,2,3)
y=c(5,7,9)

plot(x,y,xlim=c(0,10),ylim=c(0,10))
abline(3,2)

 

다음시간에는 최소제곱법으로 회귀계수를 구하는 과정을 일반화해보겠습니다. 

반응형

댓글

bigpicture님의
글이 좋았다면 응원을 보내주세요!