Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Blog
- 리눅스
- Google Analytics
- Tistory
- Ga
- matplotlib
- Linux
- 서평
- 파이썬
- tensorflow
- 독후감
- SQL
- 파이썬 시각화
- Visualization
- MATLAB
- 월간결산
- 한빛미디어서평단
- 매틀랩
- 한빛미디어
- Pandas
- 서평단
- 블로그
- 티스토리
- 텐서플로
- Python
- 통계학
- MySQL
- 시각화
- 딥러닝
- python visualization
Archives
- Today
- Total
pbj0812의 코딩 일기
[통계학] python을 통한 체계적 표본추출 구현 본문
0. 목표
- python을 통한 체계적 표본추출 구현
1. 이론
- 모집단의 기본단위를 순서대로 1 ~ N 까지 번호를 할당하고 표본추출간격 k=N/n으로 정함.
- 첫째 구간에서 무작위로 기본단위 하나를 추출하여 그 번호가 a라면 표본은 a, a+k, a+2k... 인 기본단위들을 추출하여 구성
- 예시 원본
2. 실습
1) library 호출
import random
2) 함수 제작
(1) k 값으로는 모집단인 inp의 길이를 n 으로 나눠 구함.
* 딱 맞아떨어지지 않는 경우가 많기에 int를 취하여 정수 형태(소수점 버림)로 만듬
(2) 모집단에서 k*n 이후의 나머지 부분은 버림
(3) 랜덤함수를 통해 0 ~ k-1 의 자연수 값을 구하여 a에 할당
(4) 반복문을 통하여 a + i*k 값을 결과값(list)에 누적
def func(inp, n):
k = int(len(inp) / n) #1
inp2 = inp[:k*n] #2
a = random.randint(0, k-1) #3
result = []
for i in range(n):
result.append(inp2[a + (i * k)]) #4
return result
3) 예제 모집단 생성
- 맞아 떨어지지 않기 위해 1001개 생성
inp_list = [i for i in range(1001)]
4) 실행
result = func(inp_list, 10)
5) 결과
- 결과 : [14, 114, 214, 314, 414, 514, 614, 714, 814, 914]
print(result)
3. 참고
'Science > 통계학' 카테고리의 다른 글
[통계학] python을 이용한 최소제곱법과 경사하강법 구현 (0) | 2020.10.04 |
---|---|
[통계학] python을 통한 제곱합(SS), 제곱평균(MS), 처리간 제곱합(SSB), 처리내 제곱합(SSE), 총제곱합(SST) (0) | 2020.10.03 |
[통계학] python을 이용한 단순무작위표본추출 (0) | 2020.09.10 |
[통계학] python을 이용한 귀무가설의 판정 (0) | 2020.09.09 |
[통계학] PYTHON을 이용한 U 값 계산 (0) | 2020.09.03 |
Comments