-
08-2 가설 검증 입문 : 모집단 생성과 리스트 컴프리헨션 (파이썬)데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 4. 21. 15:09
이제 가설 검증에 대해 배웠으니 파이썬으로 간단한 가설 검증을 해 볼까?
우선 가설 검증을 하기 위해서는 모집단의 정보를 알아야 돼. 전 시간에 일반인들에게 15개의 단어를 주고 외우게 시킨 다음 1시간 20분 뒤에 검사를 했을 때! 모집단의 평균(M)이 7이고 표준 편차(S)가 2였지? 그러나 우리에겐 평균이 7이고 표준 편차가 2인 모집단이.. 없잖아? 없으니까.. 모집단을.. 만들자!
-
normalvariate()
random 모듈을 사용해서 표본 집단을 추출해 보긴 했는데, 집단을 만들어 본 적은 없지? 집단을 만들 때에도 random 모듈을 사용해 볼거야. random 모듈을 사용하면 난수를 생성할 수 있었지? 특히 random 모듈에서 평균과 표준 편차를 정해놓고 난수를 생성하는 normalvariate() 함수를 사용하면 정규 분포를 따르는 집단을 쉽게 만들 수 있어!
normalvariate(mu, sigma)
mu에는 만들어 낼 난수의 평균을, sigma에는 만들어 낼 난수의 표준 편차를 입력하면 돼. 그럼 평균과 표준 편차에 맞는 무작위 숫자를 생성해 줄 거야. 아래의 코드 처럼 말야.
코드를 실행해 보면 7에 가까운 숫자가 출력되는 것을 볼 수 있어. 난수가 생성되기 때문에 실행할 때 마다 숫자가 다르겠지만(희박한 확률로 같을 수도 있음)말야.
우리는 이런 숫자들을 충분히 모아서 모집단을 만들거야. 1000개만 만들어 볼까? 'population'이라는 이름의 리스트에 평균이 7이고 표준 편차가 2인 1000개의 난수를 만들어서 넣어볼게!
코드를 실행해 보면 1000개의 난수가 출력되는 것을 볼 수 있어. 다만 파이썬에서는 위와 같이 코드를 구성하는 것 보다는 리스트 컴프리헨션(comprehension)으로 쉽고 간결하게 코드를 작성할 수 있어!
-
리스트 컴프리헨션
리스트 컴프리헨션으로 리스트를 선언할 때 for나 if를 리스트 안에 바로 넣을 수 있어. 예를 들어 0부터 9까지의 숫자를 리스트에 넣는다고 하면 빈 리스트를 만들어 놓고 1부터 5까지의 숫자를 빈 리스트의 항목으로 추가해주면 되겠지? 아래의 코드처럼 말야.
하지만 리스트 컴프리헨션을 사용하면 한 줄의 코드로 0부터 9까지의 숫자를 리스트에 넣을 수 있어.
for문이 리스트 내부에 들어가있는게 보이지? 맨 왼쪽에 있는 i가 리스트에 추가 될 i라고 생각하면 돼.
만약 맨 왼쪽에 있는 i에 1을 더해주어서 0부터 9가 아니라 1부터 10까지의 숫자를 담고 싶다면,
이렇게 맨 왼쪽에있는 i에게 더하기 1을 해주면 돼. 참 쉽지?
-
리스트 컴프리헨션을 사용해서 평균이 7이고 표준 편차가 2인 난수를 만들어 줄거야. 그리고 만들어진 1000개의 숫자가 정말로 평균이 7이고 표준 편차가 2인지 확인해 보기 위해서 statistics모듈의 mean() 함수와 pstdev() 함수를 사용해 볼거야.
코드를 실행해 보면 7에 근접한 숫자와 2에 근접한 숫자가 출력되는 것을 볼 수 있어. 생성된 난수의 개수가 많으면 많을수록 더욱 7과 2에 가까운 숫자가 출력되겠지?
-
이제 우리는 생성된 모집단을 통해 파이소스티그민을 복용한 집단과 비교할 수있게 되었어! 야호!
'데이터 분석 > 파이썬으로 배우는 데이터 분석을 위한 통계학' 카테고리의 다른 글
08-4 가설 검증 입문 : 모집단과 단일 집단 비교 (파이썬) (0) 2022.04.22 08-3 가설 검증 입문 : 모집단과 단일 사례 비교 (파이썬) (0) 2022.04.21 08-1 가설 검증 입문 : 용어와 이론 (0) 2022.04.20 07-5 표집 분포와 정상성 : 중심 극한 정리 (0) 2022.04.15 07-4 표집 통계치 : 표준 오차 (0) 2022.04.14