R 기초 랜덤 샘플링, 롤렛 및 확률형 아이템 조작

   항상 모든 언어가 그렇지만,  기초가 어렵다.  그렇지만,  기초가 있어야 실무에서 적용할 카드들이 많다.  이번에 R 기초에서  랜덤 샘플링과 롤렛및 확률형 아이템 조작에 대하여 이야기 할 것이다. 

랜덤 샘플링

 

🚚 랜덤 샘플링

       어떠한 값을 랜덤으로 추출 하려면, Sample  함수를 사용한다.   아래와 같이  설명하기 쉬운  sample 함수가 있다.  sample 함수는  표본 집단으로 부터,  데이터를 추출 하는데 사용이 된다.   우리가 주로 사용 하는 것은  회계 감사 시,  랜덤 샘플로 조사를 하고,  대통령 선거 여론 조사시 샘플링을 하여, 조사 한다. 

  아래는 비복원 추출 방식이다.   이건은 경품을 추첨 하는 것과 같다.  경품의 담청자가 나오면 그 담첨자는  이미 끝난 것이다.   그 경품 추첨에서는 끝난 것이다. 

# random sample 

# 주사위를 1번 던진다. 
  sample(1:6, 1)
## [1] 1
# 샘플의 정렬
  sample(1:6)
## [1] 2 4 3 6 1 5
# # 비복원 추출인 것은 모집단의 갯수를 넘길수 없다.
 sample(1:6, 10) 
Error in sample.int(length(x), size, replace, prob) : 
  'replace = FALSE' 일때는 모집단보다 큰 샘플을 가질 수 없습니다


   그런데 우리는 복원 추출을 해야 할 때가 있다.   딥러닝에서는 Cross validation  폴드를 나누어서 여러번 샘플링 하거나, R에서 고급 기법인  bootstrap 할 때  샘플의 표본 공간에 있는 데이터를   계속 리샘플링 하여,   표준 정규 분포에 정규화 된 값을 만든다. 

아래는 복원 추출의 예이다. 

#  비복원 추출 하는 방법
   sample(1:6, 10, replace = TRUE)
##  [1] 4 6 1 4 1 6 2 4 1 2


 추출 조건을 지정 한다.   평소에는 잘 모르던 것이였다.    예를 들자면  아래와 같은 롤렛을 돌린 다고 가정 하자.  그럼 일단 이것은 꽝이 나올확률은 거의 제로이다.  하지만 네이버 페이 50,000원 나올 확률이 높지 않다.  이것을 비 복원 샘플 추출로 제어 할 수 있다. 


롤렛

위의 다섯 가지 조건에서  prob 인수로 조정 할수 있는데,  prob 1:6 은 숫자가 높을 수록 나올 확률이 높게 나오게 하는 방법이다. 

아래의 예제는 숫자가 크면 클수록 많이 나오게 하는 확률이다. 

# 롤렛 나올 확률 조정
   sample(1:5, 10, replace = TRUE,  prob = 1:5)


그리고,  아래는   4라는 숫자가 적게 나오고,  5라는 숫자를 많이 나오게 하는 확률이다.  

# 4가 적게 나오고 5가 많이 나오게 할 확률이다.  
   sample(1:5, 30, replace = TRUE, prob = rep(c(1/10, 5/10), c(4, 1)))
##  [1] 1 2 5 5 1 5 1 2 5 5 4 3 5 5 4 4 5 5 5 5 5 5 5 5 3 4 4 5 4 2



댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...