반응형

문제: A제품과 B 제품이 있는데, B 제품의 제품 클레임이 A제품보다 많다고 한다. A, B 두 제품의 품질 간에 유의한 차이가 있는지 독립표본 두 모평균 비교를 수행하라.

 

1. 데이터를 불러오자.

> setwd('c:/Rwork')

> claim<-read.csv('claim.csv',header = T)

> boxplot(ppm~제품, data=claim) 

 

##A B 나누어 살펴보기

> library(dplyr)

> claim.A <- claim %>% filter(제품 == "A")

> claim.B <- claim %>% filter(제품 == "B")

> nrow(claim.A) ; nrow(claim.B)

[1] 105

[1] 40

 

> claim.A$제품 %>% table #질적-명목형 변수

A   B

105   0

> claim.A$ppm %>% summary #양적-이산형 변수

Min. 1st Qu.  Median    Mean 3rd Qu.    Max.

3.0    83.0   211.0   259.7   385.0   994.0

> claim.A$ppm %>% sd

[1] 217.4249


> claim.B$ppm %>% summary #양적-이산형 변수

Min. 1st Qu.  Median    Mean 3rd Qu.    Max.

29.00   71.25  145.50  272.60  345.20 1104.00

> claim.B$ppm %>% sd

[1] 279.8323

> par(mfrow=c(1,2))

> claim.A$ppm %>% hist

> claim.B$ppm %>% hist


-> 해석: A의 평균 ppm 259, 표준편차는217, B는 평균이 272, 표준편차 279. BoxplotHistogram만으로는 확연히 B의 클레임 ppm이 높다고는 볼 수 없다.

 


2. R을 이용하여 통계 분석을 해보자.

두 집단의 평균이 같은지를 비교하여 두 집단의 차이를 평가하는 경우 two-sample t-test를 사용하는데, 쌍을 이룬 두 변수 간에 차이의 평균이 0인지 검정하는 paired t-test와는 달리 서로 독립적인 두 집단의 평균의 차이가 0인지를 검정한다. Two-sample t-test는 다음 순서를 따른다.

 

두 집단의 분산이 같은지 검정하자.

> var.test(ppm~제품, data=claim)

F test to compare two variances

 

data:  ppm by 제품

F = 0.6037, num df = 104, denom df = 39, p-value = 0.04555

alternative hypothesis: true ratio of variances is not equal to 1

95 percent confidence interval:

  0.3454412 0.9901513

sample estimates:

  ratio of variances

0.6037024

-> 해석:

귀무가설 H0: 두 모형의 분산이 같다.

대립가설 H1: 두 모형의 분산이 다르다.

F = 0.6037, num df = 104, denom df = 39, p-value = 0.04555

두 분산의 비율이 0.6배이고, p값이 0.05보다 작으므로 두 분산이 같다는 귀무가설을 기각, 즉 두 모집단이 다르다, 분산이 다른 경우 에는 welch t.test를 한다.

 

분산이 다른 경우 에는 welch t.test 실시한다.

> t.test(ppm~제품,data=claim)

 

Welch Two Sample t-test

 

data:  ppm by 제품

t = -0.26303, df = 57.854, p-value = 0.7935

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

  -111.13697   85.32268

sample estimates:

  mean in group A mean in group B

259.7429        272.6500

-> 해석:

귀무가설 H0: μ1-μ2 = 0,

대립가설 H1: μ1-μ2 ≠ 0

검정통계량 T(df=57.854)=-0.26303

p-value 0.7935 > 0.05


평균이 같다는 귀무가설을 기각하지 못한다. 즉 제품 A와 제품B간에는 유의수준 5%에서 품질 차이가 없다고 결론지을 수 있다.



아직 R과 통계 공부 걸음마 단계인데 어서 익숙해지고 싶다.

반응형
Posted by 마르띤
,
반응형

목표변수가 연속형인 경우 -> 선형 회귀모델, ex) 광고비 투입 대비 매출액

목표변수가 두 개의 범주를 가진 이항형인 경우 -> 로지스틱 회귀모형, ex) 좋다1, 나쁘다0


 

2.1 선형회귀모형(linear regression model)

① 모형의 정의


Y= β0 + β1X1i + β2X2i +…..+ βpXpi + εi,   i = 1,…, n


