공분산 계산기
계산 결과
공분산
- 상관계수(r)
- 0.7746
- 첫 번째 데이터 세트의 평균
- 3.0000
- 두 번째 데이터 세트의 평균
- 4.0000
- 첫 번째 데이터 세트의 표준편차
- 1.5811
- 두 번째 데이터 세트의 표준편차
- 1.2247
- 개수
- 5
공분산은 짝지은 두 목록이 함께 움직이는지를 재는 값입니다. 첫 번째 목록의 값이 자기 평균보다 위에 있을 때, 두 번째 목록의 짝이 되는 값도 평균보다 위에 있는 편인가 하는 질문입니다. 두 목록을 붙여 넣으세요. 한 줄에 하나씩 넣거나 세미콜론, 공백, 또는 뒤에 공백이 오는 쉼표로 구분하면 됩니다. 이 공분산 계산기는 공분산과 그 부호를 돌려주고, 옆에 피어슨 상관계수도 함께 보여 줍니다. 두 평균과 두 표준편차도 인쇄되므로 답을 단계별로 검산할 수 있습니다. 정렬은 하지 않습니다. 한 목록의 첫 번째 값은 다른 목록의 첫 번째 값과 짝이 되므로, 입력한 순서도 입력의 일부입니다.
공식
cov = Σ(xᵢ − x̄)(yᵢ − ȳ) ÷ 제수, 표본이면 n − 1, 모집단이면 n; r = cov ÷ (sₓ × s_y)
- xᵢ, yᵢ
- 짝이 되는 값들입니다. 첫 번째 목록의 i번째 수가 두 번째 목록의 i번째 수와 짝이 됩니다. 두 목록의 길이가 같아야 하고, 어느 쪽도 정렬하지 않습니다. 짝은 위치로 정해지므로 한 목록의 순서를 바꾸면 답이 달라집니다
- x̄, ȳ
- 각 목록의 평균이며 둘 다 결과 패널에 인쇄됩니다. 모든 값은 자기 목록의 평균에서 뺀 편차로 들어가므로, 한 목록의 모든 값에서 같은 상수를 빼도 공분산은 그대로입니다
- n
- 짝의 개수이며 두 목록 중 아무 쪽의 길이나 같습니다. 여기서는 200까지입니다. 모집단 공분산의 제수이고, 표본에서는 제수보다 하나 작습니다
- sₓ, s_y
- 각 목록의 표준편차이며 표본 또는 모집단 설정을 함께 따릅니다. 공분산을 상관계수로 바꾸는 것이 이 둘이고, 패널만 보고 r을 다시 계산할 수 있도록 인쇄됩니다
- cov
- 공분산 자체입니다. 두 목록이 함께 오르내리는 경향이 있으면 양수, 하나가 오를 때 다른 하나가 내리면 음수, 직선 관계가 약하면 0에 가깝습니다. 단위는 x의 단위 곱하기 y의 단위입니다
- r
- 피어슨 상관계수이며 cov ÷ (sₓ × s_y)입니다. 그 나눗셈이 단위를 지우므로 −1과 1 사이에 놓입니다. 공분산과 달리 목록의 크기를 바꿔도 값이 변하지 않고, 표본과 모집단 설정에서 같은 값이 나옵니다
같은 대상에서 두 가지를 재었고 그것들이 같이 움직이는지가 궁금할 때 공분산이 자연스러운 요약입니다. 키와 몸무게, 공부 시간과 성적, 기온과 전력 사용량, 같은 센서를 두 시점에 읽은 값이 그런 자리입니다. 표준편차가 변수 두 개로 일반화된 양이며, 모든 상관과 회귀 기울기, 포트폴리오 분산 공식이 여기서 만들어집니다. 그래서 한 번 손으로 계산해 두면 그 공식들이 어디서 왔는지 보입니다. 크기가 아니라 부호를 읽으세요. 한 목록을 미터로 재고 다른 목록을 센티미터로 재면 1.5와 150이 정확히 같은 관계를 가리킬 수 있습니다. 아래에 인쇄되는 상관계수가 단위를 지운 판본이고, 관계의 강도가 궁금할 때 인용할 수 있는 수는 그것입니다. 공분산은 인과에 대해서도 아무 말도 하지 않고, 직선만 봅니다. 완벽하게 굽은 관계를 가진 두 목록도 공분산이 0일 수 있습니다.
계산 예시
함께 오르는 다섯 쌍: 공분산 1.5, r = 0.7746
- 평균: x̄ = (1+2+3+4+5) ÷ 5 = 3, ȳ = (2+4+5+4+5) ÷ 5 = 4
- 평균에서 뺀 편차, x: −2, −1, 0, 1, 2; y: −2, 0, 1, 0, 1
- 편차의 곱: (−2)(−2) + (−1)(0) + (0)(1) + (1)(0) + (2)(1) = 4 + 0 + 0 + 0 + 2 = 6
- 표본 제수 n − 1 = 4: 공분산 = 6 ÷ 4 = 1.5
- 표준편차는 1.5811과 1.2247이므로 r = 1.5 ÷ (1.5811 × 1.2247) = 0.7746
부호가 양수이고, 공분산에서 실제로 읽는 것이 그 부호입니다. x가 자기 평균보다 큰 값일 때 y의 짝도 평균보다 큰 쪽에 붙습니다. 크기인 1.5는 x의 단위 곱하기 y의 단위이고 어느 한 목록의 크기를 바꾸면 달라지므로, 상관계수를 옆에 인쇄합니다. r은 0.7746입니다. 위쪽으로 향하는 관계가 분명하지만 직선에서는 멉니다. (4, 4) 짝이 그 흐름에서 아래로 처져 있기 때문입니다.
같은 쌍을 모집단으로: 공분산 1.2, r은 그대로
- 합은 그대로: 편차의 곱도 여전히 6이고 평균도 여전히 3과 4
- 모집단 제수 n = 5: 공분산 = 6 ÷ 5 = 1.2 — 제수가 더 크므로 표본 값보다 작습니다
- 두 표준편차도 같은 이유로 줄어듭니다: 1.4142와 1.0954
- r = 1.2 ÷ (1.4142 × 1.0954) = 0.7746 — 앞과 같습니다
제수를 바꾸면 공분산과 두 표준편차가 움직이지만 상관계수는 움직이지 않습니다. 그 비율에서 n − 1과 n이 약분되기 때문입니다. 그래서 표본이나 모집단의 선택은 공분산에는 중요하고 r에는 전혀 중요하지 않습니다. 여기서 계산한 공분산과 다른 곳에서 보고된 공분산을 비교하기 전에 알아 둘 만합니다. 두 논문이 1.5와 1.2로 어긋나면서도 관계에 대해서는 완벽하게 일치할 수 있습니다.
공분산이 0인 완벽한 곡선
- 평균: 두 목록 모두 3입니다
- 편차, x: −2, −1, 0, 1, 2; y: −2, 1, 2, 1, −2
- 편차의 곱: 4 − 1 + 0 + 1 − 4 = 0
- 공분산: 0 ÷ 4 = 0, 그리고 r = 0 ÷ (1.5811 × 1.8708) = 0입니다
두 번째 목록은 뒤집힌 U자입니다. 1, 4, 5, 4, 1은 아주 규칙적인 모양인데 1부터 5까지와의 공분산은 정확히 0입니다. 공분산은 직선 관계만 찾아내므로, 여기서는 두 번째 목록이 올라갔다가 내려오면서 양의 기여와 음의 기여가 정확히 상쇄됩니다. 그래서 공분산이 0에 가깝다는 것은 직선 관계가 없다는 뜻이고, 관계가 없다는 뜻은 결코 아닙니다. 산점도가 수 하나로 대체되지 않는 이유가 여기에 있습니다.
한계
공분산은 상관계수가 아니고 그렇게 읽어서도 안 됩니다. 크기가 두 목록의 단위에 달려 있어서 서로 다른 척도로 잰 변수 쌍끼리 비교할 수 없고, 견줄 상한도 없습니다. 곧바로 해석되는 것은 부호뿐입니다. 직선 관계만 재므로 강하게 굽은 관계도 공분산을 0 근처로 만들 수 있습니다. 짝지은 값으로 계산하므로 두 목록이 나란히 맞아야 합니다. 길이가 같아야 하고 각 값은 같은 위치의 값과 짝이 되므로, 한쪽에 빠진 항목이나 여분의 항목이 하나 있으면 그 뒤의 짝이 전부 밀립니다. 어느 한 목록에 변화가 전혀 없으면, 즉 모든 값이 같으면 상관계수가 정의되지 않으므로 이 페이지는 0으로 나눈 값을 인쇄하는 대신 답을 거부합니다. 목록은 200쌍까지이며, 구분 기호 뒤에 숫자 세 자리가 이어지는 형태의 토큰은 추측하지 않고 거부합니다. 숫자 사이의 쉼표는 나라에 따라 소수점이기도 하고 천 단위 구분 기호이기도 하기 때문입니다. 여기 있는 어떤 것도 인과를 세우지 않습니다. 함께 움직이는 두 목록은 둘 다에 들어 있지 않은 제3의 변수에 반응하고 있을 수 있습니다.
자주 묻는 질문
- 공분산 구하기는 어떻게 하나요?
- 두 목록을 위치대로 짝지은 다음 각 목록의 평균을 자기 값에서 빼고, 짝마다 두 편차를 곱해 모두 더한 뒤, 표본이면 n − 1로, 모집단이면 n으로 나눕니다. x = 1, 2, 3, 4, 5와 y = 2, 4, 5, 4, 5라면 편차의 곱이 모두 6이므로 표본 공분산은 6 ÷ 4 = 1.5입니다. 두 평균과 두 표준편차, 결과가 위에 인쇄되므로 모든 단계를 따라갈 수 있습니다.
- 두 목록의 길이가 같아야 하나요?
- 그렇습니다. 순서도 맞아야 합니다. 한 목록의 첫 번째 값은 다른 목록의 첫 번째 값과 짝이 되고, 정렬은 하지 않습니다. 그래서 이 페이지는 어긋난 두 목록을 짧은 쪽에 채워 넣지 않고 거부합니다. 한 목록에 값이 3개, 다른 목록에 2개가 있으면 어느 항목이 빠졌는지 알 방법이 없고, 앞의 둘만 조용히 짝지으면 그럴듯해 보이지만 틀린 답이 나옵니다. 붙여 넣기 전에 두 목록이 같은 대상, 같은 행에서 온 것인지 확인하세요.
- 공분산의 부호는 무엇을 뜻하나요?
- 공분산이 양수이면 어떤 값이 자기 목록의 평균보다 위에 있을 때 짝이 되는 값도 다른 목록의 평균보다 위에 있는 편이라는 뜻입니다. 둘이 함께 오르내립니다. 음수이면 반대로, 하나가 평균보다 위일 때 다른 하나는 아래인 편입니다. 0에 가까우면 직선 패턴이 없다는 뜻인데, 그것은 관계가 전혀 없다는 뜻과 다릅니다. 목록 1, 4, 5, 4, 1은 아주 규칙적인 뒤집힌 U자인데도 1, 2, 3, 4, 5와의 공분산은 정확히 0입니다.
- 상관계수는 왜 함께 인쇄하나요?
- 공분산만으로는 읽을 수 없기 때문입니다. 그 단위가 첫 번째 목록의 단위 곱하기 두 번째 목록의 단위여서, 한 목록을 미터 대신 센티미터로 재면 관계는 그대로인데 공분산만 100배가 됩니다. 두 표준편차로 나누면 그 단위가 지워지고 답이 −1과 1 사이에 갇히므로 변수 사이에서 비교할 수 있게 됩니다. 공분산은 대수학이 만들어지는 재료이고, 관계가 얼마나 강한지 물었을 때 인용할 수 있는 것은 r입니다.
- 목록 하나가 상수이면 왜 거부하나요?
- 상관계수가 0으로 나누어지기 때문입니다. 어떤 목록의 모든 값이 같으면 그 목록의 표준편차가 0이고 관계에는 정의된 강도가 없습니다. 공분산 자체는 0으로 아주 잘 정의되지만, 이 페이지는 두 수를 함께 인쇄하므로 답의 절반만 보고하면 의미 없는 r을 진짜인 것처럼 받아들이게 됩니다. 사이트의 다른 곳에서도 같은 선택을 합니다. 변동계수 페이지는 평균이 양수가 아니면 정의되지 않는 비율을 인쇄하는 대신 답을 거부합니다.
- 표본 제수와 모집단 제수 중 어느 것을 쓰나요?
- 목록이 더 큰 무엇에서 뽑아낸 표본이고 그 더 넓은 집단을 설명하려는 것이라면, 보통의 경우인데, 표본 설정인 n − 1을 쓰세요. 목록이 관심 있는 집단 전체라면 모집단 설정인 n을 쓰세요. 이 선택은 공분산과 두 표준편차를 바꾸지만 상관계수는 결코 바꾸지 않습니다. 그 비율에서 n − 1과 n이 약분되기 때문입니다. 위의 다섯 쌍은 표본일 때 공분산이 1.5, 모집단일 때 1.2이고 r은 어느 쪽이든 0.7746입니다.
참고 문헌
- Correlation, Variance and Covariance (Matrices) — R stats package reference — R의 cov와 cor 문서(공분산에 쓰는 n − 1 제수를 규정하고, 상관을 공분산을 두 표준편차로 나눈 것으로 다룬다) — The R Project for Statistical Computing
- scipy.stats.pearsonr — SciPy reference — 피어슨 계수의 범위와, 그것을 선형 연관의 측도로 해석하는 방법을 적은 문서 — SciPy
- The Regression Equation — Introductory Statistics 2e, section 12.3 — 칼 피어슨의 이름을 딴 상관계수 r을 두 변수 사이 선형 연관의 강도와 방향을 재는 수로 정의하는 절 — OpenStax, Rice University
- GB/T 3358.1-2009, Statistics — Vocabulary and symbols, Part 1 — 중국 국가 통계 어휘 표준이며 공분산과 상관계수를 포함한다(기록 페이지에 온라인 전문을 제공하지 않는다고 적혀 있어, 공식이 아니라 용어를 위해 인용한다) — State Administration for Market Regulation, China