2 Stimmen

Erzeugen einer Exponentialverteilung der Schaufelgrößen

Bei einer Reihe von eingehenden Artikeln möchte ich jeden einzelnen einem Eimer zuordnen, sobald er eintrifft. Dabei kann es sich entweder um einen neuen Eimer handeln (einen, der noch nie benutzt wurde, wovon es unendlich viele gibt) oder um einen bereits vorhandenen Eimer. Wenn ich die Anzahl der Eimer mit einem Element, die Anzahl mit zwei, die Anzahl mit drei usw. betrachte, möchte ich, dass diese Eimerzahlen einer Exponentialverteilung folgen. Ich hoffe, ich drücke das richtig aus - wenn 80 % der Eimer einen Artikel haben, dann sollten 16 % zwei Artikel haben, 3,2 % drei usw. Im Allgemeinen sollte die Anzahl der Eimer der Größe k 1/p so groß sein wie die Anzahl der Eimer der Größe k-1, und der Anteil der Eimer mit der Größe 1 sollte (1-p) sein, damit die Rechnung aufgeht.

Wenn ich die Anzahl der Artikel im Voraus wüsste, wäre es einfach: Ich wüsste, wie viele Eimer jeder Größe es gibt, also kann ich die Artikel einfach in so viele Eimer jeder Größe stapeln, wie ich brauche. Oder wenn ich nur Eimergrößen generieren würde, wäre es einfach, auch wenn ich die Gesamtzahl nicht im Voraus wüsste: Jeder neue Eimer hat die Wahrscheinlichkeit (1-p), Größe 1 zu sein, (1-p)p, Größe 2 zu sein, (1-p)p^2, Größe 3, (1-p)p^3, Größe 4 usw.

Aber ich verarbeite Artikel Wenn ich also einen Artikel eingebe, muss ich einen Eimer wählen: entweder einen vorhandenen oder einen neuen. Wenn ich einen neuen Eimer mache, bekomme ich einen weiteren der Größe 1. Wähle ich aber einen vorhandenen Eimer der Größe k, dann bekomme ich einen weiteren Eimer der Größe k+1 und einen weniger der Größe k. Wie hoch sollte also die Wahrscheinlichkeit sein, einen Eimer der Größe k zu wählen (wobei k auch Null sein kann, um anzuzeigen, dass ein neuer Eimer gebildet wird)? Und in welchem Verhältnis steht sie zu p?

Ich tue dies, um Testdaten zu generieren, bei denen ich nur die durchschnittliche Anzahl von Artikeln pro Eimer kenne (1,5, wie sich herausstellt), die Anzahl der Artikel nicht im Voraus weiß und denke, dass die Exponentialverteilung der Eimergrößen für meine Situation realistisch ist. Wahrscheinlich mache ich es komplizierter, als es sein müsste, aber ich war überrascht, weil ich dachte, es wäre einfach.

Vielleicht ist es so, aber ich übersehe einfach etwas. (Und ich kann auch nicht herausfinden, wie man es googelt.)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X