Hi peut également être montré pour obtenir le paramètre de forme et d'échelle pour la méthode modifiée du maximum de vraisemblance
19
Hi peut également être montré pour obtenir le paramètre de forme et d'échelle pour la méthode modifiée du maximum de vraisemblance
fitdistr(mydata, densfun="weibull")
inR
pour rechercher les paramètres via MLE. Pour faire un graphique, utilisez laqqPlot
fonction ducar
package:qqPlot(mydata, distribution="weibull", shape=, scale=)
avec les paramètres de forme et d'échelle que vous avez trouvés avecfitdistr
.R
, qui est disponible gratuitement, vous pouvez installer et charger le packageMASS
et utiliserfitdistr
avec vos données pour calculer les estimations de k et c. Et puis, vous pouvez comparer vos données avec le weibull avec les paramètres estimés à l'aideqqPlot
ducar
package.MASS
etcar
en tapant:install.packages(c("MASS", "car"))
. Chargez les packages en tapant:library(MASS)
etlibrary(car)
. 3. Importez vos données dansR
, de préférence avec un fichier .txt. 4. Si vos données est appelée l'my.data
utilisationfitdistr
de la manière suivante:fitdistr(my.data, distribution="weibull")
. 5. Faites un graphique comme je l'ai décrit dans le premier commentaire avecqqPlot
.Réponses:
Parce que @zaynah a posté dans les commentaires que les données sont censées suivre une distribution de Weibull, je vais fournir un bref tutoriel sur la façon d'estimer les paramètres d'une telle distribution en utilisant MLE (estimation de vraisemblance maximale). Il existe un article similaire sur les vitesses du vent et la distribution de Weibull sur le site.
R
, c'est gratuitMASS
etcar
en tapant:install.packages(c("MASS", "car"))
. Chargez-les en tapant:library(MASS)
etlibrary(car)
.R
. Si vous avez vos données dans Excel, par exemple, enregistrez-les en tant que fichier texte délimité (.txt) et importez-lesR
avecread.table
.fitdistr
pour calculer les estimations du maximum de vraisemblance de votre distribution de Weibull:fitdistr(my.data, densfun="weibull", lower = 0)
. Pour voir un exemple entièrement élaboré, consultez le lien au bas de la réponse.qqPlot(my.data, distribution="weibull", shape=, scale=)
Le tutoriel de Vito Ricci sur l'ajustement de la distribution avec
R
est un bon point de départ en la matière. Et il y a de nombreux articles sur ce site sur le sujet (voir aussi cet article ).Pour voir un exemple entièrement élaboré de la façon d'utiliser
fitdistr
, jetez un œil à cet article .Regardons un exemple dans
R
:Les estimations du maximum de vraisemblance sont proches de celles que nous avons arbitrairement fixées dans la génération des nombres aléatoires. Comparons nos données en utilisant un QQ-Plot avec une distribution de Weibull hypothétique avec les paramètres que nous avons estimés avec
fitdistr
:Les points sont bien alignés sur la ligne et principalement dans l'enveloppe de confiance à 95%. Nous concluons que nos données sont compatibles avec une distribution de Weibull. Cela était attendu, bien sûr, car nous avons échantillonné nos valeurs à partir d'une distribution de Weibull.
Estimation de (forme) et c (échelle) d'une distribution de Weibull sans MLEk c
Cet article énumère cinq méthodes pour estimer les paramètres d'une distribution de Weibull pour les vitesses du vent. Je vais en expliquer trois ici.
Des moyennes et de l'écart type
Les moindres carrés correspondent à la distribution observée
Vitesse du vent médiane et quartile
Comparaison des quatre méthodes
Voici un exemple de
R
comparaison des quatre méthodes:Toutes les méthodes donnent des résultats très similaires. L'approche du maximum de vraisemblance présente l'avantage de donner directement les erreurs standard des paramètres de Weibull.
Utilisation du bootstrap pour ajouter des intervalles de confiance ponctuels au PDF ou au CDF
Nous pouvons utiliser un bootstrap non paramétrique pour construire des intervalles de confiance ponctuels autour du PDF et du CDF de la distribution de Weibull estimée. Voici un
R
script:la source
distribution=weibull
from the car package, qui s'adaptera aux paramètres via MLE et fera le qq-plot en 1 étape.car
calcule automatiquement les paramètres MLE. Si je génère une variable aléatoire avec une distribution weibull (rweibull
) et utilise la commande,qqPlot(rw, distribution="weibull")
j'obtiens un message d'erreur disant que doit fournir les paramètresshape
etscale
àqqPlot
. Suis-je en train de manquer quelque chose?