회귀 분석
Regression
방법
여러 변수가 결과값에 각각 얼마나 기여하는지를 하나의 식으로 추정해, 예측과 해석에 쓰는 방법입니다.
등장 배경
두 값이 같이 움직인다는 사실은 상관관계로 알 수 있습니다. 상관관계는 두 값이 함께 움직이는 정도이고, 방향과 세기를 하나의 숫자로 줍니다.
문제는 그 숫자로 답할 수 없는 질문이 실무에 더 많다는 점입니다. 현우가 광고비와 신규 가입 수의 상관이 0.8이라고 보고했을 때 규원이 물은 것은 다음 달에 얼마를 쓰면 되냐는 것이었습니다. 0.8은 함께 움직인다는 말이고 100만 원당 몇 명인지는 담고 있지 않습니다.
변수가 하나가 아니라는 문제도 있습니다. 그 기간에 신제품이 나왔고 계절도 바뀌었습니다. 늘어난 가입 중 광고비의 몫이 얼마인지 상관관계로는 가릴 수 없습니다. 광고비를 늘린 달이 마침 신제품을 낸 달이면 두 상관이 모두 높게 나옵니다.
회귀 분석은 이 둘을 한 번에 다루려고 만든 방법입니다. 여러 변수를 함께 넣은 식을 만들고, 각 변수가 결과에 기여하는 크기를 숫자로 뽑습니다. 그 숫자가 100만 원당 몇 명이라는 답이 되고, 다른 변수를 고정했을 때의 몫이라는 조건이 함께 붙습니다.
사용 절차
식을 세우기 전에 무엇을 설명하려는지부터 한 문장으로 적습니다.
- 설명할 값을 정합니다. 신규 가입 수, 월 매출, 문서 저장 시간처럼 숫자로 나오는 값이어야 합니다. 이것이 식의 왼쪽에 옵니다.
- 설명에 쓸 변수를 고릅니다. 광고비, 계절, 요금제 변경 여부 같은 것들입니다. 여기서 피할 것은 결과가 나온 뒤에 생긴 값을 넣는 일입니다. 가입 수를 설명하려고 가입 후 첫 로그인 수를 넣으면 결정계수는 0.99가 나오고 쓸모는 없습니다.
- 데이터를 정리합니다. 빈 값을 어떻게 처리할지, 눈에 띄게 튀는 관측을 남길지 뺄지, 단위를 맞출지를 정합니다. 이 단계가 전체 시간의 절반을 먹습니다.
- 식을 데이터에 맞춥니다. 결과는 변수마다 하나씩 붙는 계수입니다. 광고비 계수가 3.2로 나왔다면 다른 변수를 그대로 둔 채 광고비를 100만 원 늘릴 때 가입이 3.2명 늘어난다고 읽습니다.
- 얼마나 설명하는지 봅니다. 결정계수는 결과의 흔들림 중 이 식이 설명하는 비율인데, 이 값만 보지 않습니다. 예측값과 실제값의 차이를 그려서 한쪽으로 쏠린 모양이 나오는지 봅니다.
- 계수가 우연인지 확인합니다. p값이 그 확인에 쓰이는 값이고, 우연만으로 이런 결과가 나올 확률을 뜻합니다. 함께 신뢰 구간을 봅니다. 계수 3.2에 구간이 0.4에서 6.0이면 크기를 말하기 어려운 상태입니다.
적합한 상황과 한계
맞는 자리는 셋입니다. 숫자로 된 결과를 예측하려는 경우, 여러 요인 중 무엇이 얼마나 기여하는지 알고 싶은 경우, 한 요인을 고정하고 다른 요인의 효과만 보려는 경우입니다. 세 번째가 이 방법의 실질적인 값입니다.
한계는 다섯입니다.
- 인과를 증명하지 않습니다. 관측 데이터로 계산한 계수는 여전히 함께 움직인 크기입니다. 인과관계를 말하려면 무작위로 나눈 실험이 필요합니다. 인과관계는 한쪽이 다른 쪽을 실제로 일으키는 관계입니다.
- 빠진 변수가 결과를 왜곡합니다. 진짜 원인을 식에 넣지 않으면 그 몫이 다른 변수의 계수에 섞여 들어갑니다. 신제품 출시를 안 넣으면 그 효과가 광고비 계수에 얹혀 광고가 실제보다 강력해 보입니다.
- 직선을 가정합니다. 기본 형태는 변수가 늘 때 결과가 일정한 비율로 늘어난다고 봅니다. 광고비를 열 배 늘리면 효과가 꺾이는 경우처럼 관계가 곡선이면 식이 어긋납니다.
- 변수끼리 붙어 있으면 계수가 흔들립니다. 광고비와 노출 수처럼 거의 같이 움직이는 둘을 함께 넣으면 계수가 크게 바뀌거나 부호가 뒤집힙니다.
- 본 적 없는 범위에서 무너집니다. 월 광고비 1,000만 원에서 5,000만 원 사이 데이터로 만든 식을 3억 원에 적용하면 나온 숫자에 근거가 없습니다.
안 맞는 자리도 분명합니다. 결과가 숫자가 아니라 범주일 때는 다른 방법으로 갑니다. 이탈할지 안 할지를 맞히는 문제는 회귀가 아니라 분류 쪽입니다.
실무 용례
"광고비 계수가 3.2인데 신뢰 구간이 0.4에서 6.0이에요. 숫자로 쓰기엔 넓습니다."
계수는 나왔지만 크기를 단정할 수 없다는 지적입니다.
"신제품 출시를 변수로 안 넣었네요. 그러면 광고 효과가 부풀려집니다."
빠진 변수가 다른 계수를 왜곡한다는 뜻입니다.
"결정계수 0.97인데 가입 후 로그인을 변수로 넣으셨어요."
결과 이후의 값이 들어가 식이 무의미해졌다는 말입니다.
페이지덱은 광고 예산을 정할 때 이 방법을 씁니다. 현우가 처음 만든 식에는 광고비만 들어 있었고 계수가 4.1이었습니다. 지현이 계절과 신제품 출시 시점을 변수로 넣자고 해서 다시 돌리니 광고비 계수가 2.6으로 내려갔습니다.
숫자가 나빠진 것이 아니라 그전까지 다른 요인의 몫을 광고비가 가져가고 있었습니다. 규원이 이 값을 예산 근거로 쓰려고 했을 때 현우가 덧붙인 것이 있습니다. 이 식은 지금까지의 광고비 범위 안에서만 말할 수 있고, 예산을 세 배로 늘린 뒤의 효과는 이 데이터에 없다는 것이었습니다.
흔한 오해
계수를 인과의 크기로 읽는 경우가 가장 많습니다. 식에 광고비를 넣고 계수가 나왔으니 광고비가 가입을 일으킨 크기처럼 보입니다. 하지만 관측 데이터에서 나온 계수는 여전히 함께 움직인 크기이고, 다른 변수를 고정했다는 조건도 식에 넣은 변수에 한정됩니다. 넣지 않은 요인이 진짜 원인이면 계수는 그 요인의 몫을 대신 표시하고 있는 것입니다. 인과를 말해야 하는 자리에서는 회귀 결과를 근거로 삼는 대신 무작위로 나눈 실험을 돌립니다.
결정계수가 높으면 좋은 식이라고 보는 경우도 흔합니다. 설명하는 비율이 높으니 잘 만든 것처럼 보입니다. 하지만 이 값은 변수를 늘리기만 해도 올라가고, 결과 이후의 값을 넣으면 0.99에 가까워집니다. 그렇게 만든 식은 과거를 잘 맞히면서 다음 달 예측에는 쓸 수 없습니다. 예측이 목적이면 만들 때 쓰지 않은 기간에 적용해 봐야 알 수 있습니다.
자주 헷갈리는 용어
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16