unterbrochene Normalverteilung

Neue Frage »

normaler1 Auf diesen Beitrag antworten »
unterbrochene Normalverteilung
Hallo zusammen,

ich habe ein kleines Problem, dass ich weder anhand der Suchfunktion noch mit dem schlauen Buch vor mir habe lösen können.

Es geht um folgendes:

Ich habe ein Array voller Zahlen, die ich an eine andere Stelle in ein neues Array schreiben möchte. Diese Stelle errechne ich mir aus einer Normalverteilung um die alte Stelle.
Die Stellen im neuen Array in denen schon ein Wert steht, sind ja nun nicht mehr für andere Werte verfügbar.

Dürfte ich dann für diese die Normalverteilung an dieser Stelle einfach auf 0 setzen? Falls ja, müsste ich das Integral der Normalverteilung am Ende wieder auf 1 normieren - geht dies indem ich das neue Integral berechne und alle Werte einfach durch diesen Wert teile, oder muss ich dort mathematisch irgendetwas anderes beachten?

vielen Dank schonmal im voraus
AD Auf diesen Beitrag antworten »

Zitat:
Original von normaler1
Diese Stelle errechne ich mir aus einer Normalverteilung um die alte Stelle.

Wie soll das funktionieren? Wenn du eine neue Stelle für die Zahl berechnest, dann geht es um irgendeinen ganzzahligen Versatz bzgl. der alten Stelle. Die Normalverteilung als stetige Verteilung kann sowas nicht leisten, allenfalls eine diskrete Verteilung, die du irgendwie aus deiner Normalverteilung zurechtbastelst. Also bitte mal genau ausführen, was du da anstellst!
normaler1 Auf diesen Beitrag antworten »

Im Prinzip reicht es mir zu wissen ob es mir mathematisch erlaubt ist Bereiche mitten in einer Normalverteilung (egal ob nun diskret oder kontinuierlich) auf 0 zu setzen (und dann die ganze Funktion wieder auf eine Fläche von 1 zu normieren).


Dass das dann wahrscheinlich nicht mehr offiziell als Normalverteilung anzusehen ist, ist mir auch klar. Programmiert ist das ganze auch schon (sowohl mit Bereichen zu 0 gesetzt als auch mit der diskreten Funktion die ich habe), nur leider ist die Laufzeit des Programms ohne die Bereichsänderung so groß, dass ich die Ergebnisse nicht vergleichen kann (also x-tausend Durchläufe, deren Gesamtergebnis sich ja ähneln sollte).
AD Auf diesen Beitrag antworten »

Zitat:
Original von normaler1
Im Prinzip reicht es mir zu wissen ob es mir mathematisch erlaubt ist Bereiche mitten in einer Normalverteilung (egal ob nun diskret oder kontinuierlich) auf 0 zu setzen (und dann die ganze Funktion wieder auf eine Fläche von 1 zu normieren).

Wenn du wieder ordentlich normierst, ist es wieder eine Verteilung, ja. Keine Normalverteilung, aber um die geht es hier ja sowieso nicht, wie wir gerade erörtert haben.

Wenn es das ist, was du mit "erlaubt" meinst...

Trotzdem muss ich erneut meine Verwunderung ausdrücken, dass du hier bei dieser "Index-Verschiebungs-Frage" mit stetigen Verteilungen hantierst. Diskrete Verteilungen (genauer: mit ganzzahligen Werten) wären hier angemessen: Wenn du mit Normalverteilung den Wert 2.37 für auswürfelst, packst du dann das Element im neuen Feld in ???
normaler1 Auf diesen Beitrag antworten »

Was ich genau tue, ist folgendes:

Ich fange mit dem größten Wert im alten Array an. Erstelle mir in ein Hilfsarray (das genauso groß ist), in das die kumulierte Wahrscheinlichkeit gepackt wird, dass dieser Platz im Array der neue Platz wird (die Werte kommen aus der Normalverteilung / bzw meiner Verteilung). Dann bestimme ich mit Hilfe einer Zufallszahl den neuen Platz im neuen Array.
Das ganze spiele ich dann für alle Werte durch.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »