자신에게 친절할 것 :)

Statistics

[기초통계] 분산과 표준편차

Tashapark 2024. 6. 11. 23:26
728x90

# 코드잇 데이터 사이언스 강의 듣는 중


 

<분산  variance>

- 편차 제곱의 합의 평균 

 1) 편차의 합은 0이 되기 때문에 제곱해서 다 양수로 통일하는 것

2) 편차가 큰 값들을 더 부각시키기 위함

df['height'].var()

#52.92330276553103

 

 

<표준편차 standard deviation>

- 편차 제곱의 합의 평균에 루트를 씌운 것.

- 분산을 구할 때 제곱을 했기 때문에 이것을 다시 원래의 단위로 맞춰 주는 것 

df['height'].std()

#7.2748403945056435

 

 

 

- but, 위의 공식은 모집단의 값을 구하는 공식이고, 표본을 구할 때는 값이 달라짐.

+ 아 그냥.. 공식을 써주지.. 그래야 시그마랑 구분하자나..

 

--> n이 아닌 n-1로 나눠서 평균을 구하는 것

- 표본은 결국 모집단을 추정하기 위함인데, 

- n으로 나누면 과소 추정을 할 수 있기 때문에, n-1로 나눈다고 설명하심.

 


+ 자유도로 설명하는 게 더 편하지 않나???

- 추정치이기 때문에 마지막  값은 이미 정해져있음.

- 즉, 우리가 구해야 할 값은 이미 정해져 있는데 예를 들어 대한민국 국민의 수는 정해져 있음. 

- 우리가 표본을 통해서 추정할 때는 어떤 값이든 들어 갈 수 있는 것임 서울시민으로 추정할 수도, 강원도민일 수도, 둘을 합칠 수도 있음. 

- but, 대한민국 국민의 수로 추정하지는 않음. 그것은 모집단 그 자체이니깐. 

- 우리가 자유롭게 설정할 수 있는 값은 모집단을 제외한 n-1임 

--> 나는 자유도 degree of freedom을 이렇게 이해하고 있는데.. 맞을 지는 모르겠음. 


 

- .describe() 를 쓰면 std를 바로 확인 할 수 있음.

 

+ pandas와 numpy가 표본의 std를 구하는 n수가 다름!

--> pandas는 n-1 로 구하고, numpy는 n으로 구한다는데 크게 볼 때에는 큰 차이가 없지만,

정확도를 요구하는 논문이나 다른 계산을 위한 밑바탕이 될 때는 주의하는 것이 필요해 보임. 

 

 

++ BUT, 모집단의 분산과 표본의 분산은 근데 사실 값이 .. 크게 달라질 수도 있음. 

- n이 충분히 크다면 별 차이가 없겠지만 작으면,

728x90
반응형