Email : brigita.melantika@student.matanauniversity.ac.id
RPubs : https://rpubs.com/brigitatiaraem/
Jurusan : Statistika
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
Probabilitas adalah besarnya kesempatan (kemungkinan) suatu peristiwa akan terjadi. Berdasarkan pengertian probabilitas tersebut, terdapat hal-hal yang penting yaitu besarnya kesempatan dan peristiwa akan terjadi. Besarnya Kesempatan dari suatu peristiwa akan terjadi adalah antara 0 sampai dengan 1. Jika suatu peristiwa memiliki kesempatan akan terjadi 0, maka peristiwa tersebut pasti idak akan terjadi. Jika suatu peristiwa memiliki kesempatan akan terjadi 1, maka peristiwa tersebut pasti akan terjadi.
Distribusi Binomial adalah suatu distribusi probabilitas yang dapat digunakan bilamana suatu proses sampling dapat diasumsikan sesuai dengan proses Bernoulli.
keterangan : B : probabilitas binomial (nx): rumus distribusi binomial menggunakan faktorial n!/x!(n–x)!
x: jumlah total “berhasil” (lulus atau gagal, kepala atau ekor dll.)
P: probabilitas sukses pada percobaan individu
n: jumlah percobaan
Berapa peluang munculnya 2 kepala dalam 10 pelemparan koin dimana peluang munculnya kepala adalah 0,3?
dbinom(x = 2, size = 10, prob = 0.3) # akurat## [1] 0.2334744
mean(rbinom(n=10000,size=10,prob=0.3)==2) ## [1] 0.2358
Berikut ini adalah contoh visualisasi.
library(dplyr)
library(ggplot2)
library(scales)
data.frame(heads = 0:10, prob = dbinom(x = 0:10, size = 10, prob = 0.3)) %>%
mutate(Heads = ifelse(heads == 2, "2", "other")) %>%
ggplot(aes(x = factor(heads), y = prob, fill = Heads)) +
theme_minimal()+
geom_col() +
geom_text(
aes(label = round(prob,2), y = prob + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0) +
labs(title = "Probability of X = 2 successes",
subtitle = "b(10, .3)",
x = "Successes (x)",
y = "probability") Berapa probabilitas <=5 kepala dalam 10 pelemparan koin di mana probabilitas kepala adalah 0,3?
Untuk menemukan probabilitas <=5 kepala dengan upaya acak dalam 10 pelemparan koin di mana probabilitas kepala adalah 0,3, kami menerapkan fungsi dbinomdengan x=0,⋯,5.
dbinom(0, size=10, prob=0.3) +
dbinom(1, size=10, prob=0.3) +
dbinom(2, size=10, prob=0.3) +
dbinom(3, size=10, prob=0.3) +
dbinom(4, size=10, prob=0.3) +
dbinom(5, size=10, prob=0.3) # hitungan manual dengan distribusi binomial## [1] 0.952651
pbinom(5, size=10, prob=0.3) # cara alternatf dari distribusi binomial ## [1] 0.952651
pbinom(q=5,size=10,p=0.3,lower.tail=TRUE) # cara alternatf dari distribusi binomial ## [1] 0.952651
mean(rbinom(n=10000,size=10,prob=0.3)<= 5) ## [1] 0.9492
Berikut ini adalah contoh visualisasi.
library(dplyr)
library(ggplot2)
data.frame(heads = 0:10,
pmf = dbinom(x = 0:10, size = 10, prob = 0.3),
cdf = pbinom(q = 0:10, size = 10, prob = 0.3,
lower.tail = TRUE)) %>%
mutate(Heads = ifelse(heads <= 5, "<=5", "other")) %>%
ggplot(aes(x = factor(heads), y = cdf, fill = Heads)) +
geom_col() +
theme_minimal()+
geom_text(
aes(label = round(cdf,2), y = cdf + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0) +
labs(title = "Probability of X <= 5 successes",
subtitle = "b(10, .3)",
x = "Successes (x)",
y = "probability") Berapa peluang >=5 kepala dalam 10 pelemparan koin dimana peluang munculnya kepala adalah 0,3?
library(dplyr)
library(ggplot2)
data.frame(heads = 0:10,
pmf = dbinom(x = 0:10, size = 10, prob = 0.3),
cdf = pbinom(q = -1:9, size = 10, prob = 0.3,
lower.tail = FALSE)) %>%
mutate(Heads = ifelse(heads >= 5, ">=5", "other")) %>%
ggplot(aes(x = factor(heads), y = cdf, fill = Heads)) +
geom_col() +
theme_minimal()+
geom_text(
aes(label = round(cdf,2), y = cdf + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0) +
labs(title = "Probability of X >= 5 successes",
subtitle = "b(10, .3)",
x = "Successes (x)",
y = "probability") Berapa jumlah kepala yang diharapkan dalam 25 pelemparan koin di mana peluang munculnya kepala adalah 0,3?
25 * 0.3 # ejumlah kepala yang diharapkan dalam 25 lemparan koin## [1] 7.5
mean(rbinom(n = 10000, size = 25, prob = .3)) # jumlah kepala yang diharapkan dalam 25 lemparan koin## [1] 7.5006
25 * 0.3 * (1 - 0.3) # var## [1] 5.25
var(rbinom(n = 10000, size = 25, prob = .3)) # var## [1] 5.210468
library(dplyr)
library(ggplot2)
data.frame(heads = 0:25,
pmf = dbinom(x = 0:25, size = 25, prob = 0.3)) %>%
mutate(Heads = ifelse(heads == 7, "7", "other"))%>%
ggplot(aes(x = factor(heads), y = pmf, fill = Heads)) +
geom_col() +
theme_minimal()+
geom_text(
aes(label = round(pmf,2), y = pmf + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0) +
labs(title = "Probability of X = x successes.",
subtitle = "b(25, .3)",
x = "Successes (x)",
y = "probability") Misalkan ada dua puluh pertanyaan pilihan ganda dalam kuis kelas Statistik. Setiap pertanyaan memiliki lima kemungkinan jawaban, dan hanya satu yang benar. Temukan probabilitas memiliki empat atau kurang jawaban yang benar jika seorang siswa mencoba menjawab setiap pertanyaan secara acak.
dbinom(4, size = 20, prob = 0.2)## [1] 0.2181994
dbinom(0, size=20, prob=0.2) +
+ dbinom(1, size=20, prob=0.2) +
+ dbinom(2, size=20, prob=0.2) +
+ dbinom(3, size=20, prob=0.2) +
+ dbinom(4, size=20, prob=0.2) ## [1] 0.6296483
pbinom(4, size=20, prob=0.2)## [1] 0.6296483
pbinom(q=4, size=20, p=0.2, lower.tail=TRUE)## [1] 0.6296483
mean(rbinom(n=1000, size=20, prob=0.2)<=4)## [1] 0.629
library(dplyr)
library(ggplot2)
data.frame(heads = 0:10,
pmf = dbinom(x = 0:10, size = 20, prob = 0.2),
cdf = pbinom(q = 0:10, size = 20, prob = 0.2,
lower.tail = TRUE)) %>%
mutate(Heads = ifelse(heads <= 4, "<=4", "other")) %>%
ggplot(aes(x = factor(heads), y = cdf, fill = Heads)) +
geom_col() +
theme_minimal()+
geom_text(
aes(label = round(cdf,2), y = cdf + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0) +
labs(title = "Probability of X <= 4 successes",
subtitle = "b(20, .2)",
x = "Successes (x)",
y = "probability") Distribusi Poisson termasuk distribusi teoritis yang memakai variabel random diskrit. Distribusi poisson adalah distribusi peluang random poisson X, yang menyatakan banyaknya sukses yang terjadi dalam suatu selang waktu atu daerah tertentu.
Distribusi poisson adalah pengembangan dari distribusi binomial yang mampu mengkakulasikan distribusi probabilitas dengan kemungkinan sukses (p) sangat kecil dan jumlah eksperimen (n) sangat besar (misal 100 atau lebih).
Dimana :
λ = rata-rata distribusi (Lambda)
X = 0, 1, 2, 3, … (menuju tak hingga)
e = konstanta 2,71828
Berapa peluang menghasilkan 2 sampai 4 penjualan dalam seminggu jika tingkat penjualan rata-rata adalah 3 per minggu?
library(ggplot2)
library(dplyr)
# Using cumulative probability
ppois(q = 4, lambda = 3, lower.tail = TRUE) -
ppois(q = 1, lambda = 3, lower.tail = TRUE)## [1] 0.616115
# Menggunakan probabilitas yang tepat
dpois(x = 2, lambda = 3) +
dpois(x = 3, lambda = 3) +
dpois(x = 4, lambda = 4)## [1] 0.6434504
# var dengan lambda = 3
options(scipen = 999, digits = 2) # sig digits
events <- 0:10
density <- dpois(x = events, lambda = 3)
prob <- ppois(q = events, lambda = 3, lower.tail = TRUE)
df <- data.frame(events, density, prob)
ggplot(df, aes(x = factor(events), y = density)) +
theme_minimal()+
geom_col() +
geom_text(
aes(label = round(density,2), y = density + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0) +
labs(title = "PMF and CDF of Poisson Distribution",
subtitle = "P(3).",
x = "Events (x)",
y = "Density") +
geom_line(data = df, aes(x = events, y = prob))Misalkan seorang pemain bisbol memiliki p=.300 rata-rata pukulan. Berapakah peluang dari X≤ memukul masuk n=500 di kelelawar? X=150? X>150?
library(ggplot2)
library(dplyr)
ppois(q=150,lambda=.300*500,lower.tail=TRUE) # probability of x <= 150## [1] 0.52
dpois(x=150,lambda=.300*500) # probability of x = 150## [1] 0.033
ppois(q=150,lambda=.300*500,lower.tail=FALSE) # probability of x > 150## [1] 0.48
options(scipen = 999, digits = 2) # sig digits
hits <- 0:100 * 3
density <- dpois(x = hits, lambda = .300 * 500)
prob <- ppois(q = hits, lambda = .300 * 500, lower.tail = TRUE)
df <- data.frame(hits, density, prob)
ggplot(df, aes(x = hits, y = density)) +
geom_col() +
theme_minimal()+
labs(title = "Poisson(150)",
subtitle = "PMF and CDF of Poisson(3) distribution.",
x = "Hits (x)",
y = "Density") +
geom_line(data = df, aes(x = hits, y = prob))Apa distribusi keberhasilan dari sampel? n=50 bila peluang berhasil adalah p=.03 ?
library(ggplot2)
library(dplyr)
library(tidyr)
options(scipen = 999, digits = 2) # sig digits
n = 0:10
df <- data.frame(events = 0:10,
Poisson = dpois(x = n, lambda = .03 * 50),
Binomial = dbinom(x = n, size = 50, p = .03))
df_tidy <- gather(df, key = "Distribution", value = "density", -c(events))
ggplot(df_tidy, aes(x = factor(events), y = density, fill = Distribution)) +
geom_col(position = "dodge") +
theme_minimal()+
labs(title = "Poisson(15) and Binomial(50, .03)",
subtitle = "Poisson approximates binomial when n >= 20 and p <= .05.",
x = "Events (x)",
y = "Density")Jika rata-rata dua puluh mobil melintasi jembatan per menit, visualisasikan dan temukan probabilitas memiliki tiga belas atau lebih mobil melintasi jembatan dalam satu menit tertentu.
Mencari lower tail utnuk jumlah prob 12 atau kurang mobil yanng melintasi jembatan per menit.
ppois(12, lambda=20, lower.tail=F)## [1] 0.96
Kemudian mencari upper tail probabilitas memiliki tujuh belas atau lebih mobil melintasi jembatan dalam satu menit.
ppois(12, lambda = 20, lower=FALSE)## [1] 0.96
Jika rata-rata ada dua puluh mobil yang melintasi jembatan per menit, peluang tiga belas atau lebih mobil melintasi jembatan dalam satu menit tertentu adalah 0.86 atau 96%.
Misalkan probabilitas suatu obat menghasilkan efek samping tertentu adalah p = = 0,1% dan n = 1.000 pasien dalam uji klinis menerima obat tersebut. Berapa probabilitas 0 orang mengalami efek samping dengan menggunakan teknik visualisasi?
dpois(x=0 , lambda = 1000*0.001)## [1] 0.37
library(ggplot2)
library(dplyr)
options(scipen = 999, digits = 2) # sig digits
n = 0:10
density = dpois(x=n, lambda = 1000*0.001)
probability = ppois(q = n ,lambda = 1000*0.001, lower.tail = TRUE )
df <- data.frame(n, density, probability)
ggplot(df, aes(x = n, y = density)) +
geom_col() +
geom_text(
aes(label = round(density,2), y = density + 0.01),
position = position_dodge(0.9),
size = 3,
vjust = 0
)+
labs(title = "Poisson(1)",
subtitle = "PMF dan CDF of Poisson(1) distribution.",
x = "Events (x)",
y = "Density")+
geom_line (data=df, aes(x=n, y= probability))(Continuous Uniform Distribution) Distribusi seragam bahwa probabilitas untuk semua hasil adalah sama. Pada setiap variabel memiliki probabilitas yang sama terhadap hasil. Selain itu, distribusi probabilitas pemilihan nomor acak dari interval kontinu antara a dan b. Fungsi densitasnya didefinisikan sebagai berikut
rand.unif <- runif(100, min=-3, max=5) # sepuluh angka acak antara minus satu dan lima
hist(rand.unif, col = "cornflowerblue", # plot hasilnya sebagai histogram
freq = FALSE,
xlab = 'x',
density = 20)Kemudian plot keduanya, histogram densitas dari atas serta distribusi probabilitas seragam untuk interval [-3,5], dengan menerapkan dunif() fungsi.
a <- -3
b <- 5
hist(rand.unif,
freq = FALSE,
col = "azure4",
xlab = 'x',
ylim = c(0, 0.2),
xlim = c(-4,6),
density = 20,
main = "Uniform distribution for the interval [-3,5]")
curve(dunif(x, min = a, max = b),
from = -4, to = 6,
n = 100000,
col = "darkblue",
lwd = 2,
add = TRUE)Apa itu nilai x sesuai dengan nilai yang membagi distribusi seragam yang diberikan menjadi dua bagian yang sama, atau ditulis lebih formal
qunif(0.5, min=a, max=b) # menghasilkan nilai seragam dist menjadi dua bagian yang sama## [1] 1
punif(1, min= a, max = b, lower.tail = FALSE) # pengukuran menghasilkan nilai `>=1`## [1] 0.5
Distribusi Eksponensial ini merupakan setengah dari normal distribution yang dapat dilihat pada kurva baik ke arah kanan maupun kiri.
Distribusi eksponensial menggambarkan waktu kedatangan dari urutan peristiwa independen yang berulang secara acak. Jika m adalah waktu tunggu rata-rata untuk pengulangan peristiwa berikutnya, fungsi kepadatan probabilitasnya adalah:
Sampel acak diambil dari distribusi eksponensial yang dihasilkan rexp(n)dengan menggunakan ukuran sampel (n).
set.seed(1) # untuk menghasilkan hasil angka acak yang sama
rexp(10) # nomor acak dengan 10 ukuran sampel## [1] 0.76 1.18 0.15 0.14 0.44 2.89 1.23 0.54 0.96 0.15
par(mfrow=c(2,2)) # partisi grafik dengan 2x2 baris dan kolom
hist(rexp(10),col = "azure1") # plot histogram dengan 10 ukuran sampel
hist(rexp(100),col = "azure2") # plot histogram dengan 100 ukuran sampel
hist(rexp(1000),col = "azure3") # plot histogram dengan 1000 ukuran sampel
hist(rexp(10000),col = "azure4") # plot histogram dengan 10000 ukuran sampelMari, Kami ingin menghasilkan distribusi rata-rata dari 40 eksponensial acak dengan 10.000 simulasi dengan lambda (parameter laju) = 0,2.
library(ggplot2)
set.seed(1) # to generate the same random number results
mns=NULL
for (i in 1 : 10000) mns = c(mns, mean(rexp(40,0.2)))
Exp <- data.frame(mns,size=40)
ggplot(Exp,aes(x=mns,fill=size))+
geom_histogram(aes(y=..density..),binwidth=.25,col="black") +
ylim(c(0,0.6))+
stat_function(fun=dnorm,arg=list(mean=5,sd=sd(mns)))+
theme_minimal()+
geom_vline(aes(xintercept=mean(mns),colour="red"))+
geom_text(aes(x=mean(mns),
label="\n sample mean",
y=0.2),colour="black",
angle=90, text = element_text(size=11))+
xlab("Averages of the distribution") + ylab("Frequency")+
ggtitle("Distribution of the averages of \n 40 random exponentials (10000 simulations)")Mengilustrasikan Teorema Batas Pusat - menyatakan bahwa distribusi rata-rata variabel independen dan terdistribusi identik (IID) menghasilkan setengah dari normal standar seiring dengan bertambahnya ukuran sampel.
Misalkan waktu checkout rata-rata kasir supermarket adalah tiga menit. Temukan probabilitas checkout pelanggan diselesaikan oleh kasir dalam waktu kurang dari dua menit.
pexp(2,rate=1/3)## [1] 0.49
Distribusi normal merupakan distribusi yang secara luas banyak digunakan dalam berbagai penerapan. Distribusi normal merupakan distribusi kontinu yang mensyaratkan variabel yang diukur harus kontinu misalnya tinggi badan, berat badan, dan sebagainya.
di mana \(μ\) adalah mean populasi dan \(σ^2\) adalah varians.
Variabel acak X mengikuti distribusi normal adalah sebagai berikut.
Mari kita ambil sampel dari distribusi normal dengan \(\bar{Y}=100\) dan \(σ=5\):
mydata <- rnorm(n=10000, mean=100, sd=5)
mean(mydata)## [1] 100
sd(mydata)## [1] 5
# Buat histogram sampel Anda
hist(mydata, main ="",
col = "blue",
xlim = c(80, 120),
freq = FALSE,
xlab = "")
# tambahkan kurva kepadatan
curve(dnorm(x,
mean=mean(mydata),
sd=sd(mydata)), add=TRUE,
col="black", lwd=3)Khususnya, distribusi normal dengan \(μ=0\) dan \(σ=1\) disebut distribusi normal standar, dan dilambangkan sebagai N(0,1).
Dapat digambarkan sebagai berikut. Distribusi normal penting karena Teorema Limit Pusat, yang menyatakan bahwa populasi dari semua sampel yang mungkin berukuran n dari suatu populasi dengan mean \(μ\) dan varians \(σ^2\) mendekati distribusi normal dengan mean μ dan \(σ^2/n\) ketika n mendekati tak terhingga.
#install.packages("visualize")library(visualize) # visualisasi distribusi
par(mfrow=c(2,2)) # grafik partisi dengan 2x2 baris dan kolom
visualize.norm(stat=1,mu=4,sd=5,section="lower") # mengevaluasi ekor bawah
visualize.norm(stat=c(3,6),mu=5,sd=3,section="bounded")# mengevaluasi daerah yang dibatasi
visualize.norm(stat=1,mu=3,sd=2,section="upper") # mengevaluasi ekor atasAsumsikan bahwa nilai ujian dari ujian masuk perguruan tinggi sesuai dengan distribusi normal. Selanjutnya, nilai rata-rata tes adalah 75, dan standar deviasi adalah 14,2. Berapa persentase siswa yang mendapat nilai 86 atau lebih dalam ujian?
Kami menerapkan fungsi pnorm distribusi normal dengan mean 75 dan standar deviasi 14.2. Karena kami mencari persentase siswa yang mendapat nilai lebih tinggi dari 86, kami tertarik pada bagian atas dari distribusi normal.
pnorm(86, mean=75, sd=14.2, lower.tail=FALSE) ## [1] 0.22
Persentase siswa yang mendapat nilai 84 atau lebih dalam ujian masuk perguruan tinggi adalah 21,9%
Distribusi Chi-Square ini dapat digunakan untuk analisis non parametrik.
https://pelatihan-ui.com/uji-chi-square-dengan-spps/
Jika \(X_1,X_2,⋯,X_m\) adalah \(m\) variabel acak bebas yang berdistribusi normal standar, maka besaran berikut mengikuti distribusi Chi-Squared dengan m derajat kebebasan. Maksudnya adalah \(m\), dan variannya adalah \(2m\).
library(visualize) # visualisasi distribusi
par(mfrow=c(2,2)) # grafik partisi dengan 2x2 baris dan kolom
visualize.chisq(stat=1,df=3,section="lower") # mengevaluasi ekor bawah
visualize.chisq(stat=c(1,3),df=6,section="bounded") # mengevaluasi daerah yang dibatasi
visualize.chisq(stat=1,df=3,section="upper") # mengevaluasi batas atasTemukan persentil ke-95 dari distribusi Chi-Squared dengan 6 derajat kebebasan.
Kami menerapkan fungsi kuantil qchisq dari distribusi Chi-Squared terhadap nilai desimal 0,95.
qchisq(.95, df=6) # 6 derajat kebebasan## [1] 13
Persentil ke-95 dari distribusi Chi-Squared dengan 6 derajat kebebasan adalah 12.59159.
Distribusi ini sering digunakan dalam analisis parameter. Biasanya untuk menganalisis beberapa faktor yang mempengaruhi yaitu X atau Independen. Pada ANOVA ini uji T lebih berpusat pada mean.
htpps://tambahpinter.com/uji-f-uji-t/
Asumsikan bahwa variabel acak \(Z\) memiliki distribusi normal standar, dan variabel acak lainnya \(V\) memiliki distribusi Chi-Squared dengan \(m\) derajat kebebasan. Asumsikan lebih lanjut bahwa \(Z\) dan \(V\) bebas, maka besaran berikut mengikuti Student \(t\) distribusi dengan \(m\) derajat kebebasan.
library(visualize) # visualisasi distribusi
par(mfrow=c(2,2)) # grafik partisi dengan 2x2 baris dan kolom
visualize.t(stat=1,df=4,section="lower") # mengevaluasi batas bawah
visualize.t(stat=c(3,5),df=6,section="bounded") # mengevaluasi daerah yang dibatasi
visualize.t(stat=1,df=4,section="upper") # mengevaluasi batas atasTentukan persentil ke-2,5 dan ke-97,5 dari Siswa t distribusi dengan 5 derajat kebebasan.
Kami menerapkan fungsi kuantil qt dari Student t distribusi terhadap nilai desimal 0,025 dan 0,975.
qt(c(.025, .975), df=5) # 5 derajat kebebasan## [1] -2.6 2.6
Persentil ke-2,5 dan 97,5 dari Siswa t distribusi dengan 5 derajat kebebasan berturut-turut adalah -2,5706 dan 2,5706.
Distribusi ini sering digunakan dalam analisis parameter. Biasanya untuk menganalisis beberapa faktor yang mempengaruhi yaitu X atau Independen. Pada ANOVA ini uji F lebih berpusat pada Variance.
Jika \(V_1\) dan \(V_2\) adalah dua variabel acak independen yang memiliki distribusi Chi-Squared dengan \(m_1\) dan \(m_2\) derajat kebebasan masing-masing, maka kuantitas berikut mengikuti an F distribusi dengan \(m_1\) derajat kebebasan pembilang dan \(m_2\) derajat kebebasan penyebut, yaitu, \((m_1,m_2\)) derajat kebebasan.
library(visualize) # distribution visualization
par(mfrow=c(2,2)) # partition graph by 2x2 rows and column
visualize.f(stat=1,df1=5,df2=4,section="lower") # evaluates lower tail## Warning: df2 < 4, variance is not able to be generated.
visualize.f(stat=c(3,5),df1=6,df2=3,section="bounded") # evaluates bounded region## Warning: df2 < 4, variance is not able to be generated.
visualize.f(stat=1,df1=5,df2=4,section="upper") # evaluates upper tail## Warning: df2 < 4, variance is not able to be generated.
Temukan persentil ke-95 dari distribusi F dengan (5, 2) derajat kebebasan.
Dengan menerapkan fungsi kuantil qf dari F distribusi terhadap nilai desimal 0,95.
qf(.95, df1=5, df2=2) ## [1] 19
Persentil ke-95 dari F distribusi dengan (5, 2) derajat kebebasan adalah 19,296.