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)

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert