-
05-5 추정 표준오차 그리고 자유도데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 3. 31. 16:30
추정 표준오차 (Standard Error of Estimate, SEE)
우리는 앞서 점수치들을 대표할 수 있는 회귀선을 그려봤어. X에서 Y를 예측하려고 말야. 아마 대부분의 상황에서는 점수치들이 회귀선과 떨어져 있을거야. 행동 과학에서 모든 점수치들이 회귀선 위에 있는 경우는 매우 드물겠지? 암튼 우리가 아무리 모든 점수치들을 잘 대표하는 회귀선을 그린다고 해서 그 회귀선이 완벽한 것은 아니야. 모든 점수치들이 회귀선상에 있지는 않을 거니까. 오차가 존재하는 것이지.
이런 경우를 생각해 봐. A대학교와 B대학교 둘 다 SAT 점수로 GPA를 예측하기 위해 회귀 분석을 했어. 그리고 회귀선을 그려냈는데! 회귀선이 똑같은거야! 오우 이럴수가! 하지만 회귀 분석을 하기 위한 학생들의 점수는 서로 달랐지 아래의 그림처럼 말야.
그런데 왼쪽 그림의 A대학교는 오른쪽 그림의 B대학교 보다 학생들의 점수가 들쭉날쭉 했어. 변산이 크다는 것이지. 그렇다면 A대학교는 B대학교보다 회귀선으로 예측한 오차가 더 크다고 할 수 있겠지? 학생들의 점수치가 회귀선에서 더 멀리 떨어져있으니 말야. 반대로 B대학교는 A대학교보다 회귀선으로 예측한 오차가 더 작다고 할 수 있을거야. 위 그림에서는 주황색 선이 회귀선으로 예측한 오차라고 할 수 있겠네.
그럼 A대학교가 B대학교보다 얼마나 많은 오차를 가지고 있다고 할 수 있을까? 아마 주황색 선의 길이들의 총합을 구하면 답이 나오지 않겠어?
주황색 선의 총합은 여태까지 편차를 다룰 때 썼던 방법들 처럼 길이가 아니라 면적을 비교하는게 좋을거야. 점수치의 Y값에서 회귀선의 Y값을 뺀 다음 제곱을 해주면 면적이 되겠지? 그 면적들을 다 더하면 총 면적이 될거야.
추정 표준오차는 이런식으로 구할 수 있어. 대신 오차 제곱의 총합을 N-2로 나눠준 다음 루트를 씌우면 돼. 루트를 씌우는 이유는 면적을 다시 길이로 치환하려는 것이겠지? 분산에서 표준편차를 구할때와 마찬가지로 말야. 그런데 왜 하필 N-2이 일까?
-
추정표준오차의 공식
추정 표준오차 Sy.x (에스 와이 쩜 엑스 라고 읽음)는 회귀선(Yh)에 대한 점수치(Yi)의 편차 제곱의 합을 N-2로 나눈 것에 루트를 씌운것으로 정의 돼.
Sy.x = √{ ∑(Yi-Yh)² / (N-2) }
N-2가 대체 왜 갑자기 튀어나온 것일까? N-1은 자유도를 공부할 때 배웠어. 모집단의 분산이 아닌 표본집단의 분산을 구할 땐 N-1로 나눠준다고 배웠잖아. 기억나지?
https://kimhaksung.tistory.com/entry/pytong03-6
그런데 이번에는 N-2야. 대체 왜?!
왜 N-2인지 이해하려면, 표본집단에서 분산을 구했던 과정을 떠올려 보면 돼. 분산이란 결국 점수치들과 평균의 차이, 즉, 편차를 제곱들의 평균을 구하려는 거였잖아? 모집단이었으면 그냥 N으로 나누면 되지만 표본집단의 경우는 마지막 한 놈의 자유가 없었기 때문에 N으로 나눈게 아니라 N에서 1을 뺀 것으로 나눴었어. 잘 기억이 나지 않는 친구들은 위의 링크를 참고해! Ym이 Y의 평균이라면 Y의 표준편차 Sy는 아래 처럼 구할 수 있었지!
Sy = √{ ∑(점수-평균)² / (N-1) } = √{ ∑(Yi-Ym)² / (N-1) }
그렇다면 추정 표본오차는 왜 N에서 2를 뺀 것으로 나누는 것일까? 기억해야 될 것은, 표본집단에서는 자유가 없는 놈이 하나였기 때문에 1을 뺐었다는거야. 추정 표본오차에서는 자유가 없는 놈이 둘이라는 것이지. 잉?
-
자유도
왜 둘이나 자유가 없을까?
우리가 회귀선을 그었기 때문이야.
'선'을 그으려면 어떻게 하면 될까? '선'의 정의는 뭘까? 에 대해 생각해 보면 알 수 있어. 선은 두 점 사이를 연결한 것이잖아. '두' 점 사이 말야. 선을 긋기 위해서는 두 점의 자유를 뺏어야 돼.
왜냐면, 회귀 분석 역시 우리가 알 수 없는 미래, 혹은 전체에 대해 예측하려는 것인데, 우리가 알 수 없는 것 뿐이지 전체 점수치에 대한 회귀선이 존재할 수 밖에 없잖아. 하지만 전체를 알 수 없으니 전체에서 표본 집단을 추출하거나 과거의 데이터를 통해 모집단이나 미래를 예측하자는 거였지. 이게 바로 회귀분석의 목적이잖아.
우리가 알 수 없는 단 하나의 진리 같은 회귀선은 실존하고 있고, '실존하는 회귀선과 우리가 그리려는 회귀선이 같을 것이다.'라는 전제 하에 통계학 공부를 하고 있는거잖아. 그러니 우리가 그으려는 회귀선은 자유가 없는거야. 표본집단의 분산과 같지. 대신 표본 집단의 분산에서는 한 점이 자유가 없었던 것이고, 이번에는 하나의 선이 자유가 없는 것이지. 단, 선을 그릴려면 점이 두 개 필요하니까 1이 아니라 2를 빼줘야 하는거야. 이게 바로 추정 표본오차 자유도의 비밀이지!
Sy.x = √{ ∑(점수-회귀선)² / 자유도 } = √{ ∑(Yi-Yh)² / (N-2) }
이제 두 번의 자유도 공부를 통해 자유도에 대해 잘 알게 되었지? 자유도는 어렵게 생각할 필요 없이 그 놈에게 자유가 있느냐 없느냐를 보면 되니까.
만약 모든 점수들이 회귀선상에 있다면 Yi에서 Yh를 뺀 값이 0이 되겠지? 분자가 0이니 당연히 추정 표준오차 또한 0이 될것이고 말야. 이 뜻은, 회귀선이 완벽하게 점수치들을 예측한다는 것이 될거야. 완벽하게 예측하면?! 0이라는 것이지.
반대로 변인 X에 관계 없이 변인 Y가 항상 일정하다면? 회귀선은 Y의 평균선과 같게 될거야. 이 때는 Yi에서 Yh를 뺀 것과 Yi에서 Ym을 뺀 것이 같을거야. 그럼 Sy.x와 Sy, 즉 추정 표준오차와 표준편차가 같아지는 것이지.
결국 Sy.x의 최소치는 0, 최대치는 Sy가 될 수 밖에 없어. 회귀선이 완벽하게 예측하는 경우가 0이고 반대의 경우가 Sy겠지?
0 ≤ Sy.x ≤ Sy
무슨 뜻이냐면, 하나의 X는 수 많은 Y값을 가질 수 있잖아. 예를 들어 한 학생의 SAT 점수가 1100점인데 GPA는 2.0일 수도 있고, 또 다른 학생의 SAT 점수도 1100점인데 GPA는 3.0일수도 있는것이지. 또또 다른 학생도 SAT 점수가 1100점인데 GPA는 1.0일수도 있잖아. 하나의 X(SAT 점수)가 수 없이 많은 Y(GPA)를 가질 수 있다는 뜻이지. 하지만 그럼에도 하나의 SAT 점수만 놓고 GPA를 보면 어느정도의 일관성은 있을거야. 분포가 있을 것이고 평균과 분산 표준편차도 있겠지 아래의 그림처럼 말야.
내가 여러분들의 이해를 돕기 위해 그림판으로 3차원 정규분포 그래프를 그려왔어! 마우스로 그리느라 오래 걸렸다.. 내가 3차원 그래프를 그리게 될 줄이야.. 암튼 빨간색 선은 회귀선이야. 각각의 정규분포는 해당 X에 대한 정규분포라고 할수 있어. X1에 대한 Y값의 범위를 정규분포로 나타낼 수 있을거 아냐? 그래서 이런 그림이 나온거야.
중요한 것은 회귀선과 평균이 일치하지는 않는다는거야. X2는 어느정도 일치하는 것 처럼 보이는데 X1과 X3는 그렇지 않지? 우리가 변인 X의 어느 한 값만 쳐다보려는 것이 아니라 변인 X 전체에 대한 회귀선을 그렸기 때문이야. 이 그림을 통해 추정 표준오차의 범위에 대해 이해했음 좋겠네!
-
추정 표준오차의 계산
추정 표준오차를 계산하기 위해서 앞서 아래의 공식을 사용하면 된다고 배웠어.
Sy.x =√{ ∑(Yi-Yh)² / (N-2) }
하지만 이 공식은 X값에서 Yh를 계산해야 되기 때문에 회귀 분석 공식을 대입해야 하는 아주 번거로운 공식이지. 따라서 이 공식 보다는 값을 바로 계산할 수 있는 아래의 공식이 실제 계산에서는 더 유용하게 쓰일거야.
(Sy.x)² =1/N(N-2) * [ N∑Y² - (∑Y)² - (N∑XY-∑X∑Y)² / {N∑X²-(∑X)²} ]
Sy.x = √{(Sy.x)²}
더 복잡해 보이긴 하지만.. 나 처럼 통계를 졸업 시험으로 보기 위해 프로그램을 사용하지 않고 계산기만 사용해서 계산해야 된다던가 하는 친구들에게 아주 유용할거야! 회귀 상수를 구해서 회귀 방정식을 구하는 것과 재료는 비슷 하니까 어렵지 않게 계산할 수 있을거야.
-
추정 표준오차의활용
만약 X와 Y 사이에 어떤 관계가 존재한다면 회귀선의 Yh는 특정 X에서 Y의 평균값에 근접할 것이고, 추정 표준오차 Sy.x는 그 X값에서 Y의 표준편차에 근접하겠지? 위에 있는 3차원 정규분포 그래프를 참고하면 돼.
만약 학성이의 SAT 점수가 1110점이라고 하고, 회귀방정식이 Yh = 0.012X-11.638 라면 학성이의 SAT 점수 1110점을 X에 대입해서 GPA를 예측할 수 있겠지? 1.682점으로 예측 되겠네. 그리고 이 회귀선의 표준오차가 0.77이라면 학성이를 포함해서 SAT 점수가 1110점인 학생들의 표준편차 또한 약 0.77이라는 거야.
SAT 점수가 1110점인 학생들의 GPA가 정규분포라고 가정한다면 우리는 표준정규분포표를 이용해서 백분위를 알 수 있을거야. 따라서 학성이의 예측된 1.682라는 점수에서 표준편차 0.77을 빼고 더한 값을 구해 보면
1.682-0.77 = 0.912
1.682+0.77 = 2.452
라는 것을 알 수 있어. 정규분포에서 평균으로부터 ±1 표준편차는 약 68%에 해당된다는 것을 기억하지? 헷갈리는 친구들은
https://kimhaksung.tistory.com/entry/pytong04-6
여기서 배웠던 내용을 쳐다보면 돼!
즉, SAT 점수가 1110점인 학생들의 학점은 0.912점과 2.452점 사이에 약 68%가 포함되는거야.
만약 95%의 범위가 궁금하다면 95% 범위에 해당되는 ±1.96 표준편차에 대해 고려하면 돼. 위에서 표준편차를 0.77이라고 했으니 적용해 보면,
1.682-0.77*1.96 = 0.173
1.682+0.77*1.96 = 3.191
라는 것을 알 수 있고, 이 뜻은 SAT 점수가 1110점인 학생들의 95%는 0.173점과 3.191점 사이에 있을 것이다 라는거야. 표준편차 범위가 늘어났으니 당연히 점수의 범위도 늘어날 수 밖에 없겠어!
이처럼 추정 표준오차를 활용하기 위해서는 몇 가지 주의할 점이 있어.
첫째, X와 Y의 관계는 선형적이어야 돼. 그래야 이 모든 것들이 가능하겠지? 우리가 앞서 회귀 분석에 대해 배울 때 선형적 관계만을 고려한다고 했잖아. 그래야 우리가 배운 것들을 모두 적용할 수 있어.
둘째, 특정 X와 다른 X는 같은 변산성을 가지고 있어야 돼. 동질성(homoscedasticity)가 있어야 한다는 것이지. 위의 3차원 그래프에서 X1과 X2, 그리고 X3은 모두 같은 변산성을 가지고 있는게 보이지?
마지막으로, 모든 X값에 대해 Y의 분포는 정규분포를 따라야만 해. 만약 어느 한 놈이 다르다면 무언가 엉크러진거야. 정규분포를 따르지 않는다는거지. 원점수들이 난리가 나있는데 분석은 혀서 뭐혀~ 그치? 표준정규분포의 백분위도 알 수 없게 될거야.
위의 가정들이 충족되면서 N이 충분히 크고 학성이의 SAT 점수가 X의 평균값 근처에 있다면 추정 표준오차는 굉장히 정확할거야. 대신 학성이의 SAT 점수가 X의 평균값에서 멀어질수록 추정 표준오차의 정확성은 떨어지게 되겠지. Y의 변산성이 덜 영향을 미치니까. 이 때는 추정 표준오차가 조정될 수 있어. 만일 Xp가 Xi의 예언치라면 아래의 공식처럼 조정될 수 있어.
Xp에서 조정된 Sy.x = Sy.x * √ [ 1+(1/N)+{(Xp-Xm)²/(N-1)Sx²} ]
이건 그냥 참고만 해.. 자세히 알 필요가 있을지는 모르겠네!
-
자, 이제 우리는 회귀에 대해 충분히 배웠어. 그리고 회귀선에 따른 추정 표준오차도 알게 되었지.
하지만 우리가 목표로 했던
② SAT 점수와 GPA간의 관계를 조사하기.
에는 아직 다다르지 못했네. 다음 시간부터 X와 Y의 관계에 관해 본격적으로 다뤄볼까?!
'데이터 분석 > 파이썬으로 배우는 데이터 분석을 위한 통계학' 카테고리의 다른 글
06-1 상관 : RSS와 ESS 혹은 SSE와 SSR 그리고 TSS와 SST 으악! matplotlib을 활용한 데이터 시각화 (0) 2022.04.04 05-6 추정 표준오차와 신뢰구간의 계산 (0) 2022.04.01 05-4 회귀선 그리기 : matplotlib를 활용한 데이터 시각화 (0) 2022.03.30 05-3 회귀상수와 회귀선 (0) 2022.03.29 05-2 회귀 분석 시각화를 위한 matplotlib (0) 2022.03.28