Cara menyesuaikan distribusi gamma ke kumpulan data di r
Tutorial ini menjelaskan cara menyesuaikan distribusi gamma ke kumpulan data di R.
Memasang distribusi gamma di R
Misalkan Anda memiliki kumpulan data z yang dihasilkan menggunakan pendekatan di bawah ini:
#generate 50 random values that follow a gamma distribution with shape parameter = 3 #and shape parameter = 10 combined with some gaussian noise z <- rgamma(50, 3, 10) + rnorm(50, 0, .02) #view first 6 values head(z) [1] 0.07730 0.02495 0.12788 0.15011 0.08839 0.09941
Untuk melihat seberapa cocok distribusi gamma dengan kumpulan data ini z , kita dapat menggunakan paket fitdistrplus di R:
#install 'fitdistrplus' package if not already installed install. packages ('fitdistrplus') #load package library(fitdistrplus)
Sintaks umum yang digunakan untuk mengadaptasi distribusi menggunakan paket ini adalah:
fitdist(kumpulan data, distr = “distribusi pilihan Anda”, metode = “metode penyesuaian data Anda”)
Dalam hal ini, kami akan menyesuaikan kumpulan data z yang kami hasilkan sebelumnya menggunakan distribusi gamma dan pendekatan estimasi kemungkinan maksimum agar sesuai dengan data:
#fit our dataset to a gamma distribution using mle fit <- fitdist(z, distr = "gamma", method = "male") #view the summary of the fit summary(fit)
Ini menghasilkan hasil sebagai berikut:
Kemudian kita dapat membuat grafik yang menunjukkan seberapa cocok distribusi gamma dengan kumpulan data menggunakan sintaks berikut:
#produce plots
plot(fit)
Ini menghasilkan plot berikut:
Berikut adalah kode lengkap yang kami gunakan untuk menyesuaikan distribusi gamma ke kumpulan data di R:
#install 'fitdistrplus' package if not already installed install. packages ('fitdistrplus') #load package library(fitdistrplus) #generate 50 random values that follow a gamma distribution with shape parameter = 3 #and shape parameter = 10 combined with some gaussian noise z <- rgamma(50, 3, 10) + rnorm(50, 0, .02) #fit our dataset to a gamma distribution using mle fit <- fitdist(z, distr = "gamma", method = "male") #view the summary of the fit summary(fit) #produce plots to visualize the fit plot(fit)