코딩하는 수학과생 :: R / Rstudio Variance 분산을 구해보자


반응형

그냥 안할때는 막막했는데 막상 하나씩 하다보니까 재밌는것 같기도하구 ㅋㅅㅋ

 

이번에는 분산을 한번 구해볼텐데 이전 글에 썼던 평균값, 중앙값, 최빈값을 보고오는게 R에서 데이터가 이렇구나~~~ 하고 이해가 가서 좋습니당.

사실 글이 짧아서 5분도 안걸리지유👍 ㅋ.ㅋ

이전글 : 2020/02/26 - [R] - R / Rsudio 평균값 중앙값 최빈값을 구해보자~(평균값편)

 

R / Rsudio 평균값 중앙값 최빈값을 구해보자~(평균값편)

통계 문제를 풀다 보면 귀찮은 손 계산이 너무 많더라고요 😂 그래서 계산기 대신에 R을 사용하기로 했습니다 평균값, 중앙값, 최빈값의 의미를 이해하고 코딩을 해보겠습니다. | 평균값 | 평균은 데이터 총합 /..

dooooh.tistory.com

우선 분산이란 무엇인가?

 

분산이란 데이터가 기댓값으로부터 얼마나 떨어져 있는지 알 수 있는 지표입니다.

말그대로 그래프로 나타내었을때 얼마나 퍼져있는가를 나타냅니다

(기댓값평균이라고 생각하면 됩니다.)

 

밑의 그래프들을 보면 한눈에 비교해봐도 그래프의 퍼진 정도가 차이나는것을 알 수 있습니다.

 

 

R을 이용하여 분산을 코딩하기 위해 분산을 구하는 방법을 차근차근 이해해봅시다.

 

처음으로 각 데이터가 평균으로부터 떨어진 거리를 구해줍니다.

X는 데이터 mu는 평균

difference들은 각 value - mean으로 나타내 퍼진 정도를 알 수 있습니다.

 

하지만 우리가 원하는 것은 각각의 퍼진 정도가 아닌 자료 전체를 볼 수 있는 하나의 분산값입니다. 그러므로 각각의 평균과의 거리에 평균을 내줍니다.

이렇게 구하는 방식에는 문제가 하나 있습니다.

만약 구하고자 하는 데이터가 좌우대칭인 경우 예를들어 c(10, 20, 10) 인 경우에 거리의 평균은 0이 나오게 됩니다. (-10 + 0 + 10) / 3 = 0

 

이러한 문제를 해결하기 위해 평균과의 거리에 제곱을 해줍니다.

마지막으로 difference들을 모두 합해준 뒤 data의 개수로 나눠주면 분산을 구할 수 있습니다.

 

이렇게 위의 3가지 과정

1. 평균과의 거리 구하기

2. 거리의 제곱합을 구하기

3. 제곱합을 데이터 개수로 나누기

을 거치면 어렵지 않게 분산을 구할 수 있습니다.

(좌변의 시그마는 표준편차이고 분산에 루트 씌워준 값입니다.)

 

식으로 보면 조금 복잡해 보일 수 있지만 내용을 이해하고 구하는 과정을 나눠서 하나씩 하다보면 손쉽게 구할 수 있습니다.

 

분산을 일일이 손으로 계산다하보면 실수할 때도 많고 시간도 오래 걸리는데 코딩해서 하니까 너무 편한것같아요 ㅋ.ㅋ 전공 책에는 지문에 자료수가 별로 많지 않아서 코딩이나 손계산이나 시간이 비슷비슷한것 같지만 검산하기가 너무 편하네요~~~

반응형
Posted by dooooh
,