반응형

종속 변수의 변화를 설명하기 위하여 두 개 이상의 독립 변수가 사용되는 선형회귀모형을 중선형회귀(multiple linear regression model)라 부르며, 간단히 중회귀모형(multiple regression model)이라함.




 

- 중회귀모형에서독립변수가2개인경우


 

- 벡터 표현

 

중회귀모형의 행렬 표현은

 

 


2.2 중회귀모형의 추정

-최소제곱법

 

R활용한 행렬 연산

> setwd("c:/Rwork")

> market2<-read.table("market-2.txt",header=T)

> head(market2,3)

ID  X1   X2    Y

1  1 4.2  4.5  9.3

2  2 8.5 12.0 18.5

3  3 9.3 15.0 22.8

> X=market2[,c(2:3)]

> head(X)

X1   X2

1  4.2  4.5

2  8.5 12.0

3  9.3 15.0

4  7.5  8.5

5  6.3  7.4

6 12.2 18.5

> X=cbind(1,X)

> head(X)

1   X1   X2

1 1  4.2  4.5

2 1  8.5 12.0

3 1  9.3 15.0

4 1  7.5  8.5

5 1  6.3  7.4

6 1 12.2 18.5

> Y=market2[,4]

> X=as.matrix(X)

> head(Y)

[1]  9.3 18.5 22.8 17.7 14.6 27.9

> Y=as.matrix(Y)

> head(Y)

[,1]

[1,]  9.3

[2,] 18.5

[3,] 22.8

[4,] 17.7

[5,] 14.6

[6,] 27.9

> XTX=t(X)%*%X

> XTX

1      X1      X2

1   15.0  132.80  165.50

X1 132.8 1280.80 1610.68

X2 165.5 1610.68 2149.49

> XTXI=solve(XTX)

> XTXI

1          X1           X2

1   0.82483283 -0.09810472  0.010004922

X1 -0.09810472  0.02520628 -0.011334282

X2  0.01000492 -0.01133428  0.008188029

> XTY=t(X)%*%Y

> XTY

[,1]

1   290.40

X1 2796.89

X2 3568.95

> beta=XTXI%*%XTY

> beta=round(beta,3)

> beta

[,1]

1  0.850

X1 1.558

X2 0.427

-> 결론: 마지막 beta 함수를 통해 선형회귀식을 도출할 수 있다.




 

광고료가 1000만원 (X1=10) 이고 상점의 크기가 100 (X2=10) 인 상점의 평균 총판매액의 추정값은

0.850 + 1.558*10 + 0.427*10 = 20.7 207백만원으로 추정

 

 

 

 

잔차의 성질

추정된회귀식의값 Ŷi과 관찰값Yi의차이를잔차εi = Yi – Ŷi .

추정값과잔차벡터의행렬표현은 아래와 같다.

 

 

여기서 H는 햇행렬(hat matrix)라고 한다. 햇행렬은 다음을 만족하는 멱등행렬(idempotent matrix)이다.

 

H2 = HH = H

H = H

 

잔차의 성질

(1)잔차의 합은 0

(2) 잔차의독립변수에대한가중합은0

(3) 잔차의추정값에대한가중합도0

(4) 중회귀모형 Y = Xβ + ε에서, 잔차 εi간에는 상관관계가 일반적으로 존재함.



2.3 회귀방정식의 신뢰성

<중회귀의 분산분석표>

요인

자유도

제곱합

평균제곱

F0

회귀

K

SSR(회귀제곱합)

MSR(회귀 평균 제곱)=SSR/k

MSR/MSE

잔차

n-k-1

SSE(잔차제곱합)

MSE(잔차 평균제곱)

= SSE/ n-k-1

 

n-1

SST( 제곱합)

 

 

 

 

F0 =

MSR

회귀방정식이 유의한가를 검정하기 위한 검정통계량

MSE

 

귀무가설 H0 : β1 β2 = ……. = βk = 0

대립가설 H1 : 최소한 하나의 βi 0

유의수준 a에서 만약 F0의 값이 F0>F(K,n-k-1;a)이면 귀무가설을 기각하여, 회귀방정식이 유의(significant)하다는 것을 의미

 

 

R을 활용한 회귀분석

> head(market2)

ID   X1   X2    Y

1  1  4.2  4.5  9.3

2  2  8.5 12.0 18.5

3  3  9.3 15.0 22.8

4  4  7.5  8.5 17.7

5  5  6.3  7.4 14.6

6  6 12.2 18.5 27.9

> market2.lm = lm(Y~X1+X2,data=market2)

> summary(market2.lm)

 

Call:

  lm(formula = Y ~ X1 + X2, data = market2)

 

Residuals:

  Min       1Q   Median       3Q      Max

-1.30465 -0.69561 -0.01755  0.69003  1.53127

 

Coefficients:

  Estimate Std. Error t value Pr(>|t|)   

(Intercept)  0.85041    0.84624   1.005 0.334770   

X1           1.55811    0.14793  10.532 2.04e-07 ***

X2           0.42736    0.08431   5.069 0.000276 ***

  ---

  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Residual standard error: 0.9318 on 12 degrees of freedom

Multiple R-squared:  0.9799,           Adjusted R-squared:  0.9765

F-statistic: 292.5 on 2 and 12 DF,  p-value: 6.597e-11

->  해석

회귀식: Ŷ = 0.85041 + 1.55811 * X1 + 0.42736 * X2

결정계수: 0.9799, 수정 결정계수는 0.9765

F값은 292.5이고 유의확률 6.597e-11로서 귀무가설을 기각하고 적합된 중회귀모형이 이 데이터를 설명하는데 유의함.  

     

 

 

R 활용한 분산분석표

> anova(market2.lm)

Analysis of Variance Table

 

Response: Y

Df Sum Sq Mean Sq F value    Pr(>F)   

X1         1 485.57  485.57 559.283 1.955e-11 ***

X2         1  22.30   22.30  25.691 0.0002758 ***

  Residuals 12  10.42    0.87                     

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

  -> 해석:

SS(X1) = 485.57

SS(X2|X1) = 22.30, 변수X1이 적합된 후, 변수X2가 추가되었을 대의 추가제곱합을 의미.

X1, X2 모두 P값이 유의미함

 

요인

자유도

제곱합

평균제곱

F0

Pr(>F)

회귀

K = 2

SSR(회귀제곱합)

= 507.87

MSR=SSR/k

= 253.94

MSR/MSE

= 292

6.597e-11

잔차

n-k-1 = 12

SSE(잔차제곱합)

= 10.42

MSE(잔차 평균제곱)

= SSE/ n-k-1

= 0.87

 

 

n-1 = 14

SST( 제곱합)

= 518.29

 

 

 

 

- 중상관계수(multiple correlation coefficient)

 단순 회귀 모형에서 결정계수: 두 변수의 상관계수의 제곱과 같음

 중회귀모형의 결정계수: 반응변수 Yi와 추정값Ŷi의 상관계수의 제곱과 같음. 따라서 결정계수의 제곱근을 중산관계수(multiple correlation coefficient)라고 함. 

 

 

> names(market2.lm)

[1] "coefficients"  "residuals"     "effects"     

[4] "rank"          "fitted.values" "assign"      

[7] "qr"            "df.residual"   "xlevels"     

[10] "call"          "terms"         "model"       

> yhat=market2.lm$fitted

> cor(market2$Y,yhat)

[1] 0.9898983

> cor(market2$Y,yhat)^2

[1] 0.9798986

 

->  cor(market2$Y,yhat)^2 값이 0.9798 결정계수 0.9799 동일

 

 

 

 

잔차평균제곱(Residual mean squares)

 

MES = SSE / n-k-1, MSE의 값이 작으면 작을수록 관찰값 Yi들이 추정값Ŷi과 차이가 거의 업다는 것을 의미하며, 추정된 회귀방정식을 믿을 수 있게 됨.

 

> summary(market2.lm)

 

Call:

  lm(formula = Y ~ X1 + X2, data = market2)

 

Residuals:

  Min       1Q   Median       3Q      Max

-1.30465 -0.69561 -0.01755  0.69003  1.53127

 

Coefficients:

  Estimate Std. Error t value Pr(>|t|)   

(Intercept)  0.85041    0.84624   1.005 0.334770   

X1           1.55811    0.14793  10.532 2.04e-07 ***

X2           0.42736    0.08431   5.069 0.000276 ***

  ---

  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Residual standard error: 0.9318 on 12 degrees of freedom

Multiple R-squared:  0.9799,           Adjusted R-squared:  0.9765

F-statistic: 292.5 on 2 and 12 DF,  p-value: 6.597e-11

 

> anova(market2.lm)

Analysis of Variance Table

 

Response: Y

Df Sum Sq Mean Sq F value    Pr(>F)   

X1         1 485.57  485.57 559.283 1.955e-11 ***

X2         1  22.30   22.30  25.691 0.0002758 ***

  Residuals 12  10.42    0.87                     

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

-> 잔차평균제곱근 0.9318, sqrt(10.42/12) = 0.931844

반응형
Posted by 마르띤
,