Ereignis mit mehreren Zufallsvariablen berechnen |
28.08.2017, 14:42 | Hackensack | Auf diesen Beitrag antworten » | ||
Ereignis mit mehreren Zufallsvariablen berechnen ich stecke gerade an einem etwas komplizierteren stochastischem Problem fest, von dem ich nicht einmal sicher bin, ob es sich einfach berechnen lässt: Es sollen N gleich normalverteilte Zufallsvariablen gegeben sein, deren Verteilung auch bekannt ist (N ist fest und wird so im bereich 4-5 liegen, falls das von Bedeutung sein sollte). Aus den Variablen wird der arithm. Mittelwert berechnet und ein Intervall gebildet innerhalb dessen alle Variablen liegen sollen. Sieht jemand einen Weg die Wahrscheinlichkeit zu berechnen alle N Variablen in dem Intervall um ihren Mittelwert M liegen? Was ich bis jetzt habe ist die Verteilung für den Mittelwert. Danach ist Die Summe aus N normalverteilten Variablen auch wieder normalverteilt und deswegen der Mittelwert normalverteilt mit und |
||||
28.08.2017, 14:59 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Die Wahrscheinlichkeit wird vom Verhältnis abhängig sein, abgesehen davon aber nicht von einzeln. Offenkundig ist z.B., dass bei fest gewählten und die gesuchte Wahrscheinlichkeit gegen 1 geht, wenn . |
||||
28.08.2017, 15:57 | Hackensack | Auf diesen Beitrag antworten » | ||
RE: Ereignis mit mehreren Zufallsvariablen berechnen Hinweis: Ich bin nicht zwangsläufig auf der Suche nach einer Berechnungsmöglichkeit die sich von Hand durchführen lässt, sondern nach einem theoretischen Ansatz für das Problem, den ich notfalls auch einfach numerisch in einem Skript berechnen kann. |
||||
28.08.2017, 15:58 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Wenn man sich das ganze mal aufschreibt, landet man ganz schnell bei Wahrscheinlichkeiten der -dimensionalen Normalverteilung, zu berechnen für relativ kompliziert zu beschreibende Polyeder im -dimensionalen Raum (mit Seitenflächen ziemlich "schief" im Raum). Eine einigermaßen handhabbare Formel ist da nicht zu erwarten, selbst unter Einsatz von wird man das vermutlich nicht "integralfrei" hinbekommen. Was natürlich immer geht, wäre Monte Carlo, aber das natürlich dann nur für einzelne immer wieder neu. |
||||
28.08.2017, 16:14 | Hackensack | Auf diesen Beitrag antworten » | ||
Monte-Carlo habe ich schon ausprobiert um die richtigen Wahrscheinlichkeiten zu berechnen. Das Problem ist allerdings, dass man relativ viele Versuche braucht um eine ausreichende Genauigkeit zu erreichen. Die Berechnung müsste allerdings für meinen Verwendungszweck relativ schnell berechenbar sein. Eindimensionale Integrale wären kein Problem, die kann ich numerisch noch ziemlich schnell integrieren. Und zur Not würde es auch eine Abschätzung nach unten tun, also eine Mindestwahrscheinlichkeit mit der alle Variablen im Intervall liegen. |
||||
28.08.2017, 16:20 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Das sind sie aber leider nicht, es werden N-dimensionale sein. Welche Genauigkeit benötigst du denn? |
||||
Anzeige | ||||
|
||||
28.08.2017, 16:40 | Hackensack | Auf diesen Beitrag antworten » | ||
Welche Genauigkeit benötigst du denn?[/quote] Die ersten 3 Nachkommastellen sollten schon stimmen. Und die Berechnung sollte in weniger als einer Sekunde durchführbar sein. Ein Ansatz von mir sah z.B. so aus: wobei N die Normalverteilungsdichte und F die kumulierte Verteilungsfunktion ist. Allerdings kam eine zu hohe Wahrscheinlichkeit raus |
||||
28.08.2017, 16:54 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Für (absolute) -Genauigkeit (also 99.5% Sicherheit) benötigt man ja maximal Versuche bei Monte Carlo. Für wären das also 2250000 Versuche.
Sportlich, aber als optimiertes Kompilat machbar, zumindest auf einer halbwegs modernen Platform. Wenn mehrere Kerne zur Verfügung stehen erst recht. |
||||
28.08.2017, 17:51 | Hackensack | Auf diesen Beitrag antworten » | ||
Ich bin da leider durch technische Anforderungen etwas eingeschränkt, sonst wäre das über eine vernünftige parallele Implementierung durchaus machbar. Bei dem vollständigen Problem soll übrigens noch zusätzlich der Mittelwert in einem Bereich liegen. Lässt sich die Wahrscheinlichkeit dass alle Werte innerhalb eines Intervalls liegen denn nicht igendwie einschränken, indem man das Intervall irgendwie durch das kleinste Intervall abschätzt? |
||||
28.08.2017, 18:11 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Was verstehst du unter ? Und in welchem Sinne ist dieses Intervall dann ein "kleinstes" ? Mal noch die Ergebnisse nachgereicht (2250000 Monte-Carlo-Simulationen auf i7-4790k). 8 Threads: 50ms 1 Thread: 240ms |
||||
28.08.2017, 23:35 | Hackensack | Auf diesen Beitrag antworten » | ||
Ok. Womit hast du denn diese Ergebnisse gemessen? Ich bin leider dazu gezwungen Python zu verwenden, was ja aufgrund von Interpreter leider etwas langsamer ist als Compilersprachen. Damit habe ich derzeit nur ca. ein hunderstel deiner Rechengeschwindigkeit, wobei mein Code allerdings auch noch nicht optimiert ist soll der kleinste Mittelwert sein, der zulässig ist. Und das kleinste Intervall (im Sinne von kleinste Ausdehnung) um den Mittelwert ist dann genau bei diesem Wert, wenn die Intervallgrenzen für linear vom Mittelwert abhängen |
||||
29.08.2017, 08:20 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Verstehe nicht, was du hier mit "zulässig" meinst. Aufgrund der Normalverteiltheit gibt es für keine Schranken nach oben und unten, auch wenn es nach beiden Seiten irgendwann ziemlich unwahrscheinlich wird. Zur anderen Fragen: Das Programm ist in C geschrieben, also (wie ich schon sagte) ein echtes Kompilat. Das Programm arbeitet mit dem schnellen, aber doch ganz guten Zufallszahlengenerator MT19937, die Normalverteilungswerte werden erzeugt per Polar-Methode. Eine vage Idee hätte ich noch: Ich weiß jetzt nicht, ob du mit ein breites Parameterfeld abdecken willst, oder ob es eher doch eng ist. In letzterem Fall kannst du dir ja auch die Wahrscheinlichkeitswerte an einer vorab festgelegten Menge von Gitterpunkten dieses Parameterfeldes vorberechnen (ob nun per Monte-Carlo oder sonstwie), quasi eine dreidimensionale Lookup-Table, und dazwischen dann Interpolation betreiben. Dazu sollte natürlich gewährleistet sein, dass du mit den Anfragen nie über dein Gitter hinaus kommst, denn Extrapolation geht hier mit ziemlicher Sicherheit schief (wenn man's übertreibt, sogar dann mit Wahrscheinlichkeitsprognosewerten <0 oder >1 ). |
||||
03.09.2017, 23:20 | Hackensack | Auf diesen Beitrag antworten » | ||
Mir ist bewusst, dass der Mittelwert unbeschränkt ist. Allerdings gibt es noch eine eine Vorgabe für die Variablen, die ich im Anfang nicht dazu geschrieben habe um das problem nicht zusätzlich zu verkomplizieren: Und zwar sollen nicht nur alle Variablen in einem Intervall um den Mittelwert liegen, sondern der Mittelwert selbst soll noch in einem fest vorgegebenen Intervall liegen. Mein aktueller gewählter Ansatz schätzt jetzt diese Wahrscheinlichkeit mit der alle Variablen X_i in dem Intervall um ihren Mittelwert UND der Mittelwert innerhalb des fest vorgegebenen Intervalls liegt nach unten ab. Und zwar gilt wobei N die Normalverteilungsdichte und F die kumulierte Verteilungsfunktion ist. Die Abschätzung weicht zwar noch teilweise relativ stark ab, gibt aber schon ganz gut die Größenordnung an in der die Wahrscheinlichkeit ungefähr liegen wird. Und mit dieser Abschätzung nach unten kann ich dann die Wahrscheinlichkeit, dass obiger Fall nicht eintreten wird nach oben abschätzen. |
||||
04.09.2017, 09:32 | HAL 9000 | Auf diesen Beitrag antworten » | ||
Ich bin immer schlichtweg begeistert, wenn die Leute erst so nach und nach alle Informationen auf den Tisch packen, am besten durch die Hintertür in einer Lösungs-/Ansatzbeschreibung. So ein Vorgehen ist nicht geeignet, die Dinge "nicht zusätzlich zu verkomplizieren", es erzeugt nur vermeidbare Irritationen (s.o.). |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |