วิธีปรับการกระจายแกมมาให้เข้ากับชุดข้อมูลใน r


บทช่วยสอนนี้จะอธิบายวิธีปรับ การกระจายแกมมา ให้เข้ากับชุดข้อมูลใน R

ติดตั้งการกระจายแกมมาใน R

สมมติว่าคุณมีชุดข้อมูล z ที่สร้างขึ้นโดยใช้วิธีการด้านล่าง:

 #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

หากต้องการดูว่าการแจกแจงแกมมาเหมาะสมกับชุดข้อมูลนี้ได้ดีเพียง ใด เราสามารถใช้แพ็คเกจ fitdistrplus ใน R:

 #install 'fitdistrplus' package if not already installed
install. packages ('fitdistrplus')

#load package
library(fitdistrplus)

ไวยากรณ์ทั่วไปที่จะใช้เพื่อปรับการแจกแจงโดยใช้แพ็คเกจนี้คือ:

fitdist(ชุดข้อมูล, distr = “ตัวเลือกการกระจายของคุณ”, method = “วิธีการปรับข้อมูลของคุณ”)

ในกรณีนี้ เราจะปรับชุดข้อมูล z ที่เราสร้างไว้ก่อนหน้านี้ให้พอดีโดยใช้การแจกแจงแกมมาและวิธีการประมาณค่าความน่าจะเป็นสูงสุดเพื่อให้พอดีกับข้อมูล:

 #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
plot(fit)

สิ่งนี้สร้างแปลงต่อไปนี้:

นี่คือโค้ดทั้งหมดที่เราใช้เพื่อให้พอดีกับการแจกแจงแกมม่าให้กับชุดข้อมูลใน 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)

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *