14
2017-11-30 1 14장 최소제곱 회귀분석 14.1 다항식 회귀분석 14.2 다중 선형회귀분석 14.3 일반적인 선형최소제곱 14.4 QR 분해법과 역슬래시 연산자 14.5 비선형회귀분석 Applied Numerical Methods 14장 일반적인 선형최소제곱과 비선형회귀분석 14.1 다항식 회귀분석 (1/4) 앞 장에서 최소제곱 기준을 사용하여 직선 식을 유도하였 으나, 일부 데이터들은 직선 으로 표현하기에는 불충분하 며, 이러한 경우 곡선을 이용 하여 데이터를 표현하는 것이 낫다. 다항식 회귀분석 : 최소제곱 방법을 확장하여 고차다항식 을 데이터에 접합시킨다.

14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

1

14장 최소제곱 회귀분석

14.1 다항식 회귀분석

14.2 다중 선형회귀분석

14.3 일반적인 선형최소제곱

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

14.5 비선형회귀분석

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

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

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

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

Page 2: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

2

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

14.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

¶= - - - -

¶= - - - -

¶¶

= - - - -¶

å

å

å

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

14.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

+ + =

+ + =

+ + =

å å åå å å åå å å å

Page 3: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

3

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

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

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

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

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

sy / x =Sr

n - m+1( )

r2 =St - SrSt

표준오차 결정계수

20 1 2

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

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

예제 14.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

S 152.6 2513.39 3.74657

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

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

Page 4: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

4

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

예제 14.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

æ ö ì ü ì üï ï ï ïç ÷ =í ý í ýç ÷ï ï ï ïç ÷

è ø î þ î þ

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

예제 14.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= + +

Page 5: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

5

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

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

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

결정계수 :

( )/3.74657 1.1175

6 2 1y xs = =- +

2 2513.39 3.74657 0.998512513.39

0.99925

r

r

-= =

® =

상관계수

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

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

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

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

Page 6: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

6

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

14.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으로 놓을 때 얻어지며, 이를 행렬식으로 표현하면

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

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

022.5147

012362

510903

27

2x

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

1x y

Page 7: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

7

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

예제 14.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.50

12189

010180

1854

54 16.5 14 76.25 54 48 243.5 100

y 1x 2x21x

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

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

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

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

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

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

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

sy / x =Sr

n - m+1( )

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

1 20 1 2

maa amy a x x x= +L

r2 =St - SrSt

0 1 1 2 2log log log log logm m

y a a x a xa x

= + +

+ +L

Page 8: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

8

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

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

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

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

- 다항식 회귀분석

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

14.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= + + + + +L

20 1 21, , , , m

mz z x z x z x= = = ¼ =

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

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

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

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

잔차의 제곱합 :

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

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

Z[ ]=

z01 z11 L zm1z02 z12 L zm2M M O Mz0n z1n L zmn

é

ë

ê ê ê

ù

û

ú ú ú

Sr = ei2

i=1

n

å = yi - a jz jij=0

m

åæ

è ç ç

ö

ø ÷ ÷

2

i=1

n

å

Page 9: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

9

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

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

결정계수 :

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

14.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-

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

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

Q. 예제 14.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

Page 10: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

10

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

예제 14.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

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

예제 14.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

Page 11: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

11

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

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

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

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

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

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

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

Q. 예제 14.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

Page 12: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

12

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

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

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

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

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

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

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

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

(a) Gauss-Newton법 (Chapra and Canale, 2002)(b) 최소제곱접합을 직접 구하기 위하여 최적화기법

을 사용함 :- 잔차의 제곱합을 계산하기 위하여 위 식을 다음

과 같은 함수로 표현한다.

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

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

1

2

0 1 01

( , ) (1 )in

a xi

if a a y a e-

=

é ù= - -ë ûå

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

Page 13: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

13

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

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

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

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

이 멱모델은 다음과 같다.

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

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

1.98420.2741 F v=

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

예제 14.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-파일 함수

데이터 입력

Page 14: 14장 최소제곱회귀분석 - neslab.daegu.ac.krneslab.daegu.ac.kr/lec/numanalysis-doc/ppt/chap14.pdf · 2017-11-30 3 Applied Numerical Methods14장일반적인선형최소제곱과비선형회귀분석

2017-11-30

14

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

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

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

ans =

2.5384 1.4359

함수의 최소화

1.43592.5384 F v=

최적접합 모델: