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)