Come utilizzare fitdistr() in r per adattare le distribuzioni
È possibile utilizzare la funzione fitdistr() del pacchetto MASS in R per stimare i parametri di una distribuzione massimizzando la funzione di verosimiglianza.
Questa funzione utilizza la seguente sintassi di base:
fitdistr(x, densefun, …)
Oro:
- x : Un vettore numerico che rappresenta i valori della distribuzione
- densefun : la distribuzione per la quale stimare i parametri
Tieni presente che l’argomento densefun accetta i seguenti nomi di distribuzione potenziale: beta , cauchy , chi quadrato , esponenziale , gamma , geometrica , lognormale , logistica , binomiale negativa , normale , Poisson , t e Weibull .
L’esempio seguente mostra come utilizzare nella pratica la funzione fitdistr() .
Esempio: come utilizzare la funzione fitdistr() per adattare le distribuzioni in R
Supponiamo di utilizzare la funzione rnorm() in R per generare un vettore di 200 valori che segue una distribuzione normale:
#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
Possiamo usare la funzione hist() per creare un istogramma per visualizzare la distribuzione dei valori dei dati:
hist(data, col=' steelblue ')
Possiamo vedere che i dati appaiono effettivamente distribuiti normalmente.
Possiamo quindi utilizzare la funzione fitdistr() per stimare i parametri di questa distribuzione:
library (MASS)
#estimate parameters of distribution
fitdistr(data, “ normal ”)
mean sd
10.1066189 2.7803148
(0.1965979) (0.1390157)
La funzione fitdistr() stima che il vettore dei valori segua una distribuzione normale con una media di 10.1066189 e una deviazione standard di 2.7803148 .
Questi valori non dovrebbero sorprendere poiché abbiamo generato i dati utilizzando la funzione rnorm() con un valore medio di 10 e una deviazione standard di 3.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come tracciare una distribuzione normale in R
Come generare una distribuzione normale in R
Come eseguire un test di Shapiro-Wilk per la normalità in R