So passen sie eine gammaverteilung an einen datensatz in r an
In diesem Tutorial wird erklärt, wie man eine Gammaverteilung an einen Datensatz in R anpasst.
Anpassen einer Gammaverteilung in R
Angenommen, Sie haben einen Datensatz z , der mit dem folgenden Ansatz generiert wurde:
#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
Um zu sehen, wie gut eine Gammaverteilung zu diesem Datensatz z passt, können wir das Paket fitdistrplus in R verwenden:
#install 'fitdistrplus' package if not already installed install. packages ('fitdistrplus') #load package library(fitdistrplus)
Die allgemeine Syntax zur Anpassung einer Distribution mithilfe dieses Pakets lautet:
fitdist(dataset, distr = „Ihre Wahl der Verteilung“, method = „Ihre Methode zur Datenanpassung“)
In diesem Fall passen wir den Z- Datensatz an, den wir zuvor generiert haben, indem wir die Gammaverteilung und den Maximum-Likelihood-Schätzungsansatz verwenden, um die Daten anzupassen:
#fit our dataset to a gamma distribution using mle fit <- fitdist(z, distr = "gamma", method = "male") #view the summary of the fit summary(fit)
Dies führt zu folgendem Ergebnis:
Anschließend können wir mithilfe der folgenden Syntax Diagramme erstellen, die zeigen, wie gut die Gammaverteilung zum Datensatz passt:
#produce plots
plot(fit)
Dadurch ergeben sich folgende Diagramme:
Hier ist der vollständige Code, den wir verwendet haben, um eine Gammaverteilung an einen Datensatz in R anzupassen:
#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)