27
15장 최소제곱 회귀분석 15.1 다항식 회귀분석 15.2 다중 선형회귀분석 15.3 일반적인 선형최소제곱 15.4 QR 분해법과 역슬래시 연산자 15.5 비선형회귀분석

15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

15장 최소제곱 회귀분석

15.1 다항식 회귀분석

15.2 다중 선형회귀분석

15.3 일반적인 선형최소제곱

15.4 QR 분해법과 역슬래시 연산자

15.5 비선형회귀분석

Page 2: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.1 다항식 회귀분석 (1/4)

앞 장에서 최소제곱 기준을사용하여 직선 식을 유도하였으나, 일부 데이터들은 직선으로 표현하기에는 불충분하며, 이러한 경우 곡선을 이용하여 데이터를 표현하는 것이낫다.

다항식 회귀분석 : 최소제곱방법을 확장하여 고차다항식을 데이터에 접합시킨다.

15

Page 3: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.1 다항식 회귀분석 (2/4)

예를 들어 다음과 같은 2차 다항식을 데이터에 접합시킨다고 가정하자.

잔차의 제곱합 :

다항식의 각 미지계수에 대하여 위 식의 미분을 취하면,

Sr = ei2

i=1

n

∑ = yi − a0 − a1xi − a2xi2( )2

i=1

n

20 1 2y a a x a x e= + + +

20 1 2

0

20 1 2

1

2 20 1 2

2

2 ( )

2 ( )

2 ( )

ri i i

ri i i i

ri i i i

S y a a x a xaS x y a a x a xaS x y a a x a xa

∂= − − − −

∂∂

= − − − −∂∂

= − − − −∂

∑15

Page 4: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.1 다항식 회귀분석 (3/4)

위 식들을 0으로 놓고 다시 정리하면, 다음과 같은 정규방정식을 구할 수 있다.

계수값들은 측정값들로부터 바로 계산할 수 있다.

따라서 최소제곱 2차 다항식을 결정하는 문제는 세 개의선형 연립방정식을 푸는 문제와 같다.

( ) ( )( ) ( ) ( )( ) ( ) ( )

20 1 2

2 30 1 2

2 3 4 20 1 2

( ) i i i

i i i i i

i i i i i

n a x a x a y

x a x a x a x y

x a x a x a x y

+ + =

+ + =

+ + =

∑ ∑ ∑∑ ∑ ∑ ∑∑ ∑ ∑ ∑

15

Page 5: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.1 다항식 회귀분석 (4/4)

2차원 경우는 다음의 m차 다항식으로 쉽게 확장될 수 있다.

앞의 해석을 확장하면, m차 다항식의 계수를 결정하는m+1 개의 선형연립방정식을 푸는 문제와 같다

이 경우 표준오차와 결정계수는 각각 다음과 같다.

sy / x =Sr

n − m +1( )

r2 =St − Sr

St

표준오차 결정계수

20 1 2

mmy a a x a x a x e= + + + + +

15

Page 6: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.1 (다항식회귀분석) (1/4)

012345

2.17.7

13.627.240.961.1

544.44314.47140.03

3.12239.22

1272.11

0.143321.002861.081600.804870.619590.09434

Σ 152.6 2513.39 3.74657

ix iy ( )220 1 2i i iy a a x a x− − −2( )iy y−

Q. 다음 표의 처음 두 열의 데이터에 2차 다항식을접합시켜라.

15

Page 7: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.1 (다항식회귀분석) (2/4)

풀이) 주어진 데이터로부터 다음을 계산할 수 있다.

따라서 선형연립방정식은 다음과 같다.

4

2 2

3

2 15 979

6 152.6 585.6

2.5 55 2488.8

25.43 225

i i

i i i

i i i

i

m x x

n y x y

x x x y

y x

= = =

= = =

= = =

= =

∑ ∑∑ ∑∑ ∑∑

0

1

2

6 15 55 152.615 55 225 585.655 225 979 2488.8

aaa

=

15

Page 8: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.1 (다항식회귀분석) (3/4)

>> N=[ 6 15 55; 15 55 225; 55 225 979];

>> N=[ 152.6 585.6 2488.8];

>> a = N\r

a =

2.4786

2.3593

1.8607

최소제곱 2차 다항식은 다음과 같다.

MATLAB으로 풀면,

22.4786 2.3593 1.8607y x x= + +

15

Page 9: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.1 (다항식회귀분석) (4/4)

다항식 회귀분석에 기초한 추정값의 표준오차 :

결정계수 :

( )/3.74657 1.1175

6 2 1y xs = =− +

2 2513.39 3.74657 0.998512513.39

0.99925

r

r

−= =

→ =

상관계수

15

Page 10: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.2 다중 선형회귀분석 (1/3)

y가 두 개 이상의 독립변수(x1, x2, …)에 대해 선형함수인 경우를보자.- 회귀분석 평면

0 1 1 2 2y a a x a x e= + + +

15

Page 11: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.2 다중 선형회귀분석 (2/3)

계수에 대해 미분하면,0 1 1, 2 2,

0

1, 0 1 1, 2 2,1

2, 0 1 1, 2 2,2

2 ( )

2 ( )

2 ( )

ri i i

ri i i i

ri i i i

S y a a x a xaS x y a a x a xaS x y a a x a xa

∂= − − − −

∂∂

= − − − −∂∂

= − − − −∂

1, 2, 12

1, 1, 1, 2, 2 1,2

2, 1, 2, 2, 3 2,

i i i

i i i i i i

i i i i i i

n x x a yx x x x a x yx x x x a x y

=

∑ ∑ ∑∑ ∑ ∑ ∑∑ ∑ ∑ ∑

잔차의 제곱합을 최소로 하는 계수는 각 미분값을 0으로 놓을 때 얻어지며, 이를 행렬식으로 표현하면

15

Page 12: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.2 (다중 선형회귀분석) (1/2)

022.5147

012362

510903

27

2x

Q. 다음 데이터는 y = 5+4x1-3x2로부터 계산되었다. 이들 데이터에 다중 선형회귀분석을 수행하라.

1x y

15

Page 13: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.2 (다중 선형회귀분석) (2/2)

풀이) 주어진 데이터로부터 다음을 계산할 수 있다.

따라서 선형연립방정식은 다음과 같다.

0

1

2

6 16.5 14 5416.5 76.25 48 243.514 48 54 100

aaa

=

510903

27

02

2.5 147

012362

04

6.251

1649

0149

364

0253

2414

020

22.5012

189

0101801854

54 16.5 14 76.25 54 48 243.5 100

y 1x 2x 21x 2

2x 1 2x x 1x y 2x y

0 1 25, 4, 3a a a= = = −

15

Page 14: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

m차원 문제로의 확장은 다음 식을 사용한다.

이 경우 표준오차와 결정계수는 각각 다음과 같다.

다중선형회귀분석은 일반적 형태의 멱방정식을 유도하는 데도 역시 유용하다.

15.2 다중 선형회귀분석 (3/3)

sy / x =Sr

n − m +1( )

0 1 1 2 2 m my a a x a x a x e= + + + + +

1 20 1 2

maa amy a x x x= +

r2 =St − Sr

St

0 1 1 2 2log log log log logm m

y a a x a xa x

= + +

+ +

15

Page 15: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

단순선형회귀분석, 다항식 회귀분석, 그리고 다중선형회귀분석은 모두 일반적인 선형최소제곱 모델에 속한다.

여기서 z0, z1,..., zm은 m+1 개의 기저함수들이다.

- 단순선형회귀분석과 다중선형회귀분석:

- 다항식 회귀분석

기저함수는 계수 a0, a1..을 제외한 어떤 함수도 가능하다.

15.3 일반적인 선형최소제곱 (1/3)

0 1 1 2 21, , , , m mz z x z x z x= = = … =

0 1 1 2 20 m my a z a z a z a z e= + + + + +

20 1 21, , , , m

mz z x z x z x= = = … =

15

Page 16: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

일반적인 선형최소제곱 방정식은 다음과 같은 행렬식으로쓸 수 있다.

여기서 y = 종속변수의 측정값, a = 미지 계수, e = 잔차,그리고 z는,

zji 는 i 점에서 계산된 j번째 기저 함수이다.

잔차의 제곱합 :

15.3 일반적인 선형최소제곱 (2/3)

y{ }= Z[ ] a{ }+ e{ }

Z[ ]=

z01 z11 zm1z02 z12 zm2

z0n z1n zmn

Sr = ei2

i=1

n

∑ = yi − ajz jij=0

m

2

i=1

n

15

Page 17: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

각 계수에 대하여 미분을 취하고, 그 결과를 0으로 놓으면,다음과 같은 정규방정식을 얻을 수 있다.

결정계수 :

최적접합 곡선과 데이터 사이의 잔차 :

15.3 일반적인 선형최소제곱 (3/3)

Z[ ]T Z[ ][ ] a{ }= Z[ ]T y{ }{ }

( )( )

22

2

ˆ1 1 i it r r

t t i i

y yS S SrS S y y

−−= = − = −

−∑∑

= 최소제곱접합의 예측값y

{ } [ ]{ }y Z a−

15

Page 18: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.3 (MATLAB을 이용한 다항식회귀분석) (1/3)

Q. 예제 15.1을 행렬 연산을 사용하여 반복하라.풀이)

>> x= [0 1 2 3 4 5]' ; %접합시킬 데이터를 입력함

>> y= [2.1 7.7 13.6 27.2 40.9 61.1]' ;

>> z = [ones(size(x)) x x.^2] %[z]행렬을 생성함

z =

1 0 0

1 1 1

1 2 4

1 3 9

1 4 16

1 5 25

15

Page 19: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.3 (MATLAB을 이용한 다항식회귀분석) (2/3)

>> z'*z % [z]T[z]는 정규방정식에 대한 계수행렬임을 증명

ans =

6 15 55

15 55 255

55 225 979

>> a = (z'*z)\(z‘*y) % 최소제곱 2차 다항식의 계수를 구함(식14.10)

ans =

2.4786

2.3593

1.8607

15

Page 20: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.3 (MATLAB을 이용한 다항식회귀분석) (3/3)

>> Sr = sum((y-z*a).^2) % 잔차의 합 계산

Sr =

3.7466

>> r2 = 1-Sr/sum((y-mean(y)).^2) % r2 계산

r2 =

0.9985

>> syx = sqrt(Sr/(length(x)-length(a))) % sy/x 계산

syx =

1.1175

15

Page 21: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

15.4 QR 분해법과 역슬래시 연산자

정규방정식은 불량조건을 가질 수 있으므로 반올림오차에 민감할 수 있다. 이런 면에서 두 가지 고급해석 기법인QR 분해법과 특이값 분리는 더욱 강건한 방법들이다.

다음의 경우 MATLAB에서 QR 분해법이 자동적으로 실행된다.

(1) 다항식을 접합시키기 위해 내장함수 polyfit을 실행할 때(2) 과결정 시스템을 왼쪽 나눗셈으로 풀 때

15

Page 22: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.4 (polyfit과 왼쪽 나눗셈을 이용한 다항식회귀분석)

Q. 예제 15.3을 polyfit과 왼쪽 나눗셈을 사용하여 반복하라.

풀이)

>> x= [0 1 2 3 4 5]' ; %접합시킬 데이터를 입력함

>> y= [2.1 7.7 13.6 27.2 40.9 61.1]' ;

>> z = [ones(size(x)) x x.^2] %[z]행렬을 생성함

>> a = polyfit(x,y,2) % polyfit 함수 사용

a =

1.8607 2.3593 2.4786

>> a =z\y % 역슬래시 사용

a =

2.4786

2.3593

1.8607

15

Page 23: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

일반적인 공학과 과학 분야의 문제에서 데이터를 접합할때, 일반적인 선형최소제곱 모델의 형태에 맞게 조작할 수없는 경우가 많다.

비선형모델은 매개변수가 비선형적으로 종속된다.

비선형회귀분석도 잔차의 제곱합을 최소화시키는 매개변수를 구하는 데 근거하지만, 비선형 경우의 해는 반복적인방법에 의해서만 구할 수 있다.

15.5 비선형 회귀분석 (1/2)

10 (1 )a xy a e e−= − +

15

Page 24: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

비선형회귀분석을 위한 방법 :

(a) Gauss-Newton법 (Chapra and Canale, 2002)(b) 최소제곱접합을 직접 구하기 위하여 최적화기법을 사용함 :- 잔차의 제곱합을 계산하기 위하여 위 식을 다음과 같은 함수로 표현한다.

- 함수를 최소화시키는 a0와 a1을 결정하기 위하여 최적화 기법을 사용한다.

15.5 비선형 회귀분석 (2/2)

1

2

0 1 01

( , ) (1 )i

na x

ii

f a a y a e−

=

= − − ∑

[x, fval] =fminsearch(fun, x0, options, p1, p2, …)

15

Page 25: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.5 (MATLAB을 이용한 비선형회귀분석) (1/3)

Q. 예제 14.4에서 로그를 이용한 선형화를 통하여

표 14.1의 데이터에 멱모델을 접합시켰음을 기억하라.

이 멱모델은 다음과 같다.

이 예제를 반복하되 비선형회귀분석을 사용하라.

계수에 대한 초기조건은 1을 사용한다.

1.98420.2741 F v=

15

Page 26: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.5 (MATLAB을 이용한 비선형회귀분석) (2/3)

function f = fSSR(a, xm, ym)

yp = a(1)*xm.^a(2);

F = sum((ym-yp).^2);

>> x = [10 20 30 40 50 60 70 80];

>> y = [25 70 380 550 610 1220 830 1450];

풀이)

제곱합을 계산하기 위한 M-파일 함수

데이터 입력

15

Page 27: 15장 최소제곱회귀분석bml.pusan.ac.kr/Lecture/Undergraduates/NumAnalysis/15...Applied Numerical Methods 장일반적인선형최소제곱과비선형회귀분석 15.1 다항식회귀분석(1/4)

Applied Numerical Methods 장 일반적인 선형최소제곱과 비선형회귀분석

예제 15.5 (MATLAB을 이용한 비선형회귀분석) (3/3)

>> fminsearch(@fSSR, [1, 1], [ ], x, y)

ans =

2.5384 1.4359

함수의 최소화

1.43592.5384 F v=

최적접합 모델:

15