이번 글은 코드잇 강의를 수강하면서 배운 내용을 주로 하여 정리되어 있습니다. (코드잇 스프린트 데이터 애널리스트 트랙 1기 훈련생)
회귀 분석의 개요
회귀분석(regression analysis)
- 두 양적 변수 사이의 관계성을 확인하는 데에 사용되는 분석 방법론으로 통계학에서 가장 중요한 방법론 중 하나입니다.
- 설명변수의 변화에 따라 결과 변수가 어느 정도 변화하는가를 구체적인 수치로 표현할 수 있게 해주는 방법론입니다.
- 변수 간의 관계성을 하나의 선으로 나타내고, 이 선을 다시 하나의 식으로 표현해 줍니다.
회귀식의 x축에 들어가는 변수는 설명 변수(= 독립 변수)라고 불리우며며, y축의 변수는 결과 변수(= 종속 변수)로 표현합니다.
회귀선을 구하는 방법
회귀의 관계성을 가장 잘 표현하는 식은 간단한 수학식으로 표현이 가능합니다.
y = ax + b로 표현하며,
- a : 기울기 = 회귀계수 : x값이 1 증가할 때마다 y값이 얼마나 증가하는지
- b : 절편 : x가 0일 때의 y값
그래서, y = ax + b 라는 수식에서 적절한 a와 b의 값을 찾아내면 회귀선을 구할 수 있습니다.
그 중에 최적의 회귀선은 관찰값과 예측값 사이의 차이를 가장 최소화하는 선으로 예측할 수 있습니다.
- 관찰값과 예측값의 차이를 계산하면 +일수도 있고, -일수도 있기 때문에 차이의 제곱을 합한 값을 최소화한 선이 최적의 회귀선이 됩니다.
- 이 차이의 제곱의 합한 값을 최소로 만드는 회귀계수와 절편을 찾는 방법을 최소제곱법(최소자승법)이라고 부릅니다.
(잔차제곱합 : 결과 변수의 예측값과 실제 관측값의 차이를 제곱해서 합산한 값) - 최소제곱법에 의해 그린 회귀선이 y = 0.7x + 0.58이라면, ’x가 1 많아지면, y가 0.7건 증가한다.’라고 해석할 수 있습니다.
회귀 분석에서의 가설 검정
회귀분석에서의 가설 검정은 회귀계수에 대한 가설검정을 진행하는 것입니다.
표본을 바탕으로 회귀 계수를 계산하는 것을 넘어 모집단의 회귀계수를 추측해서 모집단에 대한 회귀선을 표현해야 합니다.
통계에서 모집단에 대한 회귀식을 쓸 때는 보통 \(\beta \)라는 문자를 사용해서 y = \(\beta_0 \) + \(\beta_1 \)x 라는 식으로 나타냅니다.
- 여기에서는 \(\beta_0 \)가 절편, \(\beta_1 \)이 기울기입니다.
회귀 계수의 가설 검정
- 가설을 설정한다.
- 귀무가설(H0) : 회귀계수 β1은 0이다. (x와 y 간에 선형 관계가 존재하지 않는다.)
- 대립가설(H1) : 회귀계수 β1은 0이 아니다. (x와 y간에 선형 관계가 존재한다.)
- 유의 수준을 정한다. (유의수준 = 0.05)
- 검정 통계량을 계산한다.
- t통계량(t-statistics)을 계산한다. 회귀분석에서 t통계량을 계산할 때는 회귀계수의 표준오차를 고려하여 계산식이 다르다.
- t통계량이 t분포 상에서 어느 정도 위치에 있는지 확인해 보고, 해당 수치 혹은 그 이상의 결과가 나올 확률을 계산한다.
(확률이 p값이 된다.)
- p값을 계산한다.
표준오차는 약 0.04라고 할 때, 이에 따라 t통계량은 약 17이 되기 때문에 p값은 0.0001 미만으로 매우 낮게 나옵니다. - 판단 & 결론
p값(0.0001) < 유의수준(0.05)으로 귀무가설이 기각됩니다.
결론) 회귀계수는 0이 아니다. (x와 y 사이에 관련성이 있다.)
주의사항
- 회귀계수는 데이터 하나하나의 위치에 따라 모두 영향을 받기 때문에 표본 크기가 클수록 데이터 한 건의 변화에도 덜 흔들리는 안정적인 구조가 됩니다.
- 표본 크기가 작을수록, 표준편차가 클수록(=데이터의 불규칙성이 클수록) 표준오차가 증가합니다.
- 설명변수의 흩어진 정도(설명변수의 편차제곱합)가 클수록 회귀계수의 변동은 적어집니다.
회귀 분석의 종류
- 단순 회귀 분석 (simple regression analysis) : 설명 변수가 하나인 경우
- 다중 회귀 분석 (multiple regression analysis) : 설명 변수가 2개 이상인 경우
- 선형 회귀분석 (Linear regression analysis) : 양적 설명변수와 양적 결과변수 사이의 관계를 설명하는 분석 방법론
- 로지스틱 회귀 분석 (logistic regression anlaysis) : 양적 설명변수와 범주형 결과변수 (이항변수)를 분석하는 방법론
다중 회귀 분석(multiple regression analysis)
복수의 설명 변수와 결과 변수의 관련성을 한 번에 분석하는 방법
다중 회귀 분석은 아래의 식과 같이 여러 개의 x값과 이에 대응되는 여러 개의 회귀계수로 구성됩니다.
단 하나의 설명변수와 결과변수 간의 관계성만 분석할 경우 숨겨진 경향성을 미처 보지 못하고 왜곡된 결론을 낼 가능성이 있어 다중 회귀 분석을 시행합니다.
- 심슨의 역설(Simpson’s paradox): 데이터의 세부 그룹별로는 일정한 경향성이 나타나지만, 이를 통합해 전체로 볼때는 경향성을 찾을 수 없거나 그 반대 현상을 나타내는 경우
단순 회귀 분석에서의 회귀 계수의 의미 : 설명 변수가 1 늘어날 때 결과 변수가 얼마나 변화하는가
다중 회귀 분석에서의 회귀 계수의 의미 : 다른 설명 변수가 모두 동일하다고 가정할 때, 특정 설명 변수가 1 늘어나면 결과 변수가 얼마나 변화하는가
예시 : 커머스 앱의 상품 판매 수량 분석
X1 : 적용 가능한 쿠폰 수, X2 : 무료 배송 여부일 때,
‘판매 수량 = β0 + β1 * 적용 가능한 쿠폰의 수 + β2 * 무료 배송 여부‘ 라고 식이 세워지며,
‘판매 수량 = -1 + 2 * 적용 가능한 쿠폰의 수 + 2.22 * 무료 배송 여부’ 로 회귀계수와 절편의 값이 있다면,
→ 적용 가능한 쿠폰 수에 대한 회귀 계수 2은 ‘배송 타입이 같을 때 쿠폰 수가 1 늘어나면 판매수량이 2개 증가한다”라고 해석할 수 있습니다.
다중 회귀 분석의 가설 검정
예를 들어, 적용 가능한 쿠폰 수와 무료 배송 여부에 따른 상품의 판매 수량 변화를 확인하기 위해 다중회귀분석을 한 결과가 아래와 같다고 할 때, p값과 유의수준을 비교하여 귀무가설의 기각 여부를 판단할 수 있습니다.
회귀계수 | p값 | |
절편 | -1 | 0.045 |
적용 가능한 쿠폰 수 | 1 | 0.001 |
무료 배송 여부 | 3.33 | 0.056 |
해석 )
- 배송 타입이 동일하다면, 적용 가능한 쿠폰 수가 1개 늘어날 때마다 상품의 판매수량도 1개 정도 늘어나는 경향이 있다.
- 적용 가능한 쿠폰 수가 동일하다고 통제할 때, 배송 타입에 따라서는 상품의 판매 수량이 유의미하게 변화한다고 말하기 어렵다.
(귀무가설을 채택한다.)
다중회귀분석은 다른 요인의 영향을 배제할 때 특정 설명변수가 결과변수에 미치는 영향력을 효과적으로 설명해줄 수 있는 방법론이기에, 결과에 영향을 미칠 가능성이 있는 요인이 여러 개인 경우에 유용하게 사용됩니다.
설명변수 선택에서의 다중공선성 문제
‘다중공선성(Multicollinearity)’ 문제
무차별적으로 아무 변수나 다 설명변수로 넣어버리면 설명변수 사이에 관련성이 너무 높아 추정된 회귀 계수를 믿을 수 없게 되는 경우를 말합니다.
결과 변수가 고객의 구매 금액일 때,
설명 변수가 고객의 등급, 고객의 전월 구매 실적, 고객의 방문 횟수이면 고객의 등급이 고객의 전월 구매 실적에 의해 정해지고, 같은 구매 금액 실적으로 보이는 고객이라면 모두 등급이 같습니다.
다중공선성 문제를 피하는 방법
- 설명변수 간의 상관계수를 통해 확인합니다.
→ 상관계수의 절댓값이 1에 가까울 경우 다중공선성을 의심하고 문제가 있다고 판단합니다. - 분산 팽창 계수 VIF(Variance Inflation Factor)가 10이 넘는 경우 문제가 심각하다고 판단합니다.
로지스틱 회귀 분석(Logistic Regression)
로지스틱 회귀분석(Logistic Regression) : 양적 설명변수와 범주형 결과변수(이항변수) 간의 관계간의 회귀분석
범주형 변수의 예) 성별, 자동차 브랜드, 만족도
- 이항 결과변수에 대해 적합한 회귀 모형을 제시해 줄 수 있는 회귀분석 방법론
결과 변수가 범주형(이산형)일 경우 그래프가 애매해지는 경우가 발생하고, 이 변수들의 관계는 선형 회귀로 설명하기 어렵습니다.
로지스틱 회귀분석의 원리에 대해 이해하려면, 오즈 / 로그오즈(로짓) / 로짓변환을 이해해야 합니다.
오즈 (odds)
- 오즈 : 경마나 도박에서 많이 쓰이는 ‘승산’의 개념
오즈는 어떤 상황을 취할 확률 p를 그렇지 않을 확률인 1-p로 나누는 것으로 계산됩니다.
(베팅에 성공할 확률을 베팅에 실패할 확률로 나눈 값)
p : 베팅에 성공할 확률
1-p : 베팅에 실패할 확률
오즈 : 성공할 확률이 실패할 확률의 몇 배인지를 뜻하는 개념
- 오즈 = 1 : 성공할 확률과 실패할 확률이 같다 (성공 확률:실패 확률 = 1:1)
- 오즈 > 1 : 성공할 확률이 실패할 확률보다 크다 (성공 확률 > 실패 확률)
- 오즈 < 1 : 실패할 확률이 성공할 확률보다 크다 (성공 확률 < 실패 확률)
로그오즈 (log-odds) = 로짓 (logit)
- 로그오즈 : 오즈에 자연로그를 취한 것
로지스틱 회귀분석은 0과 1이라는 두 개의 결과변수를 다루는 방법론으로, 0과 1을 ‘오즈’로 변환한 뒤 로그를 씌우면 선형회귀에서처럼 결과변수가 -∞에서 ∞까지의 값을 갖는 양적 결과변수로 변합니다. (로짓 변환)
p(확률) | 0 | 0.5 | 1 |
오즈 p / (1-p) |
0 | 1 | \(\infty \) |
로그오즈 log(p / (1-p)) |
-\(\infty \) | 0 | \(\infty \) |
- 확률이 0인 경우, 오즈는 0 ÷ (1 - 0) = 0. 그리고 log 0은 -∞ (마이너스 무한대)가 됩니다.
- 확률이 0.5인 경우, 오즈는 0.5 ÷ (1 - 0.5) = 1. 그리고 log 1은 0이 됩니다.
- 확률이 1인 경우, 오즈는 1 ÷ (1 - 1)이므로 ∞(무한대)가 되고, 여기에 로그를 씌운 로그오즈 역시 ∞가 됩니다.
로짓 함수
로지스틱 회귀 분석의 식은 양적 설명변수 x와 양적 결과변수인 ‘p의 로그오즈’ 사이의 경향성을 나타내는 식으로 표현할 수 있습니다.
일반적인 회귀분석(y = \(\beta_0 \) + \(\beta_1 \)x) 때와 마찬가지로 \(\beta_0 \)이 절편, \(\beta_1 \)이 회귀계수입니다.
→ 위의 식을 p에 대한 것으로 다시 재구성하면 아래와 같은 회귀식이 됩니다.
로지스틱 회귀 분석의 가설 검정과 회귀계수의 해석
로지스틱 회귀분석에서도 \(\beta_1 \) = 0라는 귀무가설을 설정하여 가설 검정을 시행하고, 이에 따른 p값을 계산해 ‘관찰된 경향성이 우연에 의해 발생한 건 아닐지’ 결정하게 됩니다.
로지스틱 회귀분석에서의 회귀계수는 해당 x값이 1 증가함에 따른 로그오즈의 변화량을 의미하며, x의 값이 x’일 때의 오즈와 x’+1일 때의 오즈 간의 비율에 로그를 취한 값입니다.
만약 회귀계수가 1.04이면 x’가 1 증가하면 오즈가 \(e^{1.04} \) = 약 2.8배 증가한다고 해석할 수 있습니다.
회귀분석을 활용한 다그룹 비교
회귀분석을 활용한 두 그룹의 평균 비교
회귀분석으로도 두 그룹의 평균을 비교할 수 있습니다.
회귀분석은 양적 설명변수와 양적 결과변수를 갖는 분석으로, 범주형 설명변수에 따른 양적 결과변수의 경향성을 분석하는 경우에는 변수의 특성을 바꿔줄 필요가 있습니다.
범주형 변수를 양적 변수로 치환해 줄 때는 ‘더미변수’라는 개념을 사용합니다.
더미변수
- 범주형 데이터를 0 또는 1의 값으로 나타내는 이항변수를 의미하며, 여기에서 수치는 별다른 의미는 없습니다.
- 만약 A,B그룹이 있다고 가정한다면 B그룹을 기준으로 한다면 A그룹을 0, B그룹을 1로 나타내는 식으로 더미변수화가 가능합니다.
더미변수의 역할에 대해 회귀식으로 확인한다면,
x 자리에 A그룹=0, B그룹=1인 더미변수가 들어가게 되므로 아래와 같이 각각의 평균값을 표현할 수 있는 구조가 됩니다.
- x = 0이면 y=\(\beta_0 \) → A그룹의 평균값=$\beta_0$
- x = 1이면 y=\(\beta_0 \)+\(\beta_1 \) → B그룹의 평균값 = \(\beta_0 \)+\(\beta_1 \)
그래서 이러한 방법을 통해, 회귀분석을 통해 Z검정이나 t검정과 같은 결론을 이끌어낼 수 있는 것입니다.
또한, Z검정이나 t검정에서 사용하는 ‘평균값 차이의 표준오차’는 회귀분석에서 사용하는 ‘회귀계수의 표준오차’와 본질적으로 똑같기 때문에, Z검정이나 t검정으로 얻은 p값은 회귀분석으로 얻어지는 p값과 동일하게 나옵니다.
회귀분석을 활용한 세 그룹 이상의 평균 비교
회귀분석을 활용한 세 그룹 이상의 평균 비교에서도 그룹이라는 범주형 변수를 양적 변수로 치환할 필요가 있습니다.
세 그룹 이상의 평균 비교에서는 회귀분석을 위해서 기준 카테고리를 선택하고 복수의 더미변수를 생성하면 됩니다.
- A,B,C 그룹이 있다고 가정할 때, B그룹을 기준으로 삼고 A그룹, C그룹 더미를 만들어줍니다.
- A그룹의 더미 : A그룹이면 1, 아니면 0
- C그룹의 더미 : C그룹이면 1, 아니면 0
- → 이렇게 두 개의 더미를 활용하면 아래와 같이 세 그룹을 서로 다르게 표현할 수 있습니다.
- \(x_a \) = 0, \(x_c \) = 0이면 y=\(\beta_0 \) → B그룹의 평균값 = \(\beta_0 \)
- \(x_a \) = 1, \(x_c \) = 0이면 y=\(\beta_0 \) +\(\beta_a \) → A그룹의 평균값 = \(\beta_0 \) +\(\beta_a \)
- \(x_a \) = 0, \(x_c \) = 1이면 y=\(\beta_0 \) +\(\beta_c \) → C그룹의 평균값 = \(\beta_0 \) +\(\beta_c \)
이렇게 더미그룹을 만들고, A그룹 더미와 C그룹 더미를 설명변수로 둔 다중회귀분석을 시행하면 됩니다.
→ 결론) 더미 변수를 활용한 다중회귀를 통해 C그룹이 가장 효과가 좋을 것으로 보인다.
회귀분석을 활용한 세 그룹 이상의 비율 비교
세 그룹 이상의 비율을 비교하는 상황에서는 마찬가지로 더미 변수를 활용해 로지스틱 회귀분석을 사용하면 됩니다.
로지스틱 회귀분석을 사용해 세 그룹 이상의 비율을 비교할 때에도, 마찬가지로 각 그룹을 아래와 같이 더미변수화해서 설명변수로 넣어주면 됩니다.
상관관계와 인과관계
상관관계 (Correlation)
x와 y 간에 일정한 관계성이 존재하는 경우를 의미합니다.
인과관계 (Causation)
x → y라는 방향성을 가지는 경우, x가 원인이 되어 y라는 결과가 나타난 경우입니다.
상관관계가 관찰되었다고 해서 인과관계가 있다고 말 할 수 없고, 아예 아무런 연결 고리가 없는 두 변수 간의 상관관계가 관찰되기는 경우도 종종 있습니다.
비즈니스에서 회귀분석 활용법
비즈니스에서 데이터 분석을 하는 이유
- 돈을 잘 벌기 위해서
- 핵심 지표를 변화 시킬 만한 요인을 찾아 이를 개선하기 위해서
- 핵심 지표 예시) 매출, 구매자 수, 방문자 수, 광고 클릭 수 (회사 상황 마다 다름)
비즈니스에서 회귀분석의 중요한 역할
- 회귀분석을 통해 핵심 지표에 영향을 줄 수 있다고 추정되는 요인 파악
예) 앱 방문 횟수가 올라갈수록 구매 빈도가 올라가는 경향이 관찰 - 해당 요인이 실제로 핵심 지표를 변환시키는 A/B 테스트
예) 엡 재방문을 의도적으로 유도하는 기능을 추가하는 경우 구매빈도가 올라가는지 - A/B 테스트 결과가 유의미한지 검정한다. (z검정 혹은 t검정, 회귀분석)
A/B 테스트
우리가 검증하고자 하는 요인 외의 다른 상황을 통제함으로서 인과관계를 확인할 수 있도록 해주는 방법론입니다.
대상 유저들을 A그룹과 B그룹으로 나누어 실험하며, A그룹에는 기존과 동일한 안을, B그룹에는 새로 검증해보고자 하는 안을 노출합니다.
→ 여기에서 B의 결과가 A에 비해 유의미하게 높게 나타났다면, 우리가 검증하고자 했던 안이 결과변수에 영향을 주었다고 해석할 수 있습니다.
후에 자세히 개념에 대해 다룰 예정입니다.
세 그룹 이상인 경우 분석 선택 방법
- 세 그룹 이상의 평균 비교
- 분산 분석을 할 경우 → 사후 검정
- 회귀분석
- 세 그룹 이상의 비율 비교
- 카이제곱검정을 할 경우 → 사후 검정
- 로지스틱 회귀분석
이번 글에서는 회귀분석 / 회귀선 / 회귀 분석에서의 가설 검정 / 다중 회귀 분석 / 로지스틱 회귀 분석 / 회귀 분석을 활용한 다그룹 비교 / 상관관계와 인과관계가 포함된 내용을 정리했으며, 데이터 분석과 데이터를 다루는 경우에 모두 필수적인 개념들로 꼭 잊지 말고 알아가야 하는 내용인 것 같습니다.
글 읽어주셔서 감사합니다.
출처 및 참고자료 : 코드잇 사이트 강의 '통계적 가설 검정' https://www.codeit.kr/topics/da-sprint-hypothesis
'통계' 카테고리의 다른 글
[통계 개념 정리 3] 추론 통계 개념 정리 2️⃣ (통계적 가설 검정) (0) | 2024.07.06 |
---|---|
[통계 개념 정리 2] 추론 통계 개념 정리 1️⃣ (추론 통계 개요, 통계 리터러시) (0) | 2024.07.06 |
[통계 개념 정리 1]기초 통계 개념 정리 (0) | 2024.07.05 |
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!