수색…


소개

R은 공식 문서에서 시작하여, 확률 분포로 작업하는 많은 내장 함수가 ?Distributions .

비고

일반적으로 4 개의 접두사가 있습니다.

  • d - 주어진 분포에 대한 밀도 함수
  • p - 누적 분포 함수
  • q - 주어진 확률과 관련된 분위수를 얻는다.
  • r - 무작위 표본 추출

R의 기본 설치에 내장 된 배포판을 참조 ?Distributions .

정규 분포

*norm 을 예제로 사용합시다. 문서에서 :

dnorm(x, mean = 0, sd = 1, log = FALSE)
pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
rnorm(n, mean = 0, sd = 1)

표준 정규 분포의 값을 0으로 알고 싶다면

dnorm(0)

우리에게 합리적인 대답 인 0.3989423 줍니다.

pnorm(0).5 . 다시 말하지만, 분배의 절반이 0의 왼쪽에 있기 때문에 이는 의미가 있습니다.

qnorm 은 본질적으로 pnorm 의 반대를 할 pnorm 입니다. qnorm(.5)0 제공합니다.

마지막으로, rnorm 함수가 있습니다.

rnorm(10)

표준 법선으로부터 10 개의 샘플을 생성합니다.

주어진 분포의 매개 변수를 변경하려면 간단히 변경하십시오.

rnorm(10, mean=4, sd= 3)

이항 분포

지금 우리는 rbinom 분포에 대해 정의 된 dbinom , pbinom , qbinomrbinom 함수를 설명합니다.

dbinom() 함수는 이항 변수의 다양한 값에 대한 확률을 제공합니다. 최소한 세 가지 주장이 필요합니다. 이 함수의 첫 x 째 인수는 quantile (확약 변수 X 의 가능한 값)의 벡터 여야합니다. 두 번째와 세 번째 인수는 분포의 defining parameters , 즉 n (독립적 인 시도의 수) 및 p (각 시도의 성공 확률)입니다. 예를 들어, n = 5 , p = 0.5 인 이항 분포의 경우 X에 가능한 값은 0,1,2,3,4,5 입니다. 즉, dbinom(x,n,p) 함수는 x = 0, 1, 2, 3, 4, 5 대한 확률 값 P( X = x ) 를 제공합니다.

#Binom(n = 5, p = 0.5) probabilities
> n <- 5; p<- 0.5; x <- 0:n
> dbinom(x,n,p)
[1] 0.03125 0.15625 0.31250 0.31250 0.15625 0.03125
#To verify the total probability is 1
> sum(dbinom(x,n,p))
[1] 1
> 

이항 확률 분포도는 다음 그림과 같이 표시 될 수 있습니다.

> x <- 0:12
> prob <- dbinom(x,12,.5)
> barplot(prob,col = "red",ylim = c(0,.2),names.arg=x,
                           main="Binomial Distribution\n(n=12,p=0.5)")

이항 분포

이항 분포는 p = 0.5 경우 대칭입니다. p0.5 보다 클 때 이항 분포가 음수로 왜곡된다는 것을 증명하기 위해 다음 예제를 고려하십시오.

> n=9; p=.7; x=0:n; prob=dbinom(x,n,p);
> barplot(prob,names.arg = x,main="Binomial Distribution\n(n=9, p=0.7)",col="lightblue")

음수 비뚤어진 이항

p0.5 보다 작 으면 이항 분포는 다음과 같이 양수로 기울어집니다.

> n=9; p=.3; x=0:n; prob=dbinom(x,n,p); 
> barplot(prob,names.arg = x,main="Binomial Distribution\n(n=9, p=0.3)",col="cyan")

긍정적으로 기울인 이항

이제 누적 분포 함수 pbinom() 의 사용법을 설명 할 것입니다. 이 함수는 P( X <= x ) 와 같은 확률을 계산하는 데 사용할 수 있습니다. 이 함수의 첫 x 째 인수는 quantile (x 값)의 벡터입니다.

# Calculating Probabilities
# P(X <= 2) in a Bin(n=5,p=0.5) distribution
> pbinom(2,5,0.5)
[1] 0.5

위의 확률은 다음과 같이 얻을 수도 있습니다.

# P(X <= 2) = P(X=0) + P(X=1) + P(X=2)
> sum(dbinom(0:2,5,0.5))
[1] 0.5

계산하기 위해, 유형의 가능성 : P( a <= X <= b )

# P(3<= X <= 5) = P(X=3) + P(X=4) + P(X=5) in a Bin(n=9,p=0.6) dist
> sum(dbinom(c(3,4,5),9,0.6))
[1] 0.4923556
> 

테이블의 형태로 이항 분포를 표현함 :

> n = 10; p = 0.4; x = 0:n; 
> prob = dbinom(x,n,p) 
> cdf = pbinom(x,n,p) 
> distTable = cbind(x,prob,cdf)
> distTable
       x         prob         cdf
 [1,]  0 0.0060466176 0.006046618
 [2,]  1 0.0403107840 0.046357402
 [3,]  2 0.1209323520 0.167289754
 [4,]  3 0.2149908480 0.382280602
 [5,]  4 0.2508226560 0.633103258
 [6,]  5 0.2006581248 0.833761382
 [7,]  6 0.1114767360 0.945238118
 [8,]  7 0.0424673280 0.987705446
 [9,]  8 0.0106168320 0.998322278
[10,]  9 0.0015728640 0.999895142
[11,] 10 0.0001048576 1.000000000
> 

rbinom() 은 주어진 매개 변수 값으로 지정된 크기의 무작위 샘플을 생성하는 데 사용됩니다.

# Simulation
> xVal<-names(table(rbinom(1000,8,.5)))
> barplot(as.vector(table(rbinom(1000,8,.5))),names.arg =xVal,
                    main="Simulated Binomial Distribution\n (n=8,p=0.5)")

시뮬레이트 된 이항



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow