오늘강의내용 (2014/01/16) 회귀분석 1
회귀분석 (Regression Analysis) 2
회귀분석 회귀분석이란? 연관된변수들간의관계를찾는통계적방법 즉, 어떠한변수 x가변수 Y에함수관계를통해영향을미친다는것을찾아내는것 예를들어 강우량 ( 변수 x) 이곡물의수확량 ( 변수 Y) 에미치는영향 화학공정의수율 ( 변수 x) 이촉매의사용량 ( 변수 Y) 에따라어떻게변하는지.. 3
변수간의관계 확정적 (deterministic) 관계 두변수사이에수학적공식 y = f(x) 가성립한다는것 함수 f 의상태를모를수도있으나, y 는 x 에따라확정되는것이확실한관계 확률적 (probabilistic) 관계 x의일정한값에대해관측되는 Y의값이일정하게나타나지는않지만, 평균적으로일정한경향을나타내는것 Y = f(x) + ε x 는독립변수, Y 는종속변수, ε 는확률적효과 Note: Y는확률변수이나, x는확률변수가아님 다른용어로, x 를설명변수 (regression variable), Y를반응변수 (response variable) 이라고부르기도함 4
회귀분석을통해 설명변수 ( 독립변수 x) 와반응변수 ( 종속변수 Y) 의관계를수식으로나타내고, 이에대한적합성검증가능 추정된평균반응값에포함된오차의범위 ( 신뢰구간 ) 을얻을수있음 설명변수의값을알면평균반응값을추정하거나, 새로운관측값을예측가능 5
회귀 모형 regression model 변수 간의 관계를 확률적으로 나타낸 것 예를 들어, 키와 폐활량의 관계를 알아보기 위해 20명의 실험 대상에 대해 데이터를 얻음 두 변수간에 선형적인 관계식이 존재함을 알 수 있음: E(Y) = β0 + β1x 6
회귀 모형 확률 오차 ε (random error) 관측 값과 β0 + β1x 간의 차이 다른 변수의 영향이나 측정 오류에 기인 확률 오차를 고려하여 두 변수의 관계는 Y = β0 + β1x + ε 로 나타낼 수 있음 선형 회귀 모형 (linear regression model) 단순 회귀 모형 : Y = β0 + β1 x + ε 다중 선형 회귀 모형 : Y = β0 + β1x1 + β2x2 + β3x3 + + βkxk + ε ε 7
단순회귀모형 Y = β 0 + β 1 x + ε β 0, β 0 : 회귀계수 (regression coefficient) 확률오차 ε 는평균 0, 분산 σ 2 인분포를따른다고가정 Fitting 변수간의관계를회귀모형으로가정한다음, 회귀모형의모수들을추정 최소제곱법 (method of least squares) 모수를추정하는방법중의하나 실험을통해설명변수 x 의여러값 x 1, x 2,, x n 에대응하는반응변수 Y의관측값 y 1, y 2,, y n 을얻었을때오차 ε i 를제곱하여모두합한값을최소로하는추정방법 n Q β 0, β 1 = ε 2 n 2 = y i β 0 β 1 x i i=1 i=1 8
단순회귀모형 최소제곱법 (method of least squares) n Q β 0, β 1 = ε 2 n 2 = y i β 0 β 1 x i i=1 i=1 Q β 0, β 1 을최소화하는 β 0, β 1 을다음연립방정식을계산하여구함 Q β 0,β 1 n = 2 β i=1 y i β 0 β 1 x i = 0 0 Q β 0,β 1 n = 2 β i=1 y i β 0 β 1 x i x i = 0 1 두식을정리하면, β 1 = n i=1(x i x )(y i y) n i=1 (x i x )^2 β 0 = y β 1 x 여기서, x, y 는 x i, y i 의평균 9
Quiz 기계의사용기간 ( 개월수 ) 과정비비용 ( 만원 ) 사이에어떠한관계가있는지알아보기위해기계의사용기간에따른정비비용을조사하였다. (1) 단순회귀모형을통해관계를분석하고, (2) 각데이터들과선형함수를그래프로그리고, (3) 사용기간이 60개월일때정비비용을알아보자. 관측번호 1 2 3 4 5 6 7 8 9 10 사용기간 (x i ) 18 6 30 48 6 36 18 18 30 36 정비비용 (y i ) 25 17 48 58 23 40 30 39 40 60 β 1 = n i=1(x i x )(y i y) n i=1 (x i x )^2 β 0 = y β 1 x 여기서, x, y 는 x i, y i 의평균 통계학응용과이론, 청문각에서발췌 10
Quiz Sol. β 0 = 14.5714, β 1 = 0.9524 11
다중회귀모형 설명변수 (x) 하나만으로반응변수 (Y) 의변화를충분히설명하지 못하여, 여러개의설명변수를사용해야하는경우에사용하는모형 설명변수의수가 k 개인다중회귀모형 Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + + β k x k + ε 각각의회귀계수 β i 는 i 번째설명변수만의변화가반응변수에미치는영향 설명변수의선형결합도다중회귀모형으로분석가능 예를들어, Y = β 0 + β 1 x + β 2 x 2 + β 3 x 3 + ε 의경우, x 1 = x, x 2 =x 2, x 3 =x 3 으로 치환하면다중회귀모형 Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + ε 으로해석가능 12
다중회귀모형의최소제곱추정 단순회귀모형의최소제곱추정방법과비슷하게계산 Y 1 = β 0 + β 1 x 11 + β 2 x 12 + β 3 x 13 + + β k x 1k + ε 1 Y 2 = β 0 + β 1 x 21 + β 2 x 22 + β 3 x 23 + + β k x 2k + ε 2 Y n = β 0 + β 1 x n1 + β 2 x n2 + β 3 x n3 + + β k x nk + ε n 상기수식을행렬로정의가능 Y = Xβ + ε 이며 Y = [Y1, Y2,, Yn], X = 1 x 11 x 12 x 1k 1 x 21 x 13 x 2k, ε = [ε 1, ε 2,, ε n ] 1 x n1 x n2 x nk 13
다중회귀모형의최소제곱추정 오차의제곱의합이최소가되도록하는회귀계수들을찾음 n 2 Q(β) = i=1 ε i = ε ε = (Y - Xβ) (Y Xβ) 위의식을풀어서정리하면, Q(β) = Y Y β X Y Y Xβ + β X Xβ = Y Y 2β X Y + β X Xβ Q = β 2X Y + 2X Xβ = 0 X Xβ = X Y 따라서최소제곱추정량 β = (X X) -1 X Y 14
다중회귀모형 A 전자회사는전국적으로수백개의대리점을갖고있는데, 각대리점의월매출액 ( 억원 ) 은관할구청의인구수 ( 십만명 ) 와그구역의가구당월평균수입 ( 백만원 ) 에크게영향을받는다고판단된다. 10개의대리점을무작위로뽑아다음과같은자료를얻었다. 이자료를다중회귀모형에 fitting 시켜보자. 대리점번호 1 2 3 4 5 6 7 8 9 10 월매출액 ( y i ) 2.0 1.3 2.4 1.5 0.6 2.0 1.0 2.0 1.3 0.9 인구수 (x i1 ) 3.0 1.1 3.5 2.5 0.6 2.8 1.3 3.3 2.0 1.0 월평균수입 (x i2 ) 3.2 3.0 3.6 2.6 1.9 3.5 2.1 3.4 2.8 2.3 최소제곱추정량 β = (X X) -1 X Y 통계학응용과이론, 청문각에서발췌 15
다중 회귀 모형 대리점 번호 1 2 3 4 5 6 7 8 9 10 월매출액( yi) 2.0 1.3 2.4 1.5 0.6 2.0 1.0 2.0 1.3 0.9 인구수 (xi1) 3.0 1.1 3.5 2.5 0.6 2.8 1.3 3.3 2.0 1.0 월평균수입 (xi2) 3.2 3.0 3.6 2.6 1.9 3.5 2.1 3.4 2.8 2.3 β0 = -0.4503 β1 = 0.3067 β2 = 0.4589 추정 회귀식 y(x1,x2) = -0.4503 + 0.3067 x1 + 0.4589 x2 16
Quiz 국민의생활수준을알아보는지표로총생계비중에서식비가차지하는비율인엥겔지수가있다. 한가계당평균얼마의식비를지출하는지알아보기위해서울에거주하는 10가구를무작위로뽑아월평균식비 ( 단위 : 만원 ) y, 월평균소득 ( 단위 : 만원 ) x 1, 가족의수 ( 단위 : 명 ) x 2, 그리고평균연령 ( 단위 : 세 ) x 3 을조사하여다음과같은자료를얻었다. y 36.2 39.0 81.7 39.0 68.3 106.3 123.9 114.8 97.0 100.2 x1 206.2 218.6 264.6 330.5 334.7 365.6 379.3 456.4 502.7 531.0 x2 1 4 4 2 3 4 5 6 3 7 x3 32 39 41 33 37 31 35 29 27 36 다음의다중회귀모형을가정하고회귀식을추정하라. Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + ε 최소제곱추정량 β = (X X) -1 X Y 통계학응용과이론, 청문각에서발췌 17
Quiz Sol. y 36.2 39.0 81.7 39.0 68.3 106.3 123.9 114.8 97.0 100.2 x1 206.2 218.6 264.6 330.5 334.7 365.6 379.3 456.4 502.7 531.0 x2 1 4 4 2 3 4 5 6 3 7 x3 32 39 41 33 37 31 35 29 27 36 β 0 = 88.7125 β 1 = 0.0517 β 2 = 11.9010 β 3 = -2.1480 추정회귀식 y(x 1,x 2,x 3 ) = 88.7125 + 0.0517 x 1 + 11.9010 x 2-2.1480 x 3 통계학응용과이론, 청문각에서발췌 18
Basic Fitting Tool 주어진데이터에대해다양한 regression model 을적용해볼수있음 19
Basic Fitting Tool β 0 = 14.5714, β 1 = 0.9524 20
Basic Fitting Tool 여러회귀모형의결과를동시에확인가능 21
Quiz 다음자료를포물선회귀모형을이용하여분석하고자한다. Y = β 0 + β 1 x + β 2 x 2 + ε x -3-2 -1 0 1 2 3 y 0 0 1 1 0 0-1 Basic Fitting Tool 을이용하여추정회귀식을구하고, 이를산점도와함께 그려라. 22
Quiz Sol. 다음 자료를 포물선 회귀모형을 이용하여 분석하고자 한다. Y = β0 + β1 x + β2 x 2 + ε x -3-2 -1 0 1 2 3 y 0 0 1 1 0 0-1 Basic Fitting Tool을 이용하여 추정 회귀식을 구하고, 이를 산점도와 함께 그려라. 23
Quiz Sol. polyfit을 이용하는 방법 p = polyfit(x, y, n) (x, y) 좌표의 점, n차 회귀 모형으로 회귀분석 p : 회귀 곡선의 다항식 벡터를 반환 24
톨게이트통과차량 (traffic.txt) 시간 톨게이트 A 톨게이트 B 톨게이트 C 03:00 ~ 04:00 12 11 9 04:00 ~ 05:00 8 14 11 05:00 ~ 06:00 14 17 20 06:00 ~ 07:00 11 13 9 07:00 ~ 08:00 43 51 69 08:00 ~ 09:00 38 88 115 09:00 ~ 10:00 28 36 55 10:00 ~ 11:00 12 12 14 11:00 ~ 12:00 18 27 30 12:00 ~ 13:00 18 19 29 13:00 ~ 14:00 17 15 18 14:00 ~ 15:00 19 36 48 15:00 ~ 16:00 32 47 10 16:00 ~ 17:00 42 65 151 17:00 ~ 18:00 114 145 257 18:00 ~ 19:00 35 58 68 19:00 ~ 20:00 13 9 15 20:00 ~ 21:00 11 12 15 21:00 ~ 22:00 10 9 7 25
다항식 Fitting 톨게이트 C 를통과하는자동차의수를 6 차항을갖는다항식으로 fitting 해보자. 26
다항식이아닌함수로 Fitting 어떤데이터집합의경우, 다항식이아닌다른함수로 fitting 하는것이데이터를 더욱잘표현할수있음 MATLAB 의 polyfit 함수로데이터를 fitting 하기위해서는, 다항식이아닌 fitting 함수를선형으로변형해주어야함 fitting 할함수 선형변환 polyfit 사용법 y = a e mx ln(y) = mx + ln(a) p = polyfit( x, ln(y), 1 ) y = a 10 mx log(y) = mx + log(a) p = polyfit( x, log(y), 1 ) y = m ln(x) + b 그대로사용 p = polyfit( ln(x), y, 1 ) y = m log(x) + b 그대로사용 p = polyfit( log(x), y, 1 ) y = 1 / (mx + b) 1/y = mx + b p = polyfit( x, 1./y, 1) 27
다항식이아닌함수로 Fitting 데이터 plot 선형변환후 Fitting 28
Quiz 다음과같은데이터가있다. 다음데이터는아래와같은수식으로부터만들어낼수있다. 데이터 Fitting 하라. x = linspace(0, 2, 10); y = 1./(5*x+1) + 0.2*rand(1,length(x)); 29
Quiz Sol. 30
보간법 (Interpolation) 31
라그랑지보간법 (Lagrange Interpolation) 보간법은데이터점들사이의값을추정하는방법 평면상에서로다른 n 개의점 (x k, y k ) 가주어진다면, 이들을지나는 ( 최대 ) n 차의 유일한다항식 p 가존재하며, 이다항식 p 는항상주어진 n 개의점을지난다. P x = x x j k y k 이며, j k xk x j 다음을항상만족함 : P x k = y k, k=1..n 예를들어, (0,-5), (1,-6), (2,-1), (3,16) 점을지나는다항식은다음과같다. P x = x 1 x 2 x 3 6 5 + x x 2 x 3 2 6 + x x 1 x 3 2 1 + x x 1 x 2 6 (16) MATLAB 을통해구해보면 32
33
1 차원보간법 yi = interp1(x, y, t, 보간방법 ) xi, yi 데이터쌍 ( 좌표값 ) t 위의데이터에대해보간 (interpolate) 된그래프를그릴때, x축값에해당하는벡터 보간방법 nearest : 가장근접한이웃보간 linear : 선형보간 ( 기본값 ) spline : 3차스플라인보간 pchip : 3차 Hermite 보간 34
각보간법들의차이 35
spline 이용한보간법 주어진데이터점들을지나면서점들사이에부드러운곡선을형성 2차미분이연속이며, 동일한보간제약조건들을만족해야함 다양한방법이있음 1차스플라인 : 붉은색선 2차, 3차스플라인 : 녹색선 ( 포물선 ) spline 함수 : 3차스플라인 연속된두점 x i, x i+1 사이에 3차다항식으로생성되는곡선으로연결 각점에서스플라인라인은 1차 2차미분가능 ( 즉, 구간이부드럽게연결 ) 36
spline p = spline(x, y, t) 데이터 점 (x, y)가 주어지면 해당 데이터 점들을 가지고 spline 을 그림 데이터 점 외에 t로 주어지는 점들에 대해 spline(t) 의 값을 p로 반환 x -2-1 0 1 2 y 0.1429 0.3333 1.0000 1.0000 0.3333 37
pchip spline 과거의비슷 2 차미분을갖지않을수도있음 ( 즉, 구간이부드럽게연결되지않을수도 있음 ) spline 과 pchip 과의차이 spline은 overshoot 가발생할수있음 즉, 데이터가 smooth function 모양인경우에는 overshoot가발생하지않지만, 데이터가 smooth 하지않게배치된경우에는보간된라인이진동함 pchip은 데이터가 smooth 하게배치되지않은경우 overshoot 하지않음 spine보다계산이덜복잡함 38
pchip vs. spline 39
Basic Fitting Tool 이용한보간 40
Quiz 다음데이터들을 spline, linear, pchip 보간법을이용하여그려보자. 각 그래프에데이터점들도함께표시하여보자. x 0 1 2 3 4 5 y 1-0.6240-1.4704 3.2402-0.7363-6.3715 41
Quiz Sol. 다음데이터들을 spline, linear, pchip 보간법을이용하여그려보자. 각 그래프에데이터점들도함께표시하여보자. x 0 1 2 3 4 5 y 1-0.6240-1.4704 3.2402-0.7363-6.3715 42
2 차원보간법 griddata(x, y, z, X, Y, 보간방법 ) 임의의데이터점에대해 2차원보간 x, y, z 입력데이터에대한 x, y, z 좌표값 X, Y 보간할 X-Y plane의 grid 좌표값 보간방법 nearest : 가장근접한이웃보간 linear : 선형보간 ( 기본값 ) cubic : 삼각형기반 3차보간 43
주어진 3 차원데이터의보간 44
보간방법에따른그래프의모양변화 nearest : griddata(x,y,z,x,y, nearest ) nearest : griddata(x,y,z,x,y, natural ) 45
보간 방법에 따른 그래프의 모양 변화 nearest : griddata(x,y,z,x,y, nearest ) natural : griddata(x,y,z,x,y, natural ) linear : griddata(x,y,z,x,y, linear ) 46
47