Comment utiliser fitdistr() dans R pour ajuster les distributions
Vous pouvez utiliser la fonction fitdistr() du package MASS dans R pour estimer les paramètres d’une distribution en maximisant la fonction de vraisemblance.
Cette fonction utilise la syntaxe de base suivante :
fitdistr(x, densefun, …)
où:
- x : Un vecteur numérique représentant les valeurs de la distribution
- densefun : la distribution pour estimer les paramètres pour
Notez que l’argument densefun accepte les noms de distribution potentiels suivants : bêta , cauchy , chi carré , exponentiel , gamma , géométrique , lognormal , logistique , binôme négatif , normal , Poisson , t et Weibull .
L’exemple suivant montre comment utiliser la fonction fitdistr() dans la pratique.
Exemple : comment utiliser la fonction fitdistr() pour ajuster les distributions dans R
Supposons que nous utilisions la fonction rnorm() dans R pour générer un vecteur de 200 valeurs qui suivent une distribution normale :
#make this example reproducible set.seed(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
Nous pouvons utiliser la fonction hist() pour créer un histogramme afin de visualiser la distribution des valeurs des données :
hist(data, col='steelblue')
Nous pouvons voir que les données semblent effectivement distribuées normalement.
On peut alors utiliser la fonction fitdistr() pour estimer les paramètres de cette distribution :
library(MASS)
#estimate parameters of distribution
fitdistr(data, "normal")
mean sd
10.1066189 2.7803148
( 0.1965979) ( 0.1390157)
La fonction fitdistr() estime que le vecteur de valeurs suit une distribution normale avec une moyenne de 10,1066189 et un écart type de 2,7803148 .
Ces valeurs ne devraient pas être surprenantes puisque nous avons généré les données à l’aide de la fonction rnorm() avec une valeur moyenne de 10 et un écart type de 3.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment tracer une distribution normale dans R
Comment générer une distribution normale dans R
Comment effectuer un test de Shapiro-Wilk pour la normalité dans R