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 ')
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