La détermination de la fonction de masse de probabilité de la variable aléatoire
Si nous avons une variable aléatoire discrète x et les données relatives à celle-ci, X(n), comment dans matlab, on peut déterminer la masse de probabilité de la fonction de cmr(X)?
Qu'est-ce que le "cmr" du jeu de données (mathématiquement)?
en.wikipedia.org/wiki/Probability_mass_function
devrait pmf(X) la fréquence normalisée de la distribution de X? Si oui, ne nous ont aucune fonction dans Matlab pour le calculer?
en.wikipedia.org/wiki/Probability_mass_function
devrait pmf(X) la fréquence normalisée de la distribution de X? Si oui, ne nous ont aucune fonction dans Matlab pour le calculer?
OriginalL'auteur SkypeMeSM | 2010-11-01
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire dans au moins huit façons différentes (certains d'entre eux étaient déjà mentionnées dans les autres solutions).
Dire que nous avons un échantillon d'une variable aléatoire discrète:
Envisager ces solutions équivalentes (notez que je ne présumez de rien à propos de la gamme de valeurs possibles, juste qu'ils sont des entiers):
noter que GRP2IDX a été utilisée pour obtenir les indices commencent à 1 correspondant aux entrées de
pmf
(la correspondance est donnée parlabels
). Le résultat ci-dessus est:OriginalL'auteur Amro
L'extrait suivant de l'MATLAB la documentation montre comment tracer un histogramme. Pour une probabilité discrète de la fonction, la distribution de fréquence pourrait être identique avec l'histogramme.
Calculer la somme de tous les éléments dans chaque bin. Diviser l'ensemble des cellules par la somme pour obtenir votre pdf. Testez vos pdf en additionnant tous les éléments. Le résultat doit être une.
Espère que je suis à droite avec mes états. C'est un long temps depuis ...
OriginalL'auteur zellus
Comment à propos de cette fonction?
Est-ce correct à votre avis?
Une mise en garde... vous avez besoin de la boîte à outils de Statistiques à utiliser les COMPILER.
OriginalL'auteur SkypeMeSM
Peut-être essayer de faire juste une fonction de la poignée de sorte que vous n'avez pas besoin de stocker un autre tableau:
OriginalL'auteur MarkV
Pour ajouter encore une autre option (car il y a un certain nombre de fonctions disponibles pour faire ce que vous voulez), vous pouvez facilement calculer le cmr à l'aide de la fonction ACCUMARRAY si vos valeurs discrètes sont des entiers supérieurs à 0:
Voici un exemple:
pmf = accumarray(X(:),1); pmf = pmf./sum(pmf);
(numériquement plus stable: une division au lieu d'ajouter de multiples fractions)Très vrai. Ce qui permettrait de réduire l'accumulation de potentiel à virgule flottante erreurs. La réponse a été mis à jour.
vous devriez noter que si la plage de valeurs possibles de ne pas commencer à
1
vous obtiendrez beaucoup plus de zéros au début. Essayez d'exécuter le dessus avecX=X+100;
(un appel à GRP2IDX peut résoudre ce problème) va de même pour Le COMPILER solution par @SkypeMeSM..OriginalL'auteur gnovice
Si j'ai bien compris ce que vous devez faire est d'estimer le pdf, sauf qu'il n'est pas continu, mais des valeurs discrètes.
Calculer les occurrences des différents types de valeurs dans X(n) et de diviser par n. Pour illustrer ce que je dis, permettez-moi de donner un exemple. Supposons que vous disposez de 10 observations:
alors votre cmr devrait ressembler à ceci:
edit: c'est en principe un histogramme, comme @zellus a également souligné
OriginalL'auteur posdef