• Keine Ergebnisse gefunden

Algorithmen zur Datenanalyse in C++

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmen zur Datenanalyse in C++"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen zur Datenanalyse in C++

Hartmut Stadie

04.06.2012

(2)

Einführung

Zufallszahlengeneratoren

(3)

Übersicht

Einführung Informationen

Zufallszahlengeneratoren

(4)

Informationen

Ablauf:

Vorlesung: montags 16:00 Hörsaal III

Übung: im Anschluss an die Vorlesung in 9/302 und 9/305

Material:

Stroustrup: The C++ Programming Language, 3rd edition http://www.lernnetz-sh.de/kmLinux/doc/C++-

Kurs/index.html

http://www.highscore.de/cpp/einfuehrung/

Press et al: Numerical Recipes, 3rd edition http://wwwiexp.desy.de/studium/lehre/cplusplus/

(5)

Übersicht

Einführung

Zufallszahlengeneratoren Einführung

Linear kongruenter Generator Prüfung von Zufallsgeneratoren

(6)

Monte Carlo-Methoden

Monte Carlo-Methoden:

leistungsfähige Computer erlauben es, (stat.)Probleme zu simulieren

grundlegend ist die Erzeugung von Zufallszahlen

Erzeugung von Zufallszahlen:

unmöglich, Computer deterministisch erzeuge Pseudo-Zufallszahlen

Zahlenfolge hängt vom Startwert (Saatzahl,seed) ab Zahlen wiederholen sich irgendwann wieder (Periode) Material: V. Blobel, E. Lohrmann „Statistische und numerische Methoden der Datenanalyse“

(7)

Zufallszahlengeneratoren

Erzeuge gleichverteilte Zufallszahlen:

U(0,1) =

(1 0≤u ≤1 0 sonst

Linear kongruenter Generator

einer der einfachsten Generatoren Ij = (a·Ij−1+c) modmunduj = mIj sollte nicht mehr benutzt werden

Wertefolge hängt von der Saatzahl (I0) ab maximale Periodem(hängt vonaundcab)

(8)

Implementierung

double myrand() { const int a = 205;

const int c = 29573;

const int m = 139968;

...

ij = ....;

return (double)ij/(double)m;

}

Geeignete Konstanten für Periode>105:

a 205 281 1021 421

c 29573 28411 25673 54773

m 139968 134456 121500 259200

(9)

Prüfung von Zufallsgeneratoren

Tests

Test auf gleichförmige Verteilung:

VerteileNZufallszahlen aufk Intervalle der Länge 1/k und teste überχ2-Verteilung

Korrelationstest:

Betrachtensukzessive Zufallszahlen als Koordinaten im n-dimensionalen Raum. Punkte liegen auf Hyperebenen Lückentest (gap test):

Wähle zwei Zahlen mit 0≤α≤β ≤1. Erzeuger +1 Zufallszahlen überprüfe Wahrscheinlichkeit, dass die erstenr Zahlen außerhalb und die letzte Zahl innerhalb sind

Random Walk-Test:

Wähle eine Zahl 0≤α1 und zähle fürnZufallszahlen

(10)

Korrelationstest (a = 5, b = 3, m = 16)

uj

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

j+1u

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

(11)

Test auf gleichförmige Verteilung (a = 5, b = 3, m = 16)

Entries 1000

Mean 0.4693

RMS 0.2879

Underflow 0

Overflow 0

Integral 1000

Skewness 0.08104

/ ndf

χ2 107.2 / 9

Prob 0

p0 89.28 ± 2.99

0 20 40 60 80 100 120

Entries 1000

Mean 0.4693

RMS 0.2879

Underflow 0

Overflow 0

Integral 1000

Skewness 0.08104

/ ndf

χ2 107.2 / 9

Prob 0

p0 89.28 ± 2.99

Referenzen

ÄHNLICHE DOKUMENTE

Dieser Zusammenhang l¨asst sich zur Konstruktion von Zufallszahlen mit der gleichen Verteilung wie X ausnutzen: F¨ur eine auf [0, 1] gleichverteilte Zufallsvariable R gilt, dass

It is recommended that you can create your own directory structure hanging from your home directory via the UNIX command mkdir. • The programming language of the Computerpraktikum

gesetz waren sie nur noch deutsche Staatsangehörige, aber keine mit allen politischen Rechten ausgestatteten Reichsbürger mehr. Der Reichsvertretung der J u d e n in Deutschland

Insgesamt sind n-1 Bitstrings auf das Gesamtergebnis zu addieren (nur die erste Zeile kann so übernommen werden)... asymptotischer Laufzeitvergleich) beschönigt oft die

von Markus Hofbauer, Kevin Meyer und Benedikt Schmidt – Mail: latex@kevin-meyer.de Stand:

Für das Halten der Fliegen wurden speziell hergestellte Käfige aus Karton mit Gazefenstern von 15 x 20 x 25 cm verwendet, für Experimente meist kleinere Käfige.. Die Fliegen

Für die Pascal-Zahlen wird in der Regel die folgende Darstellung und Symbolik verwendet. Oben fängt es mit dem n an und geht runter, unten fängt es mit 1 an und

In diesem Beispiel haben wir Einsen in einer Diagonalen, rechts oben davon Nullen, und links unten Zahlen, welche bald einmal keine Gesetzmäßigkeit mehr erkennen lassen. Es wurde