Jak dopasować rozkład gamma do zbioru danych w r


W tym samouczku wyjaśniono, jak dopasować rozkład gamma do zbioru danych w języku R.

Dopasowanie rozkładu gamma w R

Załóżmy, że masz zbiór danych z wygenerowany przy użyciu poniższego podejścia:

 #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

Aby zobaczyć, jak dobrze rozkład gamma pasuje do tego zbioru danych z , możemy użyć pakietu fitdistrplus w R:

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

#load package
library(fitdistrplus)

Ogólna składnia używana do dostosowywania dystrybucji przy użyciu tego pakietu jest następująca:

fitdist(dataset, distr = „twój wybór dystrybucji”, method = „twoja metoda dopasowywania danych”)

W tym przypadku dopasujemy zbiór danych z , który wygenerowaliśmy wcześniej, stosując metodę szacowania rozkładu gamma i największej wiarygodności, aby dopasować dane:

 #fit our dataset to a gamma distribution using mle
fit <- fitdist(z, distr = "gamma", method = "male")

#view the summary of the fit
summary(fit)

Daje to następujący wynik:

Następnie możemy utworzyć wykresy pokazujące, jak dobrze rozkład gamma pasuje do zbioru danych, używając następującej składni:

 #produce plots
plot(fit)

W wyniku tego powstają następujące wykresy:

Oto kompletny kod, którego użyliśmy do dopasowania rozkładu gamma do zbioru danych w 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)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *