Il existe de nombreuses règles pour sélectionner une largeur de bac optimale dans un histogramme 1D (voir par exemple )
Je cherche une règle qui applique la sélection de largeurs optimales de bacs égaux sur des histogrammes bidimensionnels .
Existe-t-il une telle règle? Peut-être qu'une des règles bien connues pour les histogrammes 1D peut être facilement adaptée, si oui, pourriez-vous donner quelques détails minimaux sur la façon de le faire?
optimization
histogram
Gabriel
la source
la source
Réponses:
Mon conseil serait généralement qu'il est encore plus critique qu'en 1-D de lisser dans la mesure du possible, c'est-à-dire de faire quelque chose comme l'estimation de la densité du noyau (ou une autre méthode similaire, comme l'estimation log-spline), qui a tendance à être beaucoup plus efficace que d'utiliser histogrammes. Comme le souligne Whuber, il est tout à fait possible de se laisser berner par l'apparition d'un histogramme, en particulier avec peu de casiers et des échantillons de petite à moyenne taille.
Si vous essayez d'optimiser l'erreur quadratique moyenne intégrée (MISE), par exemple, il existe des règles qui s'appliquent dans les dimensions supérieures (le nombre de cases dépend du nombre d'observations, de la variance, de la dimension et de la "forme"), pour l'estimation de la densité du noyau et les histogrammes.
[En effet, bon nombre des problèmes pour l'un sont également des problèmes pour l'autre, donc certaines des informations contenues dans cet article wikipedia seront pertinentes.]
Cette dépendance à la forme semble impliquer que pour choisir de manière optimale, vous devez déjà savoir ce que vous tracez. Cependant, si vous êtes prêt à faire des hypothèses raisonnables, vous pouvez les utiliser (ainsi, par exemple, certaines personnes pourraient dire "approximativement gaussiennes"), ou bien vous pouvez utiliser une certaine forme d'estimateur "plug-in" de fonctionnel.
Baguette, 1997[1] couvre le boîtier 1-D. Si vous êtes en mesure d'obtenir cet article, jetez un œil à ce qui s'y trouve est également pertinent pour la situation dans les dimensions supérieures (dans la mesure où les types d'analyse qui sont effectués). (Il existe sous forme de document de travail sur Internet si vous n'avez pas accès au journal.)
L'analyse dans les dimensions supérieures est un peu plus compliquée (de la même manière qu'elle procède des dimensions 1D aux dimensions R pour l'estimation de la densité du noyau), mais il y a un terme dans la dimension qui entre dans la puissance de n.
Sec 3.4 Eqn 3.61 (p83) de Scott, 1992[2] donne la largeur de bin optimale asymptotiquement:
oùR(f)=∫Rdf(x)2dx est un terme de rugosité (pas le seul possible), et je crois fi est la dérivée de f par rapport à la ith terme en x .
Donc, pour 2D, cela suggère des largeurs de bin qui diminuentn−1/4 .
Dans le cas de variables normales indépendantes, la règle approximative esth∗k≈3.5σkn−1/(2+d) , où hk est la largeur de bin dans la dimension k , le ∗ indique la valeur asymptotiquement optimale, et σk est l'écart type de la population en dimension k .
Pour la normale bivariée avec corrélationρ , la largeur de bin est
Lorsque la distribution est asymétrique, ou à queue lourde, ou multimodale, il en résulte généralement des largeurs de bacs beaucoup plus petites; par conséquent, les résultats normaux seraient souvent au mieux des limites supérieures lors de la liaison avec.
Bien sûr, il est tout à fait possible que vous ne soyez pas intéressé par l'erreur quadratique intégrée moyenne, mais par un autre critère.
[1]: Wand, MP (1997),
"Choix basé sur les données de la largeur de la trame d'histogramme",
American Statistician 51 , 59-64
[2]: Scott, DW (1992),
Multivariate Density Estimation: Theory, Practice, and Visualization ,
John Wiley & Sons, Inc., Hoboken, NJ, États-Unis.
la source
Étant donné que vous avez un numéro fixeN de données (c'est-à-dire que vous avez un nombre égal de lecture sur les deux dimensions), vous pouvez immédiatement utiliser:
Pour trouver le nombre commun de bacsM dans chaque dimension.
D'un côté, vous voudrez peut-être essayer quelque chose de plus robuste comme la règle Freedman – Diaconis qui définit essentiellement la bande passanteh égal à:
où IQR est la plage interquartile de vos donnéesx . Vous calculez ensuite le nombre de bacsM le long de chaque dimension comme étant égal à:
Vous faites cela dans les deux dimensions de vos donnéesx ; cela vous donne deux nombres, éventuellement différents, de bacs qui "devraient" être utilisés dans chaque dimension. Vous prenez naïvement le plus gros pour ne pas "perdre" d'informations.
Pourtant, une quatrième option serait d'essayer de traiter votre échantillon comme nativement bidimensionnel, de calculer la norme pour chacun des points d'échantillonnage, puis d'appliquer la règle Freedman – Diaconis sur les normes de l'échantillon. c'est à dire.:
OK, voici du code et un tracé pour les procédures que je décris:
Comme d'autres l'ont noté, le lissage est presque certainement plus approprié dans ce cas (c'est-à-dire obtenir un KDE). J'espère que cela vous donne une idée de ce que j'ai décrit dans mon commentaire concernant la généralisation directe (avec tous les problèmes que cela pourrait entraîner) des règles d'exemple 1D aux règles d'exemple 2D. Notamment, la plupart des procédures supposent un certain degré de «normalité» dans l'échantillon. Si vous avez un échantillon qui n'est clairement pas distribué normalement (par exemple, il est leptokurtotique), cette procédure (même en 1-D) échouera assez mal.
la source