- β0, β1, β2, …. Βp 를 회귀 모수(regression parameters) 또는 회귀 계수(regression coefficients)로서 알려지지 않는 상수이다.

εi Yi의 근사에서 오차(error)

 

회귀 모수의 추정

림에서 보듯이 주로 각 관측치로부터 회귀직선까지의 수직거리 제곱의 합을 최소화하는 회귀모수를 찾는 최소제곱추정법(LSE: least square estimation)을 이용한다. 즉 오 εi= Y - β0 - β1X1i - β2X2i -…..- βpXpi의 제곱합이다.


이 오차의제곱합을 최소화하는 추정값을 이용한 최소제곱회귀직선(least square regression line) 다음과 같으며, 오차항εi은 없다.



회귀 계수의 해석

회귀계수 βj 다른 입력 변수들이 일정할 j번째 입력변수가 단위 변동할 대응하는 Y 변동 양으로 해석. , βj 다른 입력변수를 보정한 후에 Y 대한 Xj 기여도. 회귀계수 βj 양수이면 Xj 증가할 Y 증가하고, 반대로 βj 음수이면, Xj 증가할 Y 감소함을 의미한다.


 

④ 입력 변수의 중요도




t값의 절대 값이 클수록 영향력이 크다고 할 수 있다. P-값이 유의수준 (보통 0.05)보다 작을 때 

귀무가설 H0 : β1 = 0

대립가설 H1 : β1 0

 

귀무가설을 기각하여, Xj의 영향력이 있다고 말할 수 있다.

 

⑤ 모형의 적합도 – F

모형의 상수항 β0을 제외한 모든 회귀계수가 0인지 아닌지를 검정하는 측도를 F-값이라 한다.

F-값은 회귀직선에 의해 평균적으로 설명할 수 있는 부분(MSR: mean squared regression)을 설명할 수 없는 부분(MSE: meas squared erroe)으로 나눈 값.

F =

MSR

=

SSR/p

MSE

SSE/(n-p-1)

 

F-값이 크면 p개 입력변수 중에 최소한 하나는 유의하다(회귀계수가 0이 아니다)라는 뜻이고, F-값이 작아서 p-(보통 0.05) 보다 크면 모든 입력변수가 유의하지 않아서 회귀선이 쓸모가 없다.

 

⑤ 모형의 적합도 결정계수 R2

모형의 적합도(goodness-of-fit)를 결정계수(coefficient of determination) R2으로 측정할 수 있다.

결정계수 R2는 설명할 수 있는 부분의 총합을 변동의 총합으로 나눈 값으로 0 1사의 값을 지닌다.

R2=

SSR

= 1 -

SSE

SST

SST

 

R2 1에 가까울수록 모형이 데이터에 더 잘 적합되었다(fitted), 또는 회귀직선이 설명력이 높다라고 말할 수 있다.

 

다만, 모형에 포함된 변수의 수(p)가 증가하면 할수록 R2은 증가하므로 변수의 수가 다른 모형을 비교할 때는 수정된(adjusted) R2를 사용

Ra2=

Adjusted R2

= 1 -

n-1

n-p-1

 

Ra2은 변수의 수가 증가한다고 항상 증가하지는 않는다.

 

⑤ 모형의 적합도 – AIC

입력변수의 수가 다른 모형을 비교 평가하는 기준으로 AIC(Akaike information criterion)을 사용한다.


AIC = nlog(SSE/n) + 2p

 

SSE는 오차제곱합으로 작을수록 모형이 적합이 잘 되었다고 할 수 있다. 입력변수의 수가 증가할수록 SSE는 감소하지만, 벌점 2p를 더한 AIC는 항상 감소하지는 않는다. 여러 후보 모형 중에서 AIC가 가장 작은 모형을 선택한다.

 

모형을 이용한 예측

주어진 데이터에 기반하여 회귀식 Ŷ을 얻었다고 하자. 임의의 객체 i*에 대해 관측한 입력변수의 값 x1i*, x2i*, …, xpi*를 그 회귀식에 대입하여 목표변수의 예측치 Ŷix를 얻을 수 있다.


즉, 기존 고객 데이터로 회귀식을 얻은 후, 수집한 새로운 고객의 입력변수 값을 회귀식에 대입하여 새로운 고객의 목표변수값을 예측하는 데 이용할 수 있다.


 

⑦ 예측력

목표변수가 연속형인 경우에 모형의 예측력 측도로서 MSE(mean squared error)를 주로 사용. 시각적으로 관측치(yi)와 예측치 Ŷi의 차이를 확인하기 위해서는 이들을 가로축 및 세로축에 놓고 그린 산점도가 45도 대각선을 중심으로 모여 있으면 예측력이 좋다고 할 수 있다.



반응형
Posted by 마르띤
,
반응형

회귀분석(regression analysis): 독립변수와 종속변수 간의 함수 관계를 규명하는 통계적인 분석방법


Ŷ=f(X)+ε


 - 독립변수(independent variable) 또는 설명변수(explanatory variable): 다른 변수에 영향을 주는 변수, 흔히 Y= β0 + β1X 공식에서 X

 - 종속변수(dependent variable) 또는 반응변수(response variable): 독립 변수에 의해 영향을 받는다는 변수, 흔히 Y= β0 + β1X 공식에서 Y

 

회귀(回歸)라는 말은다시 본디의 자리로 돌아온다라는 뜻으로 통계 분석에 처음 사용한 사람은 영국의 우생학자 Galton. 완두콩 실험을 통해 부모콩의 무게를 X, 자식콩의 무게를 Y축으로 산점도를 그리자, 이들의 관계식은 양이 관계이나 1보다 작아서 자식의 무게는 평균 무게로 회귀하려는 경향이 있다는 사실을 발견하고 이를 회귀(regression)으로 표현. 당시에 Galton 연구실에서 일하던 동료 연구원 Karl Pearson 이를 계량적으로 처음으로 분석하여 발표.

 

1. 데이터를 불러와서 산점도 그래프를 그리기

> market=read.table('market-1.txt',header=T)

> head(market,3)

NUMBER X  Y

1      1 4  9

2      2 8 20

3      3 9 22

> plot(market$X,market$Y,xlab='광고료',ylab='총판매액',pch=19)

> title('광고료와 판매액의 산점도')


 

2. 단순 회귀 분석 실시

> market.lm=lm(Y~X,data=market)

> summary(market.lm)

 

 

해석

추정값은 Coefficients: Estimate에서 확인. 추정된 회귀식은 Ŷ=-2.27 + 2.6 X

 


3. 산점도 위에 회귀직선을 그리자 - 회귀선의 추정

> abline(market.lm)

> identify(market$X,market$Y)

[1]  4  5 10

# Identify는 재미있는 함수인데, 본 함수를 입력하고 마우스로 점을 클릭하면 그림처럼 값을 알 수 있다.


> xbar = mean(market$X)

> ybar = mean(market$Y)

> xbar

[1] 8

> ybar

[1] 18.6

> points(xbar,ybar,pch=17,cex=2.0,col='RED')

> text(xbar,ybar,"(8,18.6)")

> fx <- "Y-hat = -2.27 + 2.6*X "

> text(locator(1),fx) #locator(1) 마우스로 클릭하면서 지정


 


4. 회귀식 특징

> names(market.lm)

[1] "coefficients"  "residuals"     "effects"       "rank"          "fitted.values"

[6] "assign"        "qr"            "df.residual"   "xlevels"       "call"        

[11] "terms"         "model"       

> market.lm$resid

1          2          3          4          5          6          7          8

0.8347826  1.4000000  0.7913043 -3.6000000 -1.6000000  0.9652174  4.6173913  1.1826087

9         10

-3.3826087 -1.2086957

> resid=market.lm$residual

> sum(resid) #특징1. 잔차의합은 0이다

[1] 0

> sum(market$X*resid) #특징2. 잔차들의 Xi 의한 가중합은 0이다

[1] 2.220446e-15

> sum(market.lm$fitted*resid) #특징3. 잔차들의 Yi 의한 가중합은 0이다

[1] -1.24345e-14

> names(market.lm)

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

 [5] "fitted.values" "assign"        "qr"            "df.residual"  

 [9] "xlevels"       "call"          "terms"         "model"        

> sum(market.lm$fitted.values)

[1] 186

> sum(market$Y)

[1] 186

#특징4. 추정값Yhat의 값과 관찰값Yi의 값은 같다.


5. 회귀모형의 정도

 - 산점도 위에 회귀직선을 그려 회귀선의 정도를 대략 짐작할 있으나, 이러한 경우는 독립변수가 하나인 경우에만 유용하게 쓰일 있다. 추정된 회귀선의 정도를 측정하는 여러 가지 측도(measure) 중에서 널리 이용되는 세가지를 알아보자

 ① 분산분석표에 의한 F-검정

 ② 결정계수

 ③ 추정값의 표준오차 

 ④ 상관계수와 결정계수


① 분산분석표에 의한 F-검정

요인

자유도

제곱합

평균제곱

F0

회귀

1

SSR(회귀제곱합)

MSR=SSR

MSR/MSE

잔차

n-2

SSE(잔차제곱합)

MES=SSE/n-2

 

n-1

SST( 제곱합)

 

 

- SST(Total sum of squares): 제곱합

- SSR(Sum of squares due to regression): 회귀제곱합, 설명되는 편차

- SSE(Sum of squares due to residual errors): 잔차제곱합, 설명되지 않는 편차

 

귀무가설 H0 : β1 = 0

대립가설 H1 : β1 0

 

F0 > F(1, n-2 ; α )이면 귀무가설 H0 : β1 = 0 기각하고, 회귀직선이 유의하다고 말한다. R분석 결과에서는 검정통계량 F0 대한 유의확률 p값이 제공된다. p < 유의확률 α이면 귀무가설 H0 : β1 = 0 기각한다

 

분산분석표

> anova(market.lm) #분산분석표

 

요인

자유도

제곱합

평균제곱

F0

회귀

1 = 1

SSR(회귀제곱합)

= 313.04

MSR=SSR

= 313.04

MSR/MSE

= 45.24

잔차

10-2 = 8

SSE(잔차제곱합)

= 55.36

MSE(잔차 평균제곱)  = SSE/n-2= 6.92

 

10-1 = 9

SST( 제곱합)

= 368.4

 

 

p값은0.0001487p < 유의확률 α 이므로 귀무가설  H0 : β1 = 0 기각한다, 따라서 회귀식은 유의하다.

 

> qf(0.95,1,8)

[1] 5.317655

유의수준 α =0.05에서 F-기각역 F(1,8;0.05)의 값은 5.32, " F0 = 45.24 > 5.32"이므로 귀무가설 기각, 회귀선은 유희하다

 

> 1-pf(45.25,1,8)

[1] 0.0001485485

유의확률 p값을 이용한 검정은 0.0001485485 이 값이 주어진 유의수준 α =0.05 보다 작을수록 귀무가설을 기각한다.

 


결정계수


R2=SSR/SST =1-SSE/SST


R2 결정계수(coefficient of determination)라고 부른다.


R2=SSR/SST = 313.04/368.4= 84.97%


이는 총변동 주에서 회귀직선에 의하여 설명되는 부분이 84.97%라는 의미로서, 추정된 회귀선의 정도가 높다는 것을 있다.

 

R 통해서도 있는데, Multiple R-squared 0.8497임을 있다.

> summary(market.lm)  



 

 추정값의 표준오차

선형회귀모형 Y= β0 + β1X + ε 을 표본의 자료로부터 적합시킬 때,


Y의 기댓값은 E(Y) = β0 + β1X, 분산은 σ2로 가정,


하였다. 따라서 Y의 측정값들이 회귀선 주위에 가깝게 있다면 σ의 추정값은 작아질 것이다. 

분산분석표에서 잔차평균제곱 MSE는 σ2의 불편추정량이 된다. 따라서 MSE의 제곱근을 추정값의 표준오차(standard error of estimate)라고 부르며, 다음과 같이 표현한다.



SY•X = SQRT(MSE) = SQRT(SSE/n-2) = 2.63


 

R 통해서도 있는데, Residual standard error 2.631임을 있다.

> summary(market.lm) 


 


상관계수와 결정계수

상관계수는 연속인 변수 간의 선형관계(linear relationship) 어느 정도인가를 재는 측도로서, 단순 회귀 분석에서는 상관계수 r 다음과 같이 구할 있다.


r = ±SQRT(R2 )


즉 상관계수는 결정계수 R2 제곱근이며, 만약 추정된 회귀선의 기울기 b1 양이면 양의 상관계수를 갖고, 기울기b1 음이면 음의 상관계수를 갖는다. 회귀식 Ŷ=-2.27 + 2.6 X에서 b1 2.6으로 양이므로 상관계수는 0.8497 sqrt , 0.9217임을 있다.

반응형
Posted by 마르띤
,