Différentes méthodes non paramétriques pour estimer la distribution de probabilité des données

10

J'ai quelques données et j'essayais de lui ajuster une courbe lisse. Cependant, je ne veux pas imposer trop de croyances antérieures ou des pré-conceptions trop fortes (à l'exception de celles impliquées par le reste de ma question), ni aucune distribution spécifique.

Je voulais juste l'adapter à une courbe lisse (ou avoir une bonne estimation de la distribution de probabilité dont il pourrait provenir). La seule méthode que je connaisse pour ce faire est l'estimation de la densité du noyau (KDE). Je me demandais si les gens connaissaient d'autres méthodes pour estimer une telle chose. Je voulais juste une liste d'entre eux et à partir de là, je peux faire mes propres recherches pour savoir lesquelles je veux utiliser.

Donner des liens ou de bonnes références (ou des intuitions sur lesquelles ils sont bons) sont toujours les bienvenus (et sont encouragés)!

Pinocchio
la source
3
" Je ne voulais pas imposer de croyances antérieures à ce sujet " - alors vous ne pouvez pas supposer que c'est lisse, ou même continu (ce seraient des croyances antérieures). Dans ce cas, l'ecdf est votre seul recours.
Glen_b -Reinstate Monica
1
Trop fort, je crois que c'est une meilleure façon de formuler ma question. Je voulais dire que je ne veux pas assumer son mot, Bernoulli ou quelque chose qui pourrait être trop restrictif. Je ne sais pas ce qu'ecdf est btw. Si vous avez une bonne suggestion ou une liste de suggestions, n'hésitez pas à la poster.
Pinocchio du
J'ai mis à jour ma question. Est-ce mieux? Plus clair? Soit dit en passant, il n'y a pas de bonne réponse à ma question, seulement de bonnes et moins utiles. :)
Pinocchio
2
ecdf = cdf empirique , désolé. Nous ne pouvons répondre qu'à la question que vous posez, pas à celle que vous vouliez poser, vous devez donc faire attention à être clair lorsque vous exprimez vos hypothèses.
Glen_b -Reinstate Monica
Un histogramme normalisé peut être considéré comme une estimation de la densité
Dason

Réponses:

5

Vous ne spécifiez pas que vous parlez de variables aléatoires continues, mais je suppose, puisque vous mentionnez KDE, que vous avez l'intention de le faire.

Deux autres méthodes pour ajuster les densités lisses:

1) estimation de la densité log-spline. Ici, une courbe spline est ajustée à la densité logarithmique.

Un exemple de papier:

Kooperberg et Stone (1991),
«A study of logspline densité estimation»,
Computational Statistics & Data Analysis , 12 , 327-347

Kooperberg fournit un lien vers un pdf de son article ici , sous "1991".

Si vous utilisez R, il existe un package pour cela. Un exemple d'un ajustement généré par celui-ci est ici . Vous trouverez ci-dessous un histogramme des journaux de l'ensemble de données et des reproductions des estimations de la courbe du journal et de la densité du noyau à partir de la réponse:

histogramme des données de journal

Estimation de la densité du logspline:

tracé de la ligne de logarithme

Estimation de la densité du noyau:

estimation de la densité du noyau

2) Modèles à mélange fini . Ici, une famille de distributions commode est choisie (dans de nombreux cas, la normale), et la densité est supposée être un mélange de plusieurs membres différents de cette famille. Notez que les estimations de densité de noyau peuvent être considérées comme un tel mélange (avec un noyau gaussien, elles sont un mélange de Gaussiennes).

Plus généralement, ceux-ci peuvent être ajustés via ML, ou l'algorithme EM, ou dans certains cas via l'appariement des moments, bien que dans des circonstances particulières, d'autres approches puissent être envisageables.

(Il existe une pléthore de packages R qui font diverses formes de modélisation de mélange.)

Ajouté en édition:

3) Histogrammes décalés moyens
(qui ne sont pas littéralement lisses, mais peut-être assez lisses pour vos critères non déclarés):

Imaginez que vous calculez une séquence d'histogrammes à une certaine largeur de binaire fixe ( ), à travers une origine de binaire qui se décale de pour un entier chaque fois, puis en moyenne. Cela ressemble à première vue à un histogramme fait à la largeur de bande , mais est beaucoup plus fluide.b / k k b / kbb/kkb/k

Par exemple, calculez 4 histogrammes chacun à la largeur de bande 1, mais décalés de + 0, + 0,25, + 0,5, + 0,75, puis faites la moyenne des hauteurs à tout donné . Vous vous retrouvez avec quelque chose comme ça:x

Histogramme décalé moyen

Diagramme tiré de cette réponse . Comme je l'ai dit, si vous allez à ce niveau d'effort, vous feriez aussi bien d'estimer la densité du noyau.

Glen_b -Reinstate Monica
la source
Pour ajouter à cela. Pour le modèle de mélange - je suppose que vous pourriez adapter un mélange de 2, puis 3, puis 4 distributions et arrêter après qu'il n'y ait pas d'augmentation significative de la probabilité de log ou quelque
chose
4

Sous réserve des commentaires ci-dessus concernant des hypothèses telles que le lissage, etc. Vous pouvez effectuer une estimation de densité non paramétrique bayésienne en utilisant des modèles de mélange avec le processus de Dirichlet au préalable.

L'image ci-dessous montre les contours de densité de probabilité récupérés à partir de l'estimation MCMC d'un modèle de mélange DP normal bivarié pour les données «anciennes fidèles». Les points sont colorés IIRC selon le clustering obtenu lors de la dernière étape MCMC.

entrez la description de l'image ici

Teh 2010 fournit un bon contexte.

conjectures
la source
1

La forêt aléatoire est un choix populaire (voir concrètement le chapitre cinq de « Forêts de décision: un cadre unifié pour la classification, la régression, l'estimation de la densité, l'apprentissage multiple et l'apprentissage semi-supervisé »).

Il décrit en détail l'algorithme et l'évalue par rapport à d'autres choix populaires comme k-means, GMM et KDE. Random Forest est implémenté dans R et scikit-learn.

Les forêts aléatoires sont des arbres de décision ensachés de manière intelligente.

jpmuc
la source