티스토리 뷰

Study/AI

[Statistics] Introduction to Random Variable (2)

생각많은 소심남 2015. 1. 27. 23:10

이전에 한 내용은 엄청 작은 data만을 가지고 했었는데 이번에는 225개의 데이터를 가지고 해보겠다. 이번에 다루는 내용은 앞에서 소개했던 control 군의 population을 알아보는 데이터를 사용했다. 이중 12개만 sampling을 하고 그것에 대한 평균을 구했다.


참고로 population이란 dataFrame은 Bodyweight이란 항목만 가지고 있다. 이렇게 하면 당연히 225개 중에서 12개를 뽑는 것이므로 조금더 데이터가 다양하게 나온다. 밑에 있는 sampling과 mean을 여러번 해보면 제각기 다른 결과를 출력한다. 

이런게 Random Variable이다. 할때마다 값이 달라지는 변수.. 그런데 이전 포스트에서도 잠깐 언급했던 것처럼 우리가 원하는 결론을 도출하기 위해서는 어떻게 뽑던지간에 일관된 결과를 보여줘야 한다. 이를 위해서는 이렇게 sampling을 하고 mean을 하는 과정을 수천번 혹은 수만번 돌려보면서 패턴을 파악해야 한다는 것이다. 당연히 같은 값이 나올 수도 있겠지만 이 모든게 Random Variable이기 때문에 대부분의 값이 다 다르게 나올것이다. 하지만 그안에서도 어떤 한값으로 수렴한다던지의 패턴이 나타날 수도 있는 것이다. 그래서 이런 실험을 10000번을 돌려보는 내용이 나온다. 

 여기서 질문을 한번 던져볼 수 있다. 이전 포스트에서 구한 값중에 control군과 highfat 군 12마리간의 Bodyweight 차이의 평균을 구한게 있다. 이거랑 10000번을 돌렸을때의 평균값을 구한 것과 차이를 구한 것과 관계가 있을까? 사실 이 부분이 의미하는 것이 p-value의 정의이다.

 p-value의 사전적인 의미는 연구자가 설정한 진위의 영가설에서 검정통계치를 희소 또는 극한 값으로 얻을 확률 값을 말한다. 라고 정의는 되어있는데 솔직히 무슨 말인지는 잘 모르겠고, 내가 이해한 바로는 일반적인 케이스에서 아주 예외적인 케이스가 나올 수 있는 확률인 것으로 파악했다. 당연히 어떤 이론을 주장하기 위해서는 이렇게 예외적인 케이스가 나올 수 있는 확률이 적어야 그만큼 신뢰를 얻을 수 있을 것이고, 책에는 0.05보다 작아야 어느정도 이론을 주장할 수 있는 수준이라는데.. 이 부분은 조금더 공부해볼 필요가 있는거 같다. 아무튼 앞에서 말한 것처럼 10000번을 돌리고 그 값을 토대로 p-value를 구하는 과정은 다음과 같다.

이렇게 하니까 이 자료의 경우는 약 0.0123 정도가 나왔다. 사실 이렇게 loop 구문을 쓰면 이해하기 쉽긴 한데 ,R에서는 replicate라는 함수가 이런 루프가 하는 역할을 대신해준다. 우선 위처럼 null hypothesis를 구하는 게 아닌 control 군중 12개 샘플을 뽑은 것에 대한 평균과 plot한 결과는 다음과 같다.

그리고 이게 문제의 null hypothesis!

참고로 이렇게 구한 null값을 histogram으로 출력하면 normal distribution의 형태를 보여주게 된다.



댓글