Jak używać fitdistr() w r, aby dopasować rozkłady


Możesz użyć funkcji fitdistr() z pakietu MASS w R, aby oszacować parametry rozkładu poprzez maksymalizację funkcji wiarygodności.

Ta funkcja wykorzystuje następującą podstawową składnię:

fitdistr(x, gęsta zabawa, …)

Złoto:

  • x : Wektor liczbowy reprezentujący wartości rozkładu
  • gęsty : rozkład, dla którego mają zostać oszacowane parametry

Należy zauważyć, że argument gęstej zabawy akceptuje następujące nazwy potencjalnych rozkładów: beta , Cauchy’ego , chi-kwadrat , wykładniczy , gamma , geometryczny , lognormalny , logistyczny , dwumian ujemny , normalny , Poissona , t i Weibulla .

Poniższy przykład pokazuje, jak w praktyce wykorzystać funkcję fitdistr() .

Przykład: Jak użyć funkcji fitdistr() do dopasowania rozkładów w R

Załóżmy, że używamy funkcji rnorm() w R do wygenerowania wektora 200 wartości o rozkładzie normalnym:

 #make this example reproducible
set. seeds (1)

#generate sample of 200 observations that follows normal dist with mean=10 and sd=3
data <- rnorm(200, mean=10, sd=3)

#view first 6 observations in sample
head(data)

[1] 8.120639 10.550930 7.493114 14.785842 10.988523 7.538595

Możemy użyć funkcji hist() do utworzenia histogramu w celu wizualizacji rozkładu wartości danych:

 hist(data, col=' steelblue ')

Wygeneruj rozkład normalny w R

Widzimy, że dane rzeczywiście mają rozkład normalny.

Możemy następnie użyć funkcji fitdistr() do oszacowania parametrów tego rozkładu:

 library (MASS)

#estimate parameters of distribution
fitdistr(data, “ normal ”)

      mean sd    
  10.1066189 2.7803148 
 (0.1965979) (0.1390157)

Funkcja fitdistr() szacuje, że wektor wartości ma rozkład normalny ze średnią 10,1066189 i odchyleniem standardowym 2,7803148 .

Wartości te nie powinny dziwić, ponieważ dane wygenerowaliśmy za pomocą funkcji rnorm() ze średnią wartością 10 i odchyleniem standardowym 3.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak wykreślić rozkład normalny w R
Jak wygenerować rozkład normalny w R
Jak wykonać test Shapiro-Wilka na normalność w R

Dodaj komentarz

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