회귀분석 ①

 

  단순회귀분석의 사례를 알아 보기 위해 다음과 같은 사례를 생각해보기로 합니다. 운동화를 판매하는 기업이 기존 오프라인 유통점을 줄이고 스포츠 체험이나 사진 촬영 등이 가능한 체험형 유통점을 늘려 나가기로 결정했다고 가정해 보겠습니다. 체험형 유통점에서는 현장에서 바로 구매할 수도 있고 해당 운동화 브랜드 온라인 쇼핑몰의 본인 장바구니에 담아 둘 수도 있다고 하겠습니다. 또한 기존의 편의점(CVS) 및 기업형 슈퍼마켓(SSM)과의 제휴를 통해 시내 중심가에 위치한 체험형 유통점에서 제품을 고른 후 결제하고 제품은 소비자가 거주하고 있는 지역 인근이나 이동 경로에 위치한 편의점 및 기업형 슈퍼마켓에서 수령할 수 있게 함으로써, 평일에는 근로와 혼잡한 대중교통 이용으로 쇼핑이 용이하지 않지만 운동화에 대해 관심이 많은 소비자들의 평일 오프라인 운동화 쇼핑활동을 촉진하기로 결정했다고 해보겠습니다. 그런데 체험형 유통점을 운영할 경우 보통의 유통점보다 내점 고객에 대한 응대가 많아져 기존 인력만으로는 만족할 만한 서비스 제공이 어렵지만 단기적으로 매출이 늘지 않는 상황에서 투입 인력을 증가시킬 수 없어 체험형 유통점에 내점하는 고객들의 서비스 만족도가 재방문의향에 어느 정도 영향을 미치는지 알아보고 단기적으로 예상매출감소가 용인할 만한 수준이라면 의미 있는 매출의 증가가 있을 때까지는 체험형 유통점 직원을 증가시키지 않기로 했다고 생각해 보겠습니다. 이를 알아보기 위해 체험형 유통점 내방 고객 300명을 대상으로 설문 조사를 실시하여 매장 재방문 의향과 직원 서비스 만족도를 평가했다고 종속변수 Y는 재방문의향, 독립변수 는 직원 서비스 만족도인 단순선형회귀분석을 적용해 보기로 했습니다.

  이 때, 재방문의향 Y와 직원 서비스 만족도 의 관계를 나타내는 회귀선을 어떻게 구할 것인가가 문제될 것입니다. 회귀선을 구하는 방법은 실제 Y값과 회귀선을 통해 추정한 값 (Y hat)의 차이 즉 잔차 e==a+bx의 제곱합을 최소화하도록 a와 b를 추정하는 것입니다. a와 b는 α와 β의 추정량이다. a와 b는 표본을 통해 얻어지는 추정량이라는 뜻에서 소문자로 표기하였다. 이렇게 자료에서 회귀식으로 설명하지 못하는 잔차항의 제곱합이 최소가 되도록 회귀계수의 값을 추정하는 방법을 최소자승추정법이라고 합니다.

 

 

  R에서 단순선형회귀분석을 실행하기 위해서는 lm(종속변수~독립변수,data= 분석 대상 데이터) 형식으로 명령어를 실행하면 됩니다. 키와 몸무게의 관계와 같이 절편항이 없는 회귀식이 있을 수 있습니다. 이럴 때에는 lim(Y~X-1,data=SR) 형태로 명령어를 변경해 주면 됩니다. R에서 분산분석을 실행하는 명령어는 aov(종속변수~독립변수, data=분석 대상 데이터)였는데 독립변수와 종속변수의 형태만 정확하게 입력했다면 분산분석에서도 lm 명령을 활용할 수 있습니다.

단순선형회귀모형에 대한 분산분석표와 회귀분석 결과 요약은 아래와 같습니다. 사례의 단순선형회귀무형은 유의미한 것으로 나타났습니다. 단순선형회귀분석에서는 독립변수와 종속변수가 각각 한 개씩 이므로 분산분석표에서의 F 통계량의 값과 개별 회귀계수에 대한 검정통계량인 T통계량이 완전히 동일하게 됩니다. 아래 회귀분석 결과의 요약 summary(output)에서 회귀계수 β에 대한 t통계량의 값은 4.991이고 이를 제곱하면 F 통계량의 값이 됨을 확인할 수 있습니다.

 

  위의 회귀분석 결과의 요약에서 residual은 잔차를 의미합니다. min은 전체 자료에서 가장 작은 값, max는 가장 큰 값을 말합니다. median은 자료를 크기 순으로 배열했을 때 중간에 위치한 값입니다. 그 외 1Q는 제1사분위수(first quartile)- 자신보다 작은 값들이 전체 자료에서 차지하는 비율이 25%인 값을 말하고 3Q는 제3사분위수(third quartile)-자신 보다 작은 값들이 전체 자료에서 차지하는 비율이 75%인 값입니다. 이들 min, max, median, 1Q,3Q를 보는 이유는 이들 다섯 가지 수치를 보면 분포의 형태를 짐작할 수 있기 때문입니다. 이들 다섯 가지 수치를 포함하여 boxplot을 그려보면 아래와 같습니다. 다소 비대칭인 모습을 보여 좀 더 살펴볼 필요가 있어 보입니다.

> boxplot(resid(output))

  R에서 실행한 단순선형회귀분석의 결과에서 Multiple R-squared는 회귀분석모형이 자료를 얼마나 잘 설명하는지를 나타내는 결정계수입니다. 결정계수는 회귀분석을 통해 얻은 Y의 추정값과 Y의 평균값의 차이를 제곱하여 더한 SSR(regression sum of square)을 실제 Y 값과 Y의 평균값의 차이를 제곱하여 더한 SST(total sum of square)로 나눈 값입니다. 실제 Y값과 Y의 평균값의 차이 중에서 회귀식이 설명하는 부분이 커지면 SSR 역시 커질 것이므로 결정계수 역시 큰 값을 가지게 됩니다. 결정계수는 독립변수가 증가하면 할수록 실제 설명력과는 무관하게 증가하는 문제를 갖고 있습니다. 이러한 문제를 해결하기 위해 자유도를 반영하여 독립변수가 증가하여 자유도가 증가하는 만큼 설명력이 증가하지 못하면 수치가 감소하도록 보정한 것이 수정결정계수(adjusted R-squared)입니다. 아래 수정결정계수 산출식에서 n은 표본크기, k는 독립변수의 개수입니다.

 

 R을 이용해 사례의 회귀분석 결과로부터 회귀계수의 신뢰구간을 아래와 같이 구해 보았습니다. 우리는 오차항에 대해 정규분포를 가정했으므로 역시 모평균에 대한 추정과 동일한 원리로 회귀계수에 대한 신뢰구간을 추정해 볼 수 있을 것입니다.

> confint(output)

2.5 % 97.5 %

(Intercept) 1.4911538 2.0435537

X 0.1719069 0.3956894

이제, R에서 회귀식을 이용해 x가 3일 때의 Y값을 예측해 보도록 하겠습니다.

> predict(output,newdata=data.frame(X=3))

2.618748

                                                             

 

 

'야행하는 리서치' 카테고리의 다른 글

54. 회귀분석 ④  (0) 2020.05.07
53. 회귀분석 ③  (0) 2020.03.11
51. Borich요구도와 The Locus for Focus model  (0) 2019.01.10
50. 회귀분석 ①  (0) 2018.08.06
49. AHP(Analytical Hierarchy Process)에 대한 이해  (1) 2018.07.06
Posted by dooka
,