Menu

이차회귀 계산기

점들을 지나는 최적 포물선을 정확한 계수와 R²와 함께.

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

마지막 업데이트

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

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

이차회귀는 점들을 가장 적게 빗나가는 포물선을 맞춥니다

어떤 데이터는 올라갔다가 내려가거나, 내려갔다가 올라갑니다. 던진 공의 높이, 가격에 따른 이익, 속도에 따른 자동차의 연료 소비가 그렇습니다. 이런 데이터에 직선을 그으면 아무리 잘 놓아도 모양이 틀립니다. 이차회귀는 대신 포물선 y = ax² + bx + c를 맞추고, 점에서 곡선까지의 세로 오차를 제곱해 더한 값이 가장 작아지도록 a, b, c를 고릅니다. 선형회귀와 같은 최소제곱의 생각에 정할 계수가 하나 더 늘어난 것입니다.

제곱 오차를 최소로 만들면 x, x², x³, x⁴, y, xy, x²y의 합으로 이루어진, a, b, c에 관한 방정식 세 개가 나옵니다. 이것을 정규방정식이라고 합니다. 공학용 계산기는 이를 부동소수점으로 풉니다. 이 페이지는 정확한 분수로 풀기 때문에, 계수 -8/7은 -1.142857이 아니라 -8/7로 표시되고 R²도 정확한 분수입니다.

답 아래에는 모든 점의 예측값과 잔차가 나옵니다. 이차 곡선이 잘 맞으면 잔차는 0의 위아래로 무늬 없이 흩어진 잡음처럼 보입니다. 잔차가 여전히 휘거나 표 전체에 걸쳐 꾸준히 커진다면 포물선도 맞는 모양이 아니며, 다른 모형을 시도해 볼 만합니다.

포물선에서 눈여겨볼 점

  • a의 부호가 모양을 정합니다. a가 음수면 아래로 열려 가장 높은 점이 있고, 양수면 위로 열려 가장 낮은 점이 있습니다.
  • x 값이 서로 다른 세 점은 언제나 정확히 맞습니다. 점 (1, 4), (2, 9), (3, 20)은 y = 3x² - 4x + 5 위에 있고 모든 잔차가 0이지만, 이것은 데이터에 대해 아무것도 말하지 않습니다.
  • 포물선의 R²는 1에서 잔차제곱합을 y의 전체 변동으로 나눈 값을 뺀 것입니다. 직선은 a = 0인 포물선이므로, 같은 데이터에서 직선의 r²보다 낮아질 수 없습니다.
  • 맞춘 곡선의 꼭짓점은 x = -b/(2a)에 있습니다. x = 1부터 6에서 데이터가 2, 6, 11, 13, 12, 8이라면 x = 33/8이고, 곡선은 거기서 약 12.45로 가장 높습니다.
  • 맞춘 곡선은 가장 작은 x와 가장 큰 x 사이에서만 믿을 수 있습니다. 양 끝을 지나면 포물선은 데이터가 어떻든 방향을 틀어 양의 무한대나 음의 무한대로 향합니다.

이차회귀를 손으로 하는 방법

  1. 합 구하기

    각 점마다 x, x², x³, x⁴, y, xy, x²y를 계산하고, 열마다 더하고 점의 개수를 셉니다. x = 0, 1, 2, 3과 y = 1, 2, 5, 11이라면 n = 4, Σx = 6, Σx² = 14, Σx³ = 36, Σx⁴ = 98, Σy = 19, Σxy = 45, Σx²y = 121입니다.

  2. 정규방정식 쓰기

    aΣx⁴ + bΣx³ + cΣx² = Σx²y, aΣx³ + bΣx² + cΣx = Σxy, aΣx² + bΣx + cn = Σy. 위의 합을 넣으면 98a + 36b + 14c = 121, 36a + 14b + 6c = 45, 14a + 6b + 4c = 19입니다.

  3. 세 방정식 풀기

    분수를 정확히 유지하면서 문자를 하나씩 소거합니다. 이 연립방정식의 해는 a = 1.25, b = -0.45, c = 1.05이므로 y = 1.25x² - 0.45x + 1.05입니다.

  4. 잔차로 확인하기

    각 x를 곡선에 넣고 실제 y에서 예측값을 뺍니다. 여기서 잔차는 -0.05, 0.15, -0.15, 0.05이고, 그 제곱의 합은 0.05이며, R² = 1214/1215, 약 0.9992입니다.

작은 데이터의 최적 포물선

각 행은 위 계산기에 입력한 데이터 하나와, 계산기가 알려 주는 정확한 계수와 R²입니다.

x 값y 값최적 포물선R²
0, 1, 2, 31, 2, 5, 11y = 1.25x² - 0.45x + 1.051214/1215 ≈ 0.9992
-2, -1, 0, 1, 2, 39, 4, 1, 0, 1, 4y = x² - 2x + 11
1, 2, 3, 4, 5, 62, 6, 11, 13, 12, 8y = -(8/7)x² + (66/7)x - 7887/917 ≈ 0.9673
0, 1, 2, 3, 42, 17, 22, 17, 2y = -5x² + 20x + 21
1, 2, 34, 9, 20y = 3x² - 4x + 51
0, 1, 2, 3, 4, 50, 1, 4, 9, 16, 25y = x²1

풀이 예제

계수가 소수인, 잘 맞는 경우

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

정규방정식에서 a = 1.25, b = -0.45, c = 1.05가 나오므로 y = 1.25x² - 0.45x + 1.05입니다. 예측값은 1.05, 1.85, 5.15, 10.95, 잔차는 -0.05, 0.15, -0.15, 0.05이며, R² = 1214/1215, 약 0.9992입니다.

올라갔다가 내려가는 데이터

plain
x: 1, 2, 3, 4, 5, 6; y: 2, 6, 11, 13, 12, 8

최적 포물선은 y = -(8/7)x² + (66/7)x - 7이고 R² = 887/917, 약 0.9673입니다. a가 음수이므로 곡선에는 꼭대기가 있고, x = 33/8 = 4.125, y = 697/56, 약 12.45입니다. 같은 점들에 맞춘 직선은 방향을 틀 수 없어서 r² = 375/917, 약 0.4089에 그칩니다.

던진 공

plain
x: 0, 1, 2, 3, 4; y: 2, 17, 22, 17, 2

1초 간격으로 잰 높이(미터)입니다. 정확히 맞습니다. y = -5x² + 20x + 2이고 모든 잔차가 0, R² = 1입니다. -5는 중력 가속도를 10 m/s²로 어림한 값의 절반이고, 20은 던진 속도, 2는 던진 높이입니다. 꼭대기는 x = 2, y = 22입니다.

이미 포물선이던 점들

plain
x: -2, -1, 0, 1, 2, 3; y: 9, 4, 1, 0, 1, 4

이 값들은 (x - 1)²이고, 계산기는 같은 포물선을 전개한 y = x² - 2x + 1을 R² = 1, 모든 잔차 0으로 돌려줍니다. 어떤 값들이 정말 한 이차식에서 나왔는지 빠르게 확인하는 방법입니다.

자주 하는 실수

  • 점 세 개만 쓰고 R² = 1을 훌륭한 맞춤으로 읽기. x 값이 서로 다른 세 점은 어떤 포물선 위에든 놓입니다.
  • 중간에 합이나 계수를 반올림하기. 정규방정식은 예민해서, Σx⁴를 조금만 반올림해도 c가 눈에 띄게 달라질 수 있습니다. 끝까지 분수로 두세요.
  • 방정식에서 합의 자리를 잘못 쓰기. 왼쪽 위 칸은 Σx⁴이고 오른쪽 아래 칸은 n입니다. 한 행 내려갈 때마다 거듭제곱이 하나씩 줄어듭니다.
  • 데이터에서 멀리 떨어진 곳을 예측하기. 포물선은 양 끝을 지나면 실제 양이 어떻든 방향을 틀어 무한대로 달려갑니다.
  • R²가 올라갔다는 이유로 포물선을 고르기. 같은 데이터에서 포물선의 R²는 언제나 직선의 r² 이상입니다. 물어야 할 것은 잔차의 무늬가 사라지는가입니다.

이차회귀 자주 묻는 질문

이차회귀란 무엇인가요?
포물선 y = ax² + bx + c를 최소제곱법으로 데이터에 맞추는 것입니다. 점에서 곡선까지의 세로 거리를 제곱해 더한 값이 가장 작아지도록 a, b, c를 고릅니다. 산점도가 직선을 따르지 않고 올라갔다 내려가거나 내려갔다 올라갈 때 쓰는 방법입니다.
이차 회귀식은 어떻게 구하나요?
점들에 대해 x, x², x³, x⁴, y, xy, x²y를 더하고, 세 정규방정식 aΣx⁴ + bΣx³ + cΣx² = Σx²y, aΣx³ + bΣx² + cΣx = Σxy, aΣx² + bΣx + cn = Σy를 풉니다. x = 0, 1, 2, 3과 y = 1, 2, 5, 11이라면 해는 a = 1.25, b = -0.45, c = 1.05입니다.
이차회귀에는 점이 몇 개 필요한가요?
적어도 세 개이고, 서로 다른 x 값이 적어도 세 개여야 합니다. 정확히 세 개면 포물선이 모든 점을 지나 R²가 자동으로 1이 되므로, 맞춤이 데이터에 대해 무언가를 말하려면 점이 네 개 이상 필요합니다.
이차 곡선 맞춤에서 R²는 무엇을 뜻하나요?
R² = 1 − (잔차제곱합) / (평균을 중심으로 한 y의 전체 변동)입니다. y의 변동 중 포물선이 설명하는 비율입니다. x = 1부터 6에서 y = 2, 6, 11, 13, 12, 8이라면 R² = 887/917, 약 0.9673입니다.
이차회귀와 다항회귀는 같은 것인가요?
이차회귀는 차수가 2인 다항회귀입니다. 3차 맞춤은 x³ 항과 네 번째 정규방정식을 더하고, 그다음도 마찬가지입니다. 차수가 높을수록 점에 더 가깝게 맞지만, 어느 선을 넘으면 추세가 아니라 잡음에 맞추게 되므로, 작은 데이터라면 보통 2차가 적당한 한계입니다.
맞춘 포물선의 꼭짓점은 어떻게 구하나요?
다른 포물선과 똑같이 x = -b/(2a)를 구하고, 그 x를 식에 넣어 y를 구합니다. y = -(8/7)x² + (66/7)x - 7이라면 x = 33/8, y = 697/56, 약 12.45이고, 맞춘 추세가 가장 높은 곳이 여기입니다.
계수가 분수로 나오는 이유는 무엇인가요?
입력할 수 있는 데이터로 정규방정식을 풀면 언제나 유리수가 나오고, 분수가 정확한 답이기 때문입니다. -8/7이 최고차항의 계수이고, -1.142857은 그것을 반올림한 값입니다. 스프레드시트용 소수가 필요하면 복사 버튼을 쓰세요.

다른 수학 도구

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

Coddy와 함께 수학 배우기

시작하기