Pada post kali ini, kita akan menyajikan distribusi probabilitas yang paling penting (Gaussian, Eksponensial, Seragam, Bernoulli, Binomial, Poisson). Kita juga akan menentukan bagaimana "menyesuaikan" distribusi, bagaimana menemukan distribusi yang paling cocok dengan kumpulan data yang diberikan, bagaimana menemukan parameter yang paling mungkin.
Distribusi Probabilitas Diskrit
Distribusi probabilitas diskrit yang paling penting adalah distribusi Bernoulli, Binomial dan Poisson.
Distribusi Bernoulli
Melempar koin setara dengan memeriksa variabel acak mengikuti distribusi Bernoulli dari parameter 0,5. Jika koin telah lempar dan "kepala" muncul dengan probabilitas p, itu adalah distribusi Bernoulli dari parameter p.
P( X=1 ) = p P( X=0 ) = 1-p
Dalam hal equiprobability, Anda dapat mensimulasikan eksperimen semacam itu dengan perintah "sample", yang melakukan pengundian seperti itu, dengan atau tanpa penggantian, dari set yang diberikan.
n <- 100 x <- sample(c(-1,1), n, replace=T) plot(x, type='h', main="Bernoulli variables")
n <- 1000 x <- sample(c(-1,1), n, replace=T) plot(cumsum(x), type='l', main="Cumulated sums of Bernoulli variables")
n <- 100 x <- sample(c(-1,1), n, replace=T, prob=c(.2,.8)) plot(x, type='h', main="Bernoulli variables, different probabilities")
n <- 200 x <- sample(c(-1,1), n, replace=T, prob=c(.2,.8)) plot(cumsum(x), type='l', main="Cummulative sums of Bernoulli variables")
n <- 200 x <- runif(n) x <- x>.3 plot(x, type='h', main="Bernoulli variables")
> sample(1:10, 20, replace=T) [1] 1 5 6 4 7 5 3 6 2 9 10 10 8 3 10 7 4 1 1 3
N <- 10000 n <- 20 p <- .5 x <- rep(0,N) for (i in 1:N) { x[i] <- sum(runif(n)<p) } hist(x, col='light blue', main="Simulating a binomial law")
N <- 1000 n <- 10 p <- .5 x <- rbinom(N,n,p) hist(x, xlim = c(min(x), max(x)), probability = TRUE, nclass = max(x) - min(x) + 1, col = 'lightblue', main = 'Binomial distribution, n=10, p=.5') lines(density(x, bw=1), col = 'red', lwd = 3)
N <- 100000 n <- 100 p <- .5 x <- rbinom(N,n,p) hist(x, xlim = c(min(x), max(x)), probability = TRUE, nclass = max(x) - min(x) + 1, col = 'lightblue', main = 'Binomial distribution, n=100, p=.5') lines(density(x,bw=1), col = 'red', lwd = 3)
p <- .9 x <- rbinom(N,n,p) hist(x, xlim = c(min(x), max(x)), probability = TRUE, nclass = max(x) - min(x) + 1, col = 'lightblue', main = 'Binomial distribution, n=100, p=.9') lines(density(x,bw=1), col = 'red', lwd = 3)
N <- 10000 n <- 100 p <- .5 x <- NULL for (i in 1:N) { x <- append(x, sum(sample( c(1,0), n, replace = TRUE, prob = c(p, 1-p) ))) } hist(x, xlim = c(min(x), max(x)), probability = TRUE, nclass = max(x) - min(x) + 1, col = 'lightblue', main = 'Binomial distribution, n=100, p=.5') lines(density(x,bw=1), col = 'red', lwd = 3)
No comments: