Vergleich von Ergebnissen < Stochastik < Oberstufe < Schule < Mathe < Vorhilfe
|
Ich habe das folgende Problem. Ich muss zwei Algorithmen miteinander vergleich. Welcher ist besser.
Ich will folgende Frage beantworten:
Welcher Algorithmuss hat die kürzere Laufzeit.
Da es sich hier um eine Heuristik handelt mit zufälligs Zahlen sind die Laufzeiten unterschiedlich. Also muss ich Experimente anstellen um die Laufzeit zu mitteln. Mein Stichprobenumfang ist 100.(Kann aber auch mehr sein wenn es muss :)
Endlich zur Frage :) Wie kann ich denn nun die Mittelwerte miteinander Vergleichen?
Mein erster Gedanke war der T-Test aber hier wird doch angenommen das es eine Normalverteilung ist oder?
Oder anders wie würded ihr die Experimente aufbauen und testen ich bin mit meinem Latain am Ende. Brauche diese Experimente für meine Bachelor Arbeit und komme kein Stück vorran. Vielleicht nen Tipp oder sowas?
Hier wäre mal ein Bsp. einer Laufzeitmessung. (geordnet) vielleicht hilft es :)
1100;1300;1600;1600;1700;1700;1800;1800;1900;2000;
2000;2000;2100;2100;2100;2100;2100;2100;2200;2200;
2200;2200;2300;2300;2300;2300;2300;2300;2400;2400;
2400;2500;2500;2500;2500;2500;2600;2600;2600;2600;
2600;2600;2600;2600;2600;2600;2700;2700;2700;2800;
2800;2800;2800;2800;2800;2800;2800;2900;2900;2900;
2900;2900;3000;3000;3000;3000;3000;3000;3000;3000;
3000;3100;3100;3100;3200;3200;3300;3300;3300;3300;
3300;3300;3400;3400;3400;3500;3500;3600;3700;3700;
3800;3800;3800;3800;4000;4000;4100;4300;4400;5000
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Ja das würde ich ja auch mit angeben aber die Standardabweichung ist doch nur aussagekräftig in verbindung mit dem Erwartungswert oder?
Danke für die Mühe
Frettchen
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:22 Mo 10.03.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 03:00 So 09.03.2008 | Autor: | Zneques |
Hallo,
In der Statistik gibt es fast immer eine Möglichkeit ein gewünschtes Ergebnis mittels irgendwelcher Test/Methoden zu erhalten.
Wahrscheinlich gibt es daher auch soviele verschiedene. ;)
Die simpelste Lösung wäre sicher einfach den Mittelwert zu bestimmen, um danach noch die Varianz um diesen Mittelwert zu errechnen.
Dann weißt du welcher schneller bzw. zuverlässiger ist.
Wenn du es über die Normalverteilung abschätzen möchtest, solltest du vorher begründen, dass die Verteilung für deine Daten eine sinnvolle Annahme ist.
( Auf Wikipedia gibt es auf der Seite zur Normalverteilung einen Absatz "Testen auf Normalverteilung" )
Die beste Lösung wäre, die Verteilung deiner Eingangsdaten mit den zugehörigen Laufzeiten zu verrechnen, damit du die tatsächliche Verteilung erhälst. Das kann aber u.U. recht mühseelig werden.
Ciao.
|
|
|
|
|
Ja also ich habe es schon mit dem Chi² Varianztest und Kolmogrow Smirnow Test versucht aber irgendwie werfen die für mich nur weitere Fragen auf.
beim KST muss ich auf
[mm] d_{max}< \bruch{1.36}{\wurzel{n}} [/mm] testen für [mm] \alpha=0.05 [/mm] aber
[mm] d_{max}< \bruch{1.63}{\wurzel{n}} [/mm] ist für [mm] \alpha=0.01 [/mm] und die Nullhypothese ist das es Normalverteilt is.
Also je genauer ich das ergebnis haben möchte umso größeren Spielraum habe ich? Das kann doch nicht sein oder?
Danke für die Mühe ihr seid ja echt fix :)
P.S. Sind meine Werte stetig oder Diskret?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:18 Di 11.03.2008 | Autor: | Zneques |
> Also je genauer ich das ergebnis haben möchte umso größeren Spielraum habe ich? Das kann doch nicht sein oder?
Logisch.
Der KST sieht das Problem eher von der anderen Seite. D.h. die Nullhypothese ist "nicht normalverteilt".
[mm] \alpha=0.01 [/mm] bedeutet dann, dass wenn die [mm] H_0 [/mm] angenommen wird, die Irrtumswahrscheinlichkeit 1% ist. Es ist also mit 99%-iger Sicherheit keine Normalverteilung, wenn [mm] d_{max}\ge\bruch{1.63}{\wurzel{n}}.
[/mm]
Bzw. es ist für [mm] d_{max}<\bruch{1.63}{\wurzel{n}} [/mm] zu mindestens 1% sicher, dass es eine Normalverteilung ist. Immerhin. ^^
> Sind meine Werte stetig oder Diskret?
Stetig bedeutet, dass alle Werte angenommen werden können. Das ist bei Zeitnahmen allgemein schon erfüllt. Allerdings hast du deine Werte alle auf ..00 gerundet (bzw. nicht genauer messen können). Daher würde ich deine Daten als diskret einschätzen.
Ciao.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 12:48 Mo 10.03.2008 | Autor: | leduart |
Hallo
Um ne statistik auszuwerten brauchst du ne Hypothese.
Also mach eine: z.Bsp Methode A ist besser als Methode B.
Dann ein Kriterium: die durchschn. Laufzeiten müssen bei A 10% (meine Willkür) beser sein als bei B um die Hyp. als wahr anzusehen.
Da ich nicht weiss, um was dein Algorit. geht, ist ne Hypothese schwer zu formulieren, da die Laufzeit von A und B ja von der Datenstruktur abhängen kann. etwa: A ist für wirklich zufällige Daten besser, B für teilgeordnete Zahlen usw.
Wild etwas über besser und schlechter aus deinen dürftigen Angaben rauszukriegen ist schwer.
wenn A einen besseren Mittelwert gibt als B, musst du die Streuung von A untersuchen. usw.
Gruss leduart
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:24 Mi 12.03.2008 | Autor: | Frettchen |
Also vielen dank für diese Mühe!!!
Falls sich noch etwas ändern sollte an euren Antworten hier noch mal der Versuch:
Ich vergleiche den Genetischen Algorithmus mit dem Particle Swarm Optimizer anhand kontinuierlichen Funktionen(Schwefel,spherical,rosenbrock etc.)
So meine Hypothese: Besser ist wer schneller löst :) Ne im ernst.
Wer im arithmetischen Mittel die bessere Laufzeit hat, wird als bester für dieses Problem eingestuft. (Hierzu wollte ich die signifikanz testen)
Die Laufzeit ist nicht wirklich ZEIT sonder nur die Funktionsevalutationen also wie oft musste der Algo die Funktion berechnen damit er die Funktion minimieren kann. Nachkommastellen können so nicht erreicht werden und die sonst so unscharfe differenzierung liegt daran das es populationsbasierte Algos sind die mehrere Funktionsevaluationen pro Iteration machen.
Aber ich hoffe nicht das das irgendwas an euren antworten ändert. Bis die Tage :) und nochmals danke weiß es zu schätzen.
gruss
das frettchen
|
|
|
|