Menu

선형회귀 계산기

점들을 지나는 회귀직선을 정확한 값으로, r과 풀이의 모든 단계와 함께.

작성자 Nethanel Bar, 공동 창업자 겸 CEO

마지막 업데이트

계산기 없이 풀고 싶으신가요?

Coddy 수학 강의는 방법 자체를 가르칩니다. 대화형 보드에서 한 단계씩 직접 풀고, 어디서 어긋났는지 정확히 알려 줍니다.

선형회귀는 점들을 가장 적게 빗나가는 단 하나의 직선을 찾습니다

실제 데이터는 결코 한 직선 위에 놓이지 않으므로, 어떤 직선을 그어도 대부분의 점을 빗나갑니다. 빗나간 각각의 양이 잔차입니다. 실제 y에서 직선이 예측한 y를 뺀 값이죠. 선형회귀는 모든 잔차를 제곱해 더하고, 그 합이 가장 작아지는 직선 하나를 고릅니다. 그 직선이 최소제곱 회귀직선이며, x 값이 모두 같지만 않다면 어떤 점들에 대해서도 정확히 하나만 존재합니다.

이 직선을 구하는 데는 수 다섯 개가 필요합니다. 개수 n, 그리고 x, y, xy, x²의 합입니다. 기울기는 m = (nΣxy에서 ΣxΣy를 뺀 값)을 (nΣx²에서 (Σx)²를 뺀 값)으로 나눈 것이고, 절편은 b = (Σy에서 mΣx를 뺀 값)을 n으로 나눈 것입니다. 이 페이지는 그 합계 표를 만들고, 여러분의 수를 두 공식에 넣고, 풀이를 한 줄씩 보여 줍니다. 선생님이 확인하는 것이 바로 그 표이기 때문입니다.

기울기와 절편은 정확한 분수로 유지됩니다. 정수, 소수, 분수로 된 데이터라면 이 둘은 언제나 유리수이므로, 기울기 162/35는 반올림한 값인 4.6286이 아니라 162/35로 표시됩니다. 상관계수 r은 제곱근이므로 근호로 나타내고 옆에 소수 값을 적습니다. 복사 버튼을 누르면 스프레드시트에 바로 쓸 수 있도록 소수로 된 직선을 얻습니다.

직선에서 눈여겨볼 점

  • 회귀직선은 언제나 평균점을 지납니다. x = 1부터 5, y = 2, 4, 5, 4, 5라면 평균은 3과 4이고, 직선은 y = 0.6x + 2.2이며, 0.6 × 3 + 2.2 = 4입니다.
  • 잔차를 모두 더하면 언제나 정확히 0입니다. 직선 위쪽과 아래쪽으로 빗나간 양이 균형을 이루므로, 이 방법은 잔차를 더하기 전에 제곱합니다.
  • 기울기에는 단위가 있습니다. x 1단위당 y의 단위입니다. 공부 시간과 시험 점수에서 기울기가 162/35라면 한 시간 더 공부할 때마다 약 4.63점이 오른다는 뜻입니다.
  • x와 y를 바꾸면 같은 직선을 정리한 것이 아니라 다른 직선이 나옵니다. x에 대한 y의 회귀는 세로 방향 오차를 줄이고, y에 대한 x의 회귀는 가로 방향 오차를 줄입니다.
  • 기울기는 추세가 얼마나 가파른지를, r은 점들이 그 추세를 얼마나 가깝게 따르는지를 말합니다. 둘의 부호는 언제나 같지만, 가파른 직선의 r이 약할 수도 있고 완만한 직선의 r이 강할 수도 있습니다.
  • 점이 두 개면 언제나 r = 1 또는 -1로 완벽하게 맞습니다. 이것은 데이터에 대해 아무것도 말해 주지 않습니다. 회귀직선은 점이 세 개 이상일 때부터 의미를 갖습니다.

회귀직선을 손으로 구하는 방법

  1. 표 만들기

    각 점을 x, y, xy, x²의 네 열을 가진 한 행으로 적습니다. 열마다 더하고 점의 개수를 셉니다. x = 1, 2, 3, 4, 5와 y = 2, 4, 5, 4, 5라면 n = 5, Σx = 15, Σy = 20, Σxy = 66, Σx² = 55입니다.

  2. 기울기 계산하기

    m = (nΣxy − ΣxΣy) / (nΣx² − (Σx)²). 여기서는 (5 × 66 − 15 × 20) / (5 × 55 − 15²) = 30 / 50 = 0.6입니다. 짧은 소수로 떨어지지 않으면 분수로 두세요.

  3. 절편 계산하기

    b = (Σy − mΣx) / n. 여기서는 (20 − 0.6 × 15) / 5 = 11/5 = 2.2입니다. 반올림한 기울기가 아니라 앞 단계의 정확한 기울기를 쓰세요.

  4. 직선을 쓰고 확인하기

    y = 0.6x + 2.2. 평균점 (3, 4)를 지나는지 확인합니다. 0.6 × 3 + 2.2 = 4. 지나지 않는다면 합 중 하나가 틀린 것입니다.

  5. 얼마나 잘 맞는지 판단하기

    r을 구하거나 잔차를 살펴봅니다. 여기서 r = √15/5, 약 0.7746이고, 잔차는 -0.8, 0.6, 1, -0.6, -0.2이며 그 제곱의 합은 2.4입니다.

작은 데이터의 회귀직선

각 행은 위 계산기에 입력한 데이터 하나입니다. 기울기와 절편은 정확한 값이고, r은 근호와 소수 값으로 나타냈습니다.

x 값y 값회귀직선rr²
1, 2, 3, 4, 52, 4, 5, 4, 5y = 0.6x + 2.2√15/5 ≈ 0.77460.6
0, 1, 2, 37, 5, 3, 1y = -2x + 7-11
2, 4, 6, 8, 103, 7, 8, 12, 15y = 1.45x + 0.329√215/430 ≈ 0.9889841/860
1, 2, 3, 4, 5, 652, 58, 61, 67, 70, 76y = (162/35)x + 47.89√15/35 ≈ 0.9959243/245
1, 2, 3, 4, 53, 1, 4, 1, 5y = 0.4x + 1.6√2/4 ≈ 0.35360.125
1, 32, 8y = 3x - 111
-2, -1, 0, 1, 24, 1, 0, 1, 4y = 200

풀이 예제

교과서 데이터

plain
x: 1, 2, 3, 4, 5; y: 2, 4, 5, 4, 5

합은 Σx = 15, Σy = 20, Σxy = 66, Σx² = 55이고 n = 5입니다. 기울기는 30/50 = 0.6, 절편은 11/5 = 2.2이므로 직선은 y = 0.6x + 2.2입니다. 잔차는 -0.8, 0.6, 1, -0.6, -0.2로 합이 0이고, 제곱의 합은 2.4입니다. 상관계수는 r = √15/5, 약 0.7746으로 강한 양의 상관입니다.

기울기가 분수인 경우: 공부 시간과 시험 점수

plain
x: 1, 2, 3, 4, 5, 6; y: 52, 58, 61, 67, 70, 76

평균은 3.5시간과 64점입니다. 기울기는 162/35, 시간당 약 4.63점이고, 절편은 64에서 (162/35) × 3.5를 뺀 47.8이므로 y = (162/35)x + 47.8, r ≈ 0.9959입니다. 4.5시간이면 직선은 2402/35, 약 68.63점을 예측합니다. 12시간이면 100점 만점 시험에서 약 103.34점을 예측하는데, 이것은 데이터가 뒷받침할 수 없는 외삽입니다.

이미 한 직선 위에 있는 점들

plain
x: 0, 1, 2, 3; y: 7, 5, 3, 1

x가 1 늘 때마다 y가 2씩 줄어들므로 점들은 정확히 y = -2x + 7 위에 있습니다. 계산기는 그 직선을 찾고, 모든 잔차가 0, 잔차제곱합도 0이며, r = -1로 완전한 음의 상관입니다.

데이터 안과 밖에서 예측하기

plain
x: 2, 4, 6, 8, 10; y: 3, 7, 8, 12, 15

직선은 y = 1.45x + 0.3, r ≈ 0.9889이고 평균점 (6, 9)를 지납니다. 데이터 범위 안인 x = 7에서는 10.45를 예측하며, 이 내삽은 직선이 맞는 정도만큼 믿을 수 있습니다. x = 60에서는 87.3을 예측하는데, 마지막 점에서 50단위나 벗어난 곳이라 데이터 어디에도 추세가 계속된다는 근거가 없습니다.

곡선을 감추는 강한 r

plain
x: 0, 1, 2, 3, 4, 5; y: 0, 1, 4, 9, 16, 25

회귀직선은 y = 5x - 10/3, r ≈ 0.9599로 아주 좋아 보입니다. 그런데 잔차는 10/3, -2/3, -8/3, -8/3, -2/3, 10/3으로 양 끝에서 양수, 가운데서 음수입니다. 이런 U자 모양은 점들이 곡선 위에 있다는 뜻이고, 이차 회귀로 맞추면 정확히 y = x²가 나옵니다.

자주 하는 실수

  • 절편을 구하기 전에 기울기를 반올림하기. 기울기가 162/35일 때 4.63을 쓰면 절편이 47.8이 아니라 47.795가 됩니다. 정확한 기울기를 끝까지 들고 가서 마지막에 한 번만 반올림하세요.
  • nΣx²와 (Σx)²를 혼동하기. x = 1부터 5라면 앞의 것은 5 × 55 = 275, 뒤의 것은 15² = 225입니다. 둘을 바꾸면 분모의 부호가 바뀝니다.
  • 값의 짝을 어긋나게 맞추기. 첫 번째 x는 첫 번째 y와 짝입니다. 한 열만 정렬하면 존재하지 않는 점들을 지나는 직선이 나옵니다.
  • 데이터 범위를 크게 벗어나 외삽하기. 직선은 맞춘 범위만 설명합니다. r이 1에 가까워도 범위 밖의 예측은 크게 틀릴 수 있습니다.
  • r이 높다는 것을 직선 모형이 옳다는 증거로 받아들이기. 0부터 25까지의 제곱수는 r ≈ 0.96이지만 곡선 위에 있습니다. 잔차를 살펴보세요.
  • 기울기를 원인으로 읽기. 직선은 이 데이터에서 x에 따라 y가 어떻게 변하는 경향이 있는지를 말할 뿐, x를 바꾸면 y가 바뀐다고 말하지 않습니다.
  • x에 대한 y의 회귀를 묻는데 y에 대한 x의 회귀를 구하기. 모든 점이 한 직선 위에 있지 않은 한 두 회귀직선은 다릅니다.

선형회귀 자주 묻는 질문

선형회귀를 손으로 계산하려면 어떻게 하나요?
각 점에 대해 x, y, xy, x²의 표를 만들고 열마다 더합니다. 기울기는 m = (nΣxy − ΣxΣy) / (nΣx² − (Σx)²), 절편은 b = (Σy − mΣx) / n입니다. x = 1부터 5, y = 2, 4, 5, 4, 5라면 m = 30/50 = 0.6, b = 11/5 = 2.2이므로 y = 0.6x + 2.2입니다. 이 페이지는 같은 표를 보여 주고 두 공식을 채워 넣으므로 한 줄씩 확인할 수 있습니다.
최소제곱 회귀직선이란 무엇인가요?
잔차의 제곱의 합을 가장 작게 만드는 직선입니다. 여기서 잔차는 점의 실제 y에서 직선이 예측한 y를 뺀 값입니다. x 값이 모두 같지만 않으면 이 직선은 하나뿐입니다. 위의 다섯 점에서는 어떤 직선도 제곱의 합을 2.4보다 작게 만들지 못합니다.
기울기와 절편은 무엇을 뜻하나요?
기울기는 x가 1 늘 때 y가 평균적으로 얼마나 변하는지를 x 1단위당 y의 단위로 나타냅니다. 절편은 x가 0일 때 예측되는 y입니다. 절편은 x = 0이 데이터 안이나 근처에 있을 때만 의미가 있습니다. 키에 대한 몸무게의 회귀에서 키 0의 절편은 실제 어떤 사람도 나타내지 않습니다.
최적 직선과 회귀직선은 같은 것인가요?
네. 통계에서 최적 직선은 최소제곱 회귀직선이고, 이 계산기가 구하는 것이 바로 그것입니다. 종이 위에 눈대중으로 그은 직선은 그것을 어림한 것이며, 계산한 직선이 언제나 그렇듯 평균점을 지나야 합니다.
회귀직선의 r²는 얼마면 좋은 편인가요?
분야에 따라 다릅니다. r²는 y의 변동 중 직선이 설명하는 비율이므로 0.9는 90%를 뜻합니다. 통제된 물리 실험의 측정값은 흔히 0.99에 이르고, 사람에 관한 데이터는 0.3에서 0.5 정도에 머물러도 쓸모가 있습니다. r²가 높다고 직선이 올바른 모양이라는 증거는 아니므로 잔차도 확인하세요.
선형회귀에는 점이 몇 개 필요한가요?
두 점이면 직선이 정해지므로 계산기는 두 점도 받지만, 두 점을 지나는 직선은 언제나 완벽하게 맞고 데이터에 대해 아무것도 말해 주지 않습니다. 점이 세 개 이상이면 잔차, r, r²가 정보를 담기 시작하고, 점이 많을수록 기울기를 더 믿을 수 있습니다.
회귀직선으로 예측해도 되나요?
x 값의 범위 안이라면 됩니다. 그것이 내삽이고, 직선이 맞는 정도만큼 믿을 수 있습니다. 범위 밖은 외삽이며, 데이터 어디에도 추세가 계속된다는 근거가 없습니다. 이 페이지의 시험 점수 예제는 12시간 공부하면 100점 만점 시험에서 약 103점을 받는다고 예측합니다.
답이 소수가 아니라 분수로 나오는 이유는 무엇인가요?
유리수 데이터에 대한 최소제곱 직선의 기울기와 절편은 유리수이고, 분수가 그 정확한 값이기 때문입니다. 162/35가 기울기이고 4.6286은 그것을 반올림한 값이며, 반올림한 값으로 한 모든 예측에는 그 오차가 따라붙습니다. 소수가 필요하면 복사 버튼이 소수로 줍니다.

다른 수학 도구

Coddy 프로그래밍 언어 일러스트

Coddy와 함께 수학 배우기

시작하기