16.3 다중 선형회귀분석

Download Report

Transcript 16.3 다중 선형회귀분석

PART 5. 곡선접합
Curve Fitting
Se-Woong Chung, Chungbuk National University
1
PT5.1 Motivation
 곡선접합의 접근 방법 2가지
이산적인 값 사이에 있는 임의의 점에서 값 추정
(1) 최소제곱회귀분석(LSR)
데이터가 상당한 크기의 오차 또는
Noise를 포함한 경우, 일반적 경향
을 나타내는 곡선 유도 (a)
(2) 보간법(Interpolation)
데이터 값이 매우 정확한 경우, 데
이터 점들을 직접 통과하는 곡선
유도 (b, c)
Se-Woong Chung, Chungbuk National University
2
PT5.2 Mathematical Background
 Simple Statistics
Arithmetic
Mean
Standard
Deviation
Variance
Coefficient of
Variance
산술평균 :
y
y
i
n
St
표준편차 : s y 

n 1
St
2
분
산: sy 
n 1
sy
분산계수 : c.v.  100%
y
 ( y  y)
i
n 1
2
y


2
i
 (  yi ) 2 / n
n 1
자유도 n  1
EX. PT5.1 철구조물 팽창계수 측정 자료
Se-Woong Chung, Chungbuk National University
3
 정규분포(Normal Distribution)
철구조물 열팽창계수 Histogram
측정값이 정규적으로 분포한
다면 전체 측정 개수의 68%
포함
68%
95%
Se-Woong Chung, Chungbuk National University
y  ~ y 
전체 측정 개수의 95% 포함
y  2 ~ y  2
4
 신뢰구간
• 표본값 y의 참 평균 또는 모집단 평균값 가 L과 U 사이에 있을 확률
P{L    U }  1  
 = 유의수준(Significance level)
Se-Woong Chung, Chungbuk National University
5
• 표준정규 추정(standard normal estimate)
y
정규분포, z table
모집단 z 
/ n
평균 = 0, 분산 = 1
표준정규 임의변수 z: 표본평균과 모집단 평균값의 정규화된 거리
L   U
표본집단
L   U
L y

y
t
sy / n
L y
n
z / 2 , U  y 

n
z / 2
t 분포, t table (or Student t 분포)
sy
n
t / 2,n1 , U  y 
Se-Woong Chung, Chungbuk National University
sy
n
t / 2,n1
6
• z table의 의미
예)  = 0.05에서 z/2 = 1.96
표준편차를 기준으로 1.96배인 폭으로 된 평균 주위의
구간이 자료 분포의 약 95%를 포함한다는 의미
• t table의 의미
예)  = 0.05, n = 20에서 t/2,n-1 = 2.086
표준편차를 기준으로 2.086배인 폭으로 된 평균 주위
의 구간이 자료 분포의 약 95%를 포함한다는 의미
“t분포는 자료의 수가 작을 경우 정규분포보다 완만”
Se-Woong Chung, Chungbuk National University
7
 t분포와 정규분포의 관계
• 일반적으로 자료수 n이 증가하면 t분포는 정규분포에 접근
EX. PT5.2
Se-Woong Chung, Chungbuk National University
8
PT5.3 학습 내용
 제16장 : 최소제곱회귀분석
 선형회귀분석
 다중선형회귀분석
 비선형회귀분석
 제17장 : 보간법(Interpolation)
 Newton 보간 다항식
 Lagrange 보간 다항식
 제18장 : 공학적 적용
Se-Woong Chung, Chungbuk National University
9
PART 5. Curve Fitting
CHAPTER 17.
Least Squares Regression
(최소제곱 회귀분석)
Se-Woong Chung, Chungbuk National University
10
Data Analysis
 실험데이타의 분석
 (a)의 7개 실험 데이타는 오차를 포함
 y의 변수는 x의 값에 비례하는 경향을 보임
 (b)와 같은 보간다항식은 적절치 못함
Se-Woong Chung, Chungbuk National University
11
 최소제곱회귀분석의 표현
y  a0  a1 x  e
Se-Woong Chung, Chungbuk National University
12
16.1 선형회귀분석 (Linear Regression)
 수학적 표현
y  a0  a1 x  e
여기서, a0는 절편, a1은 기울기, e는 관측값과 모델값의오차
n
n
min S r   ei2   ( yi  a0  a1 xi ) 2
i 1
(식1)
i 1
식(1)을 a0와 a1에 대하여 편미분하고 0되도록 정리하면
n
S r
 2 ( yi  a0  a1 xi )  0
a0
i 1
n
S r
 2 [( yi  a0  a1 xi ) xi ]  0
a1
i 1
Se-Woong Chung, Chungbuk National University
13
(n)a 0  xi a1   yi


( xi )a 0   x i2 a1   xi yi
2원 1차 연립방정식을 풀면
a1 
n xi yi   xi  yi
n x  ( xi )
2
i
2
a0  y  a1 x
예제 16.1 (Excel)
Se-Woong Chung, Chungbuk National University
14
 선형회귀분석의 가정
 평균값을 사용할 경우 (a)보다 최소제곱 회귀분석식(b)를 사용할
때 정규분포의 폭을 줄여 줌으로써 오차를 줄여 줌
Se-Woong Chung, Chungbuk National University
15
 선형회귀분석 오차의 정량화
 데이터와 모형 추정값 잔차(residual)의 제곱합
n
n
S r   e   ( yi  a0  a1 xi ) 2
i 1
2
i
i 1
 데이터와 평균값 사이의 잔차 제곱합
n
S t   ( yi  y ) 2
i 1
 추정값의 표준오차: 특정한 x값에 대해 예측한 값 y의 오차범위
Sy
x
Sr

n2
자유도
Se-Woong Chung, Chungbuk National University
16
 선형회귀분석 오차의 정량화
 평균값 대신 회귀분석식을 사용해서 데이터의 추이를 나타낼 때 향상된 정도
또는 오차의 감소
St  S r
 결정계수 (0~1) : 모형이 자료의 추이를 반영하는 만족도
Sr = 0이면, r2 = 1 (100%만족), Sr = St이면 r2 = 0 평균값 수준
St  S r
r 
St
2
 상관계수 (-1~1)
r
n xi yi   xi  yi
n xi2  ( xi ) 2 n yi2  ( yi ) 2
예제 16.2
Se-Woong Chung, Chungbuk National University
17
선형회귀분석
VBA 알고리즘
예제 16.3
(Excel)
a1 
n xi yi   xi  yi
n xi2  ( xi ) 2
a0  y  a1 x
Sub Linreg(x, y, n, a1, a0, syx, r2)
Dim i As Integer
Dim sumx As Single, sumy As Single, sumxy
As Single
Dim sumx2 As Single, st As Single, sr As
Single
Dim xm As Single, ym As Single
sumx = 0
sumy = 0
sumxy = 0
sumx2 = 0
st = 0
sr = 0
For i = 1 To n
sumx = sumx + x(i)
sumy = sumy + y(i)
sumxy = sumxy + x(i) * y(i)
sumx2 = sumx2 + x(i) ^ 2
Next i
xm = sumx / n
ym = sumy / n
a1 = (n * sumxy - sumx * sumy) / (n * sumx2
- sumx * sumx)
a0 = ym - a1 * xm
For i = 1 To n
st = st + (y(i) - ym) ^ 2
sr = sr + (y(i) - a1 * x(i) - a0) ^ 2
Next i
syx = (sr / (n - 2)) ^ 0.5
r2 = (st - sr) / st
End Sub
Se-Woong Chung, Chungbuk National University
18
예제 16.3 (Excel-VBA 프로그램)
v(t ) 
gm
(1  e (  c / m )t )
c
v(t ) 
gm
t
(
)
c 3.75  t
Se-Woong Chung, Chungbuk National University
19
 비선형 관계식의 선형화
Se-Woong Chung, Chungbuk National University
20
 비선형 관계식의 선형화
(1) Exponential Model
y  a1eb1x

ln y  ln a1  b1 x
(2) Power Equation Model
y  a2 xb2

log y  b2 log x  log a2
(3) Saturation-growth-rate Model
y  a3
x
b3  x

1 b3 1 1


y a3 x a3
예제 16.4
Se-Woong Chung, Chungbuk National University
21
16.2 다항식 회귀분석 (Polynomial Regression)
직선으로 표현하기 힘든 경우
n2
y  a0  a1 x  a2 x  e
2
n
n
i 1
i 1
S r   ei2   ( yi  a0  a1 xi  a2 xi2 ) 2
n
S r
 2 ( yi  a0  a1 xi  a2 xi2 )  0
a0
i 1
n
S r
 2 xi ( yi  a0  a1 xi  a2 xi2 )  0
a1
i 1
n
S r
 2 xi2 ( yi  a0  a1 xi  a2 xi2 )  0
a2
i 1
Se-Woong Chung, Chungbuk National University
22
16.2 다항식 회귀분석 (Polynomial Regression)
방정식을 정리하면 아래와 같이 3개의 미지수와 3개의
방정식을 갖는 연립방정식 문제
예제 16.5
(n)a 0   xi a1   x i2 a2
  yi
  
( x )a  x a   x a   x y
( x )a  x a   x a   x y

2
i
0
i
1
i
2
3
3
0
i
2
i
i
4
1
i
i
2
2
i
i
m차 다항식의 경우 m+1개의 연립방정식 문제
y  a0  a1 x  a2 x         am x  e
2
표준오차
Sy
x
m
Sr

n  (m  1)
Se-Woong Chung, Chungbuk National University
n = 자료수
m = 다항식 차수
23
예제 16.5. 다항식 회귀분석
 x a   y
( x )a  x a   x a   x y
( x )a  x a   x a   x y
(n)a 0   xi a1 
2
i
2
i
0
2
i
3
0
i
i
3
1
i
2
2
i
4
1
i
i
i
2
2
i
i
Se-Woong Chung, Chungbuk National University
24
16.3 다중 선형회귀분석
(multiple linear regression)
y가 두개 또는 그 이상의 변수를 갖는 선형함수인 경우
y  a0  a1 x1  a2 x2  e
n
n
i 1
i 1
S r   ei2   ( yi  a0  a1 x1i  a2 x2i ) 2
n
S r
 2 ( yi  a0  a1 x1i  a2 x2i )  0
a0
i 1
n
S r
 2 x1i ( yi  a0  a1 x1i  a2 x2i )  0
a1
i 1
n
S r
 2 x2i ( yi  a0  a1 x1i  a2 x2i )  0
a2
i 1
Se-Woong Chung, Chungbuk National University
25
16.3 다중 선형회귀분석
(multiple linear regression)
방정식을 정리하면 아래와 같이 3개의 미지수와 3개의
방정식을 갖는 연립방정식 문제
 x a   y
( x )a   x a   x x a   x y
( x )a   x x a   x a   x y
(n)a 0   x1i a1 
2i
2
i
2
1i
0
1i
1
1i 2 i
2
1i
i
2
2i
0
1i 2 i
1
2i
2
2i
i
m차 다중선형 회귀분석의 경우 m+1개의 연립방정식
y  a0  a1 x1  a2 x2        am xm  e
표준오차
Sy
x
Sr

n  (m  1)
Se-Woong Chung, Chungbuk National University
EX 16.6
(Excel 실습)
26
16.4 선형최소제곱의 일반화
 단순 선형회귀분석
 다항식 회귀분석
일반 선형회귀 최소제곱 모델
 다중 선형회귀분석
y  a0 z0  a1 z1  a2 z2        am zm  e
 단순 선형 : z0  1, z1  x, z 2       z m  0
 다항식
: z0  x 0 , z1  x1 , z 2  x 2 ,       z m  x m
 다중 선형 : z0  1, z1  x1 , z 2  x2 ,      z m  xm
Se-Woong Chung, Chungbuk National University
27
 행렬식으로 표현
Y   Z A E
 z01
z
Z    02
 .

 z0 n
z11    z m1 
z12    z m 2 
.

. 

z1n    z mn 
Y T  y1, y2 ,      , yn 
AT  a0 , a1,      , am 
T
E  e1, e2 ,      , en 
독립변수
n = 데이터 개수
m = 모델 매개변수 갯수
종속변수 (관측값)
미지 매개계수 열벡터
잔차의 열벡터
Se-Woong Chung, Chungbuk National University
28
 모델에 대한 잔차의 제곱합
n
n
m
i 1
j 0
Sr   e   ( yi   a j z ji ) 2 ,
i 1
2
i
j  0,...., m
J = 0~m 에 대해 각 계수에 대한 편미분 값은 0으로부터
Z  Z A  Z  Y 
A  Z  Z  Z  Y 
T
T
T
1
역행렬법 적용
T
Se-Woong Chung, Chungbuk National University
29
 선형회귀에 대한 신뢰도 구간
Z  Z 
T
1
 역행렬의 대각선요소: a의 분산
var( ai 1 )  Zi,i1S y2/ x
 역행렬의 비대각선요소: a의 공분산
cov( ai 1, a j 1, )  Zi, 1j S y2/ x
(x,y의 종속 정도를 나타냄)
 절편(a0)에 대한 신뢰도 구간
L a0 t 2,n2 S (a0 ), U a0 t 2,n2 S (a0 )
 기울기(a1)에 대한 신뢰도 구간
L a1t 2,n2 S (a1 ), U a1t 2,n2 S (a1 )
여기서 S (a j )는 a j의 표준편차
var( a j 1 )  Z j ,1j S y2
x
예제 16.7 (Excel)
Se-Woong Chung, Chungbuk National University
30
16.5 비선형 회귀분석
 모델이 매개변수에 비선형으로 종속된 경우
f ( x)  a0 (1  e  a1x )  e
 Gauss-Newton법
 잔차의 제곱합을 최소화하는 매개변수를 반복적으로 구함
 데이터와 비선형 방정식의 관계
yi  f ( xi ; a0 , a1 ,    , am )  ei
종속변수(관측값)
오차값
독립변수 xi의 함수인 방정식
간략식
yi  f ( xi )  ei
Se-Woong Chung, Chungbuk National University
31
yi  f ( xi )  ei
 Gauss-Newton법
 Taylor급수를 이용하여 f(xi+1)을 전개하면
비선형함수 f(xi)를 매개변수에 대한 선형모델로 변환
f ( xi ) j 1  f ( xi ) j 
f ( xi ) j
a 0
f ( xi ) j  초기가정값
a 0 
f ( xi ) j
a1
a1
f ( xi ) j 1 예측값
 예측값을 원 함수에 대입하면
yi  f ( xi ) j 
f ( xi ) j
a 0
a 0 
f ( xi ) j
a1
a1 ei
Se-Woong Chung, Chungbuk National University
32
 행렬식으로 나타내면
모델값과 측정값 차이
 f1
 a0
f 2
 a
0

Zj 
 
 
f
 n a
0

 
f1

a1 

f 2
a1 
 
 

f n
a1 
초기가정으로부터 얻은 편미분 행렬
D  Z j A E
 y1  f ( x1 ) 
 y  f ( x )
2 
 2

D    





 yn  f ( xn )
매개변수 변화량
 a0 
 a 
 1 
A    
  


am 
n = 데이터의 수,
f1/ ak = i번째 점에서 얻은 k번째 매개변수에 대한 편미분
Se-Woong Chung, Chungbuk National University
33
 행렬식에 선형최소제곱을 적용하면
Z  Z   A   Z  D
 A    Z  Z   Z  D
T
T
T
1
T
a0, j 1  a0, j  a0
a1, j 1  a1, j  a1
 매개변수의 수렴 판정
a k 
ak , j 1  ak , j
ak , j 1
 100(%)
예제 16.9 (수계산)
Se-Woong Chung, Chungbuk National University
34
PART 5. Curve Fitting
CHAPTER 18.
Interpolation
(보간법)
Se-Woong Chung, Chungbuk National University
35
개요
 다항식 보간법 (n차 다항식)
 n+1개의 점들을 접합시키는 유일한 n차 다항식 존재
1차 다항식
2차 다항식
Se-Woong Chung, Chungbuk National University
3차 다항식
36
17.1 Newton 제차분 보간 다항식
 선형 보간법 (Linear Interpolation)
f ( x)  f ( x0 ) f ( x1 )  f ( x0 )

x  x0
x1  x0
f ( x1 )  f ( x0 )
f ( x)  f ( x0 ) 
( x  x0 )
x1  x0
2점 연결하는
기울기
예제 17.1 (수계산)
Se-Woong Chung, Chungbuk National University
37
 선형 보간법 (Linear Interpolation)
작은구간 사용하
는 것이 개선된
값 보장
Se-Woong Chung, Chungbuk National University
38
 2차 보간법 (Quadratic Interpolation)
Se-Woong Chung, Chungbuk National University
39
 2차 보간법 (Quadratic Interpolation)
f ( x)  b0  b1 ( x  x0 )  b2 ( x  x0 )( x  x1 )
 위 식을 전개하여 정리하면
f ( x)  a0  a1 x  a2 x 2
a0  b0  b1 x0  b2 x0 x1
a1  b1  b2 x0  b2 x1
a2  b2
예제 17.2 (수계산)
Se-Woong Chung, Chungbuk National University
40
 식으로부터 계수값 구하는 방법
(1) x  x0대입 ,
b0  f ( x0 )
(2) x  x1대입 ,
f ( x1 )  f ( x0 )
b1 
x1  x0
(3) x  x2대입 ,
f ( x2 )  f ( x1 ) f ( x1 )  f ( x0 )

x2  x1
x1  x0
b2 
x2  x0
Se-Woong Chung, Chungbuk National University
41
 Newton 보간법 일반화 (n차 다항식)
n+1 개의 데이터 쌍(x, f(x))을 지나는 n차 다항식은 몇 개?
f ( x)  b0  b1 ( x  x0 )        bn ( x  x0 )( x  x1 )  ( x  xn1 )
계수값 b0, b1, …,bn을 구하기 위해 n+1개 데이터 이용
b0  f ( x0 )
b1  f [ x1 , x0 ]
유한 제차분을 나타냄
b2  f [ x2 , x1 , x0 ]

bn  f [ xn , xn 1 ,    , x1 , x0 ]
Se-Woong Chung, Chungbuk National University
42
 1차 유한제차분
 2차 유한제차분
f [ xi , x j ] 
f ( xi )  f ( x j )
f [ xi , x j , xk ] 
xi  x j
f [ xi , x j ]  f [ x j , xk ]
xi  xk
 n차 유한제차분
f [ xn , xn 1 ,    , x1 , x0 ] 
f [ xn , xn 1 ,    , x1 ]  f [ xn 1 , xn  2 ,    , x0 ]
xn  x0
 계수값을 대입하면 보간 다항식의 일반식은
f ( x)  f ( x0 )  ( x  x0 ) f [ x1 , x0 ]  ( x  x0 )( x  x1 ) f [ x2 , x1 , x0 ]     
 ( x  x0 )( x  x1 )      ( x  xn 1 ) f [ xn , xn 1  , x0 )
Se-Woong Chung, Chungbuk National University
43
 Newton 보간법의 계산과정
예제 17.3 (수계산):
4개의 데이터를 이용하여 3차 다항보간식을 만든다.
Se-Woong Chung, Chungbuk National University
44
 3차 보간법
Se-Woong Chung, Chungbuk National University
45
 Newton 보간다항식의 오차
 1차와 2차 보간다항식의 차이
f1 ( x)  f ( x0 )  ( x  x0 ) f [ x1 , x0 ]
f 2 ( x)  f ( x0 )  ( x  x0 ) f [ x1 , x0 ]  ( x  x0 )( x  x1 ) f [ x2 , x1 , x0 ]
R1 ( x)  f 2 ( x)  f1 ( x)
 2차와 3차 보간다항식의 차이
f 2 ( x)  f ( x0 )  ( x  x0 ) f [ x1 , x0 ]  ( x  x0 )( x  x1 ) f [ x2 , x1 , x0 ]
f 3 ( x)  f ( x0 )  ( x  x0 ) f [ x1 , x0 ]  ( x  x0 )( x  x1 ) f [ x2 , x1 , x0 ]
( x  x0 )( x  x1 )( x  x2 ) f [ x3 , x2 , x1 , x0 ]
R2 ( x)  f 3 ( x)  f 2 ( x)
Se-Woong Chung, Chungbuk National University
46
 Newton 보간다항식의 오차
 n차 보간다항식의 오차
Rn ( x)  f [ xn 1 , xn ,    , x0 ] ( x  x0 )( x  x1 )    ( x  xn )
 f n 1 ( x)  f n ( x)
n+1차 다항식
예측값
n차 다항식 예측값
예제 17.5 (프로그래밍)
Se-Woong Chung, Chungbuk National University
47
Sub Newtint(x, y, n, xi, yint, ea)
Dim i As Integer, j As Integer, order As Integer
Dim fdd(10, 10) As Single, xterm As Single
Dim yint2 As Single
For i = 0 To n
fdd(i, 0) = y(i)
Next i
For j = 1 To n
제차분 차수
For i = 0 To n - j
차분 횟수
fdd(i, j) = (fdd(i + 1, j - 1) - fdd(i, j - 1)) / (x(i + j) - x(i))
Next i
Next j
xterm = 1#
yint(0) = fdd(0, 0)
For order = 1 To n
xterm = xterm * (xi - x(order - 1))
yint2 = yint(order - 1) + fdd(0, order) * xterm
ea(order - 1) = yint2 - yint(order - 1)
R2 ( x)  f 3 ( x)  f 2 ( x)
yint(order) = yint2
Next order
End Sub
Se-Woong Chung, Chungbuk National University
48
Se-Woong Chung, Chungbuk National University
49
17.2 Lagrangian 보간 다항식
 특징: Newton 보간다항식의 제차분계산 피함
 수식화
n
f n ( x)   Li ( x) f ( xi )
i 0
n
Li ( x)  
j 0
j i
x  xj
곱 (product of)
xi  x j
• 선형보간(n=1)
x  x0
x  x1
f1 ( x)  L0 ( x) f ( x0 )  L1 ( x) f ( x1 ) 
f ( x0 ) 
f ( x1 )
x0  x1
x1  x0
Se-Woong Chung, Chungbuk National University
50
• 2차보간(n=2)
f 2 ( x)  L0 ( x) f ( x0 )  L1 ( x) f ( x1 )  L2 ( x) f ( x2 )
( x  x0 )( x  x2 )
( x  x1 )( x  x2 )

f ( x0 ) 
f ( x1 )
( x0  x1 )( x0  x2 )
( x1  x0 )( x1  x2 )
 Li(x) 특성
( x  x0 )( x  x1 )

f ( x2 )
( x2  x0 )( x2  x1 )
x = xi일때 Li(x) =1, 아닌 경우는 L(x) = 0
즉, x = xi일때 f(x)의 Li항은 정확하게 xi점을 통과하고, 다른 점에
서는 모두 “0”의 값을 가짐
따라서, 모든 항의 값을 합하면 모든 데이터 점을 통과하는 유일한
곡선식 생산 됨
Se-Woong Chung, Chungbuk National University
51
예제 17.6 (수계산)
Se-Woong Chung, Chungbuk National University
52
 EXCEL VBA를 이용한 Lagrange 보간법
Se-Woong Chung, Chungbuk National University
53
Se-Woong Chung, Chungbuk National University
54
PART 5. Curve Fitting
CHAPTER 20.
Engineering Applications
(공학적 적용)
Se-Woong Chung, Chungbuk National University
55
18.1 선형회귀분석과 인구모델
 인구모델
dp
 kp
dt
인구증가율은 현재인구에 비례 (단순 가정)
p  p0 e kt
인구는 시간에 따라 지수함수적으로 증가 (모순)
 성장 제한인자(식량부족 등) 고려
f
k  k max
K f
여기서, kmax = 최대가능 성장률, f = 식량 공급 가능량
K = half saturation constant (즉, 인구증가율이 kmax의 반이
되도록하기 위해 필요한 식량의 양
Se-Woong Chung, Chungbuk National University
56
Se-Woong Chung, Chungbuk National University
57
예제: 표 18.1
 문제의 가정
p : 맥주생산에 사용되는 효모(yeast)의 양
dp
 kp
dt
f : 발효를 위해 사용되는 탄소의 농도
1
K 1
1


k k max f k max
K에 대한 역을 취함
k  k max
Slope
f
K f
Intercept
선형회귀분석 또는
Excel Solver로 해결 가능
Se-Woong Chung, Chungbuk National University
58
 역함수의 선형회귀분석을 이용
Se-Woong Chung, Chungbuk National University
59
Se-Woong Chung, Chungbuk National University
60
 Excel의 해찾기 이용
Se-Woong Chung, Chungbuk National University
61
Se-Woong Chung, Chungbuk National University
62
Homework #5
Due. 11/12
연습문제 : 16.4, 16.13, 16.15
연습문제 : 17.4 자료 사용하고
(1) 1, 2, 3차 Newton 보간 다항식으로 f(2.8) 계산
Se-Woong Chung, Chungbuk National University
63