TTimer zu ungenau - wie funktioniert der EpikTimer?

Für Fragen von Einsteigern und Programmieranfängern...
ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von ruewa »

Hallo Michael,

man kommt ja gar nicht hinterdrein bei all den aufgeregten Änderungen...

mschnell hat geschrieben:"Ein Promille Ausreißer" ist keine Fehler-Abschätzung


Ja, das ist wohl wahr! Wer allerdings mit der Fähigkeit gesegnet ist, die Bedeutung geschriebener Texte zu erfassen, wird bemerkt haben, daß die "richtige" Fehlerabschätzung sowohl ein paar Sätze zuvor als auch ein paar Sätze später mehrfach auftaucht. Oder formuliere ich für Deine Ansprüche nicht erbsenzählerisch genug?

mschnell hat geschrieben:... ist eben keine Messung, sondern Betrug.


Okay, später korrigiert auf "Selbstbetrug"... Aber mal ehrlich, Michael: Geht's noch schriller?

mschnell hat geschrieben:...dass man auf diese Weise keine Messung programmieren kann, sonern nur eine Schätzung.


Du hast wirklich einen seltsamen Begriff von "Messung". Als habe das etwas Ideales, absolut Richtiges zu sein. Jeder Physiker wird Dir da entschieden widersprechen: Jede Messung ist fehlerbehaftet, ist stets nur eine Annäherung an die Realität. Es gibt kein ideales Meßinstrument. Der Zollstock ist genauso ein Meßwerkzeug wie die Mikrometerschraube, auch wenn letztere viel genauer ist. Dennoch erlauben beide Messungen, mit unterschiedlicher Auflösung und Genauigkeit eben. Und auch stochastische Fehler gehören selbstverständlich zum täglichen Brot des Physikers (und zu dem von empirischen Sozialwissenschaftlern sowieso). Was glaubst Du denn, was die Leute beim CERN machen, um z.B. das Higgs-Boson nachzuweisen?

Okay, Du kannst nun den Sophismus soweit treiben, bis bei allem bloß noch "Schätzung" übrigbleibt und der Begriff "Messung" gegenstandslos geworden ist. Wäre das dann Balsam auf Deine Seele?

mschnell hat geschrieben:Als ich das vor kurzem versucht habe, ließ sich EpikTimer für Linux gar nicht übersetzen.


Dafür kann es streng logisch betrachtet drei mögliche Ursachen geben: Das Problem könnte a) in Linux beheimatet sein, b) im EpikTimer oder c) zwischen den Ohren. Streng empirisch gesehen kann ich Dir aus eigener Erfahrung berichten: An Linux liegt es nicht, und am EpikTimer auch nicht.

mschnell hat geschrieben:Ich habe vor Kurzem versucht EpikTimer (in Linux) zu verbessern, ist mir aber nicht zu meiner Zufriedenheit gelungen


Rein interessehalber: Wie "verbessert" man etwas, was man partout nicht zum Laufen kriegt?

Gruß Rüdiger

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mse »

Die Stichworte sind "Messung" und "Experiment". Wenn die Versuchsanordnung so ist, dass die Ergebnisse meistens genügend genau sind, manchmal aber nicht, und man nicht angeben kann wie häufig nicht und man auch noch nicht mal angeben kann, wie falsch sie sein können, dann darf man gar nicht anfangen.
Dies richtet sich an möglicherweise mitlesende jüngere Leute welche noch nicht 30 Jahre Erfahrung auf dem Buckel haben. ;-)
Anders sieht es vielleicht bei Vorversuchen und Spielereien aus. Dort sollte man den Begriff "Messung" besser nicht verwenden.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mschnell »

ruewa hat geschrieben:Rein interessehalber: Wie "verbessert" man etwas, was man partout nicht zum Laufen kriegt?


Die aktuelle (svn) Version, von der ich ausgegangen bin, ließ sich nur für Windows übersetzen, nicht aber für Linux.

Ich habe es mit entsprechenden Änderungen problemlos zum Laufen gekriegt, war mit der erreichbaren Funktionalität nicht zufrieden und haben deshalb nicht versucht, es für andere im svn unterzubringen.

1) ich wollte eine Version, die mit verschiedenen CPUs und Linux-Versionen läuft
2) es sollte eben keine "Eieruhr" sein, sondern den bestmöglchen Gebrauch der zur Verfügung stehenden Hardware machen.
3) es sollte die geringst mögliche Latenz erzeugen also - falls die Hardware und das OS das erlaubt - ohne Betriebssystem-Aufrufe arbeiten.
4) es sollte tatsächlich zuverlässig funktionieren (nicht zum messen, aber für Multimedia - wofür EpikTimer ja auch gedacht ist)

Es hat sich gezeigt, dass moderne X64 CPUs ein "Performance-Counter" Register haben, dass sich gut eignet, aber nicht alle und viele andere CPUs auch nicht,. Es gibt aber in Linux (Windows interessiert mich weniger) keine sinnvolle Funktionalität das "Performance-Counter" Register genau dann zu verwenden, wenn es existiert.

Darüber hinaus kann ein System mehrere CPUs haben, die je ein "Performance-Counter" Register haben und die sind nicht unbedingt synchronisiert. Und ein User-Programm kann unvermittelt mal die eine und mal die andere CPU verwenden.

Demzufolge gibt es also für "EpikTimer" in Linux doch wieder nur die Möglichkeit eine Eieruhr im Betriebssystem zu verwenden. Dafür lohnt der Aufwand nicht.

-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mschnell »

ruewa hat geschrieben:Okay, Du kannst nun den Sophismus soweit treiben, bis bei allem bloß noch "Schätzung" übrigbleibt und der Begriff "Messung" gegenstandslos geworden ist. Wäre das dann Balsam auf Deine Seele?

Ich denke, es ist ziemlich klar definiert, was eine Messung ist (es gibt natürlich eine tiefgreifende Theorie darüber, aber so weit wollen wir hier sicher nicht gehen).

Klar ist dass man bei einer Messung die Genauigkeit angeben muss. und zwar für jeden einzelnen Versuch,. Und wenn die maximale Ungenauigkeit den Messwert bei weitem übersteigt, macht die Messung keinen Sinn.

Als Spezialfall (und darauf willst Du anscheinend hinaus) kann man auch eine Statistik machen. Aber nur dann, wenn man exakt dieselbe Versuchsanordnung sehr häufig messen kann. Dann kann man auch bei beliebig großen zu erwartenden Ausreißern eine statistische Varianz angeben, die wesentlich kleiner als der Messwert ist und damit eine sinnvolle Aussage ableiten. In einer solchen Anordnung sind Einzelmessungen aber verboten.

-Michael
Zuletzt geändert von mschnell am Di 16. Sep 2014, 10:01, insgesamt 1-mal geändert.

ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von ruewa »

mschnell hat geschrieben:Als Spezialfall (und darauf willst Du anscheinend hinaus) kann man auch eine Statistik machen.


Okay! Ich beginne zu ahnen, wo Euer Denkfehler liegt. Ihr habt ganz offenkundig eine völlig falsche Vorstellung davon, wie ein "Experiment" in sozialwissenschaftlichen Disziplinen wie der Psychologie beschaffen ist. In Evas Versuch geht es nicht um eine Einzelmessung, die würde überhaupt keinen Sinn machen. Welche Aussagen könnte man daraus denn ableiten? So arbeiten Psychologen nicht. Natürlich geht es um die statistische Auswertung einer genügend großen Anzahl von Einzelmessungen.

Eva hat nicht im einzelnen beschrieben, was genau sie untersuchen wollte. Ich erfinde einfach mal ein Beispiel, das ist austauschbar. Nicht austauschbar ist hingegen das grundlegende Versuchsdesign. Angenommen, sie möchte die Hypothese untersuchen, daß eine entspannende Atmosphäre sich positiv auf das Reaktionsvermögen auswirkt, während Anspannung die Reaktionszeiten verlängert. Also bekommt die eine Versuchsgruppe kurzzeitig (d.h. knapp über der Wahrnehmungsschwelle) schöne Landschaftsbilder eingeblendet, während die andere Gruppe mit Bildern von Verkehrsunfällen traktiert wird. Daran anschließend finden die Messungen statt. Nun gibt es bei jeder Versuchsperson Schwankungen z.B. der Aufmerksamkeit. Das eine Mal ist er schneller, das andere Mal langsamer. Also läßt Eva ihn das 50 mal machen und hat am Ende einen Punkteschwarm, der im Idealfall eine Gaußsche Normalverteilung darstellt, mit Mittelwert, Standardabweichung und wie die ganzen mathematischen Parameter alle heißen. Der nächste Proband ist dann insgesamt langsamer in seinen Reaktionen. Und der dritte ist vielleicht schnell, produziert aber eine größere Streuung. Also braucht man auch genügend Probanden, um eine aussagekräftige Verteilung der Versuchspersonen untereinander zu bekommen. Dasselbe geschieht mit der zweiten Gruppe. Am Ende hat man also ein paar tausend Datenpunkte und versucht, mit komplexen statistischen Berechnungen einen signifikanten, d.h. mit einiger Wahrscheinlichkeit nicht-zufälligen Unterschied zwischen den beiden Gruppen herauszufiltern. Da ist es mit einer "Varianz" nicht getan, Michael, das ist schon um einiges komplizierter. Gut - in Evas Fall ging's, wenn ich das recht erinnere, um ein Praktikum, da treibt man nicht soviel Aufwand. Da geht es einfach um das Erlernen der Methodik. Aber das Grundprinzip bleibt immer dasselbe. Salopp ausgedrückt: Die Anzahl der Messungen muß so groß sein, daß das gemeinsame beider Gruppen, der Anteil der Dicken, Dünnen, Schnellen, Lahmen, Frauen, Männer soweit verschmiert ist, bis das Trennende (der Einfluß der unterschiedlichen Bildreize oder was auch immer) herausfilterbar und mathematisch als nicht-zufällig nachweisbar ist. Oder bildlich ausgedrückt: Ein Punkteschwarm muß dicht genug sein, um erkennen zu lassen, ob bzw. daß es sich um zwei gegeneinander verschobene, getrennte Punkteschwärme handelt.

Woher ich das alles wissen will? Nunja, ich hab das Zeug auch mal studiert, ist schon ne Weile her. Insofern waren mir Evas Anforderungen an die Messungen von vorn herein sonnenklar, während Ihr offenbar immer die Vorstellung der signifikanten Einzelmessung vor Augen hattet. Wie gesagt: So funktionionieren die Sozialwissenschaften nicht. Evas berechtigte Sorge bezog sich auf den Rauschabstand: Natürlich muß das Rauschen des Meßgeräts deutlich niedriger sein als die Signalunterschiede, die man messen will. Aber das ist es in diesem Fall. Und vereinzelte Ausreißer fallen da überhaupt nicht ins Gewicht, die gehen schlichtweg in der Masse unter.

Jetzt alles klar?

Um das Ganze nochmal zusammenzufassen:

1) Man kann mit dem Computer Zeiten messen. Man sollte allerdings wissen, wo dessen Grenzen liegen: Mit rund 98 %iger Wahrscheinlichkeit liegen die Meßwerte um 1 - 3 Millisekunden zu hoch, mit 99,9 %iger Wahrscheinlichkeit um 0 - 5 Millisekunden. Und zwar ziemlich egal, wie beschäftigt der Rechner ist. Okay, einschränkend: Das gilt für Linux-Rechner. Es hängt natürlich dann immer von der jeweiligen Aufgabe ab, ob diese Genauigkeit dafür hinreichend ist oder nicht.

2) Die Jagd nach der tollsten, besten, geilsten Zeitabgriffmethode des tollsten, neuesten, besten, geilsten Prozessors ist vollkommen witzlos. Dimensionierend für die Meßgenauigkeit ist das Betriebssystem, das ständig zwischen verschiedenen Aufgaben hin- und herspringen muß und daher den Zeitpunkt bestimmt, wann dieser Abgriff der Systemzeit erfolgt (die sogenannte Latenzzeit). Es spielt keine Rolle, ob dieser Abgriff dann mikrosekunden- oder nanosekundengenau erfolgt, solange das Betriebssystem im Durchschnitt mindestens 1000-mal länger braucht, um diesen Abgriff überhaupt erst in die Wege zu leiten.

3) Es ist wichtig, den konzeptionellen Unterschied zwischen einer Stoppuhr und einem Wecker (bzw. Taktgeber) zu begreifen. Sie erfüllen ganz unterschiedliche Aufgaben. Mit einem Wecker lassen sich schwerlich Goldmedaillen verteilen, die Stoppuhr sagt einem nicht, wann man los muß, um den Bus nicht zu verpassen. Der TTimer und der TFPTimer sind virtuelle Wecker, der EpikTimer ist eine virtuelle Stoppuhr.

4) Der EpikTimer funktioniert allen Unkenrufen zum Trotz gut, er ist leicht zu programmieren und im Quelltext hervorragend dokumentiert. Er wird aktiv von Graeme Geldenhuys gepflegt, ist auf https://github.com/graemeg/epiktimer/releases zu finden und der Wikiartikel ist umfassend und aktuell: http://wiki.freepascal.org/EpikTimer. Die Version 1.0.0 läßt sich problemlos installieren, in der aktuellen Test-Version 1.0.1 muß für Linux noch "linux" in die uses-Anweisung eingetragen werden (Zeile 72) - hier ist auch, wie immer in Entwicklungsversionen, in höherem Maß mit möglichen Bugs zu rechnen. Er kann als Komponente auf der Form abgelegt, aber auch problemlos als einfaches Objekt eingebunden werden.

Okay, damit ist von meiner Seite soweit alles gesagt.

Ach ja, eins noch: Liebe
mse hat geschrieben:möglicherweise mitlesende jüngere Leute

- Laßt Euch mal von so alten Dackeln wie MSE oder mir mit ihren jeweils "30 Jahren Berufserfahrung" bloß nicht einschüchtern. Kuckt Euch die Argumente an und beurteilt selbst, was Ihr für plausibel haltet. Das habt Ihr drauf!

Gruß Rüdiger
Zuletzt geändert von ruewa am Mo 15. Sep 2014, 13:24, insgesamt 1-mal geändert.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mse »

Das würde dann in etwa einem "Vorversuch" entsprechen wie ich sie häufig mache um mit möglichst geringem Aufwand herauszufinden, welches wohl der beste oder immerhin ein gangbarer Entwicklungsweg wäre. Da spreche ich dann aber nicht von "Messung".
Manchmal sehe ich Kollegen, welche dies Arbeitsweise grundsätzlich anwenden und das kommt selten gut heraus. Nichts ist schlimmer als eine wacklige Versuchsanordnung. Bitte verstehe, dass Ingenieure allergisch darauf reagieren.
Mit 99.9% lehnst du dich auch sehr weit aus dem Fenster. 99,9% gelten für deine Versuche auf deinem Rechner. Bist du sicher, dass das Ergebnis für verschiedene Linux Umgebungen wirklich für 999 Computer aus 1000 anwendbar ist?
Edit:
Um auf das ursprüngliche Thema zurückzukommen, können wir uns darauf einigen, dass wenn "TTimer zu ungenau" ist auch EpikTimer mit Vorsicht einzusetzen ist?

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von Michl »

Hallo ruewa,

ich weiss zwar nicht, ob dich meine Meinung interessiert, doch ich finde diesen http://www.lazarusforum.de/viewtopic.php?p=71612#p71612 Post bis auf Punkt 4 toll. Finde es wirklich gut, dass Du mit Deinen gemachten Erfahrung nachfolgenden Lesern helfen willst!

Da es noch mehr Alternativen zu Zeitmessung/Timer gibt und FPC/Lazarus ständig verbessert wird (Aussagen, die derzeit gelten, könnten im nächsten Release schon überholt sein) hätte ich es noch schöner gefunden, wenn Du Dir noch ein paar Minuten mehr Zeit genommen hättest, einen Artikel im Lazarus-Wiki allgemein über Zeitmessung und Timer geschrieben und diesen hier einfach verlinkt hättest. Das hätte den Vorteil, dass man bei ähnlichen Themen dahin verlinken könnte und andere Nutzer ebenfalls Ihr Wissen dort hineinschreiben, ergänzen oder Korrekturen durchführen können.

Sehr schade finde ich es, daß Du über andere Forumsteilnehmer urteilst.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mschnell »

ruewa hat geschrieben:wie ein "Experiment" in sozialwissenschaftlichen Disziplinen wie der Psychologie beschaffen ist.


Ich denke, der Knackpunkt ist weniger das Experiment, als die statistische Auswertung.

Wenn bei der Auswertung der Messfehler benannt und berücksichtigt wird, kann das Ergebnis durchaus sinnvoll sein. (Davon war beim OP aber nie die Rede).

Im Fall einer Fehlerbehafteten (Zeit-) Messung müsste man also zusätzlich zum eigentlichen Experiment eine Statistik der Mess-Apperatur ermitteln und die Ergebnisse in die Auswertung Versuchs-Ergebnise einfließen lassen. Das könnte durchaus möglich sein.

ruewa hat geschrieben: Mit rund 98 %iger Wahrscheinlichkeit liegen die Meßwerte um 1 - 3 Millisekunden zu hoch, mit 99,9 %iger Wahrscheinlichkeit um 0 - 5 Millisekunden.


... und in 0,x Prozent mehr als eine Sekunde....

Keine Ahnung, wo Du die Zahlen her hast. So eine Statistik kann man für eine konkrete Anordnung aber durchaus ermitteln und berücksichtigen. Muss man aber auch tun !

-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mschnell »

ruewa hat geschrieben: Ihr habt ganz offenkundig eine völlig falsche Vorstellung davon, wie ein "Experiment" in sozialwissenschaftlichen Disziplinen wie der Psychologie beschaffen ist.

Ich habe mein Mathematik-Studium hauptsächlich damit finanziert, dass ich als wissenschaftliche Hilfskraft am Bio-Mathematischen Institut der Uni Düsseldorf Doktor-Arbeiten von Medizinern betreut habe. Also hauptsächlich die Planung und mathematisch/statistische Auswertung von Versuchsreihen.

Also erzähl mir bitte nichts über die Bewertung experimenteller Arbeiten von Nicht-Mathematikern :twisted:

(Ein Kommilitone (Mediziner mit mathematischem Background) hat in seiner Doktor-Arbeit die Statistische Korrektheit der Versuchs-Auswertungen vieler Mediziner-Doktorarbeiten untersucht. Das Ergebnis war erschreckend: bei weit mehr als der Hälfte waren die präsentierten Aussagen bei näherem Hinsehen statistisch völlig irrelevant. )

-Michael

ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von ruewa »

mschnell hat geschrieben:Ich habe mein Mathematik-Studium hauptsächlich (...) als wissenschaftliche Hilfskraft ... Doktor-Arbeiten ... betreut ... Also erzähl mir bitte nichts über ...


Na, dann wundert's mich aber schon, wie Du Eva's Ansatz derart gründlich mißverstehen konntest!

Ganz ehrlich, ich finde es schon ziemlich ärmlich, wie wenig Ihr auf sachliche Argumente eingehen könnt! Stattdessen "Ich bin aber schlauer als Du! Ich hab 30 Jahre Ingenieurserfahrung auf dem Buckel! Ich bin Mathematiker und hab Doktoren betreut! Wer bist Du denn?" ...

Mein Gott! Wenn mir ein Denkfehler in meiner Argumentationskette unterlaufen ist (gegen den keiner gefeit ist), dann benennt ihn doch einfach! Was ist denn so schwer daran? Die Argumente liegen doch offen da!

Diese dieses Forum vielleicht nicht dominiende, aber doch stets begleitende rechthaberische Attitüde ist wirklich sehr ermüdend!

Ich finde, wir alle sollten vielleicht etwas mehr Respekt gegenüber der Intelligenz und dem Urteilsvermögen der Leser aufbringen!

Gruß Rüdiger

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mschnell »

OK. Wenn Du meinst dass 0 = 1 ist, will ich Dir nicht weiter widersprechen, es ist ja nur eine von vielen alternativen Ansichtren.

-Michael

ruewa
Beiträge: 153
Registriert: Sa 12. Apr 2014, 14:43

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von ruewa »

mschnell hat sinngemäß geschrieben:
Ruewa, Du Dummkopf!


Na meinetwegen. Das ist das Positive an einem Forum: Das Urteil darüber fällen einzig und alleine die Leser - auch und gerade die, die verständlicherweise keine Lust haben, sich selbst ins unergiebige Getümmel zu begeben. Und bei denen ist das Urteil auch ausgesprochen gut aufgehoben!

Nicht, um mich länger mit mschnell herumzustreiten, sondern um interessierten Lesern das Meßproblem vielleicht noch etwas klarer zu verdeutlichen, möchte ich im Folgenden drei unterschiedliche Experimentalanordnungen skizzieren, um zu zeigen, wie sehr der Gegenstand des Experiments die Anforderungen an die Meßapparatur bestimmt.

Vorausgeschickt sei: Es gibt keine ideale Meßvorrichtung. Jede Messung in der realen Welt ist fehlerbehaftet! Und zu jeder (nicht-trivialen) Messung gehört untrennbar die Beschäftigung mit der Frage: "Wie genau ist denn nun eigentlich mein Meßgerät?"

1. Fall: Ein Physiker möchte eine bestimmte Größe messen - sagen wir die Lichtgeschwindigkeit in transparentem Silikon (wieweit die Erkenntnis dann weltbewegend ist, sei dahingestellt). "Auf den Schultern von Riesen stehend" kann er aus guten Gründen davon ausgehen, daß der Wert, den er messen will, eine Konstante ist. Jedwede Schwankung, die er im Verlauf seiner Testreihe mißt, ist dann einzig und allein seiner Meßanordnung geschuldet, und er wird sehr viel Arbeit investieren, seine Apparatur zu analysieren und zu verbessern. Und schließlich wird er die verbleibende Fehlermarge zusammen mit seinen Ergebnissen veröffentlichen (das sind dann die Diagramme mit den I-förmigen Fehlerbalken). Einen Offsetfehler (z.B. durch ungenügende Kalibrierung) kann er überhaupt nicht gebrauchen, denn der verfälscht jede Einzelmessung gleichermaßen. Das würde sein Ergebnis systematisch verfälschen und das Gemeine daran ist, daß dieser Fehler schwer aufzuspüren ist. Einzelne Ausreißer kann er zwar ebensowenig gebrauchen, mit denen kann er aber besser umgehen, denn sie sind erkennbar und er kann sie zur Not herausfiltern (auch wenn ihn das dann in erhebliche Erklärungsnot bringt).

2.Fall: Einem Luftfahrttechnischen Betrieb ist eine Charge Schrauben nach Luftfahrtnorm geliefert worden (diese popligen Dinger sind richtig teuer!). Der Prüfer hat nun die Aufgabe, herauszufinden, ob die Charge innnerhalb der in der Norm spezifizierten Toleranzen liegt (Okay, im wirklichen Leben sind die Nachweispflichten komplizierter verteilt, aber als Beispiel mag das genügen). Er nimmt also eine hinreichend große Stichprobe und vermiß die. U.a. spannt er sie in eine Maschine ein, um deren Scherfestigkeit zu messen: Ein über dem Spannbock abgleitender Schlitten wird mit zunehmender Kraft zur Seite gezogen, bis die Schraube reißt, und das Kraftmaximum (kurz bevor die Schraube nachgibt) wird gemessen. Wovon muß der Prüfer ausgehen? Nun: Schwankungen sind zu erwarten und normal! Solange sie innerhalb definierter Toleranzen bleiben, ist alles okay. Die wichtigste Frage ist aber, ob das Material womöglich selbst Ausreißer aufweist, z.B. infolge von Korn-Anomalien. Ein Ausreißer, und er wird die ganze Charge ins Sperrlager tragen müssen! Ausreißer der Meßvorichtung sind also das allerletzte, was er gebrauchen kann, denn er kann nicht entscheiden, woran es liegt, und wird auf Nummer Sicher gehen müssen. Schwupps, sind ein paar tausend Euro versenkt... Offsetfehler sind für ihn hingegen weniger problematisch. Natürlich müssen die in einem definierten Rahmen bleiben, und deshalb muß seine Meßvorrichtung auch über eine gültige Kalibrierung verfügen. Aber die Möglichkeit von Schwankungen und Prüffehlern ist schon in die Normen eingearbeitet: U.a. deshalb werden solche Materialien durchgängig mit üppigen Sicherheitsfaktoren ausgestattet, um nämlich sicherstellen zu können, daß nicht womöglich unentdeckte Schweinereien und ungenaue Prüfungen zu Materialversagen im später tatsächlich benötigten Festigkeitsbereich führen können. Für diesen Fall ist entscheidend, daß sowohl sein Meßgerät, als auch der Gegenstand seiner Prüfung innerhalb jeweils klar definierter Toleranzen bleibt.

3. Fall: Kommen wir nun zum sozialwissenschaftlichen Experiment. Womit arbeitet ein Psychologe, der (wie Eva) günstige bzw. ungünstige Einflußfaktoren auf das Reaktionsvermögen testen möchte? Banale Antwort: Er arbeitet mit Menschen. Jeder dieser Menschen ist ein Individuum. Schrauben gleicher Größe und Spezifikation sind idealtypisch alle gleich (bzw. sollten es wenigstens innerhalb enger Grenzen sein). Aber Menschen? Frauen, Männer, dicke, dünne, junge, alte, schlaue, dumme, konzentrierte, hippelige, Sportler, Couchpotatoes? Wir sind halt so, wie wir sind, und nicht so, wie wir zugunsten besserer Berechenbarkeit mustergültig sein sollten (falls das irgendjemand für erstebenswert hielte). Schwankungen sind uns selbst zueigen. Untereinander sowieso, aber z.B. auch je nach Tagesform. Und selbst Ausreißer produzieren wir en masse: Eine Wespe umschwirrt uns, das Handy klingelt, oder wir sind gerade in Gedanken versunken - wer kennt das nicht? D.h. aber: Der Gegenstand des Meßvorgangs ist ein gänzlich anderer als in den zuvor beschriebenen Fällen! Schwankungen und Ausreißer sind geradezu sein eigentliches Charakteristikum! Dennoch läßt sich auch dieser Gegenstand "Mensch" vermessen - man muß allerdings vollkommen anders vorgehen, um belastbare Aussagen zu erlangen.

Deshalb arbeiten z.B. Psychologen immer mit unterschiedlichen Gruppen, die sie miteinander vergleichen. Auch Mediziner tun das, wenn sie Medikamente testen. Damit das Ganze Sinn macht, muß man versuchen, alle möglichen anderen Einflußfaktoren zu neutralisieren - eben bis auf den einen, dessen Wirkung man untersuchen möchte. Man muß also danach trachten, beide Gruppen möglichst spiegelbildlich zusammenzusetzen und sie auch den gleichen Bedingungen auszusetzen. Mediziner, die ein neues Medikament testen, verabreichen der einen Gruppe den Wirkstoff, der anderen hingegen ein Placebo, von dem diese glaubt, es enthalte den Wirkstoff - nur so läßt sich auch der wohlbekannte Einfluß psychischer Faktoren ausschließen. Da aber die Menschen untereinander unterschiedlich sind, müssen die Gruppen groß genug sein, um die Streuungen, die beide Gruppen produzieren, einander anzugleichen und die Gruppen gegeneinander zu nivellieren.

Was bedeutet das nun für die Anforderungen an eine Meßvorrichtung, wie Eva sie benötigt hat? Offsetfehler (wie etwa ein als Stoppuhr programmierter Computer sie unweigerlich mit jeder einzelnen Messung produziert) spielen überhaupt keine Rolle! Denn es geht in diesem Versuchsaufbau in keinster Weise um irgendeinen Absolutwert, sondern vielmehr um die Unterschiede, die auf den betrachteten Einflußfaktor zurückzuführen sind. Welchen Wert hätte denn schon die Erkenntnis, daß die durchschnittliche Reaktionszeit beider Gruppen zusammengenommen in Wirklichkeit 249 Millisekunden beträgt, und nicht wie gemessen 251? Nein, die interessierende Frage ist vielmehr: Verändert psychische Anspannung etwa die Reaktionszeiten (z.B. im Straßenverkehr) zum Negativen hin? Oder womöglich auch zum Positiven? Was bewirkt der Unterschied zwischen Anspannung und Entspanntheit? Es geht um das Dingfestmachen eines Unterschieds, nicht um eine irgendwie physikartige Gesamteigenschaft. Und was hat es mit allfälligen Ausreißern der Meßvorrichtung auf sich? Nun, vorausgesetzt, sie bleiben in einem überschaubaren Rahmen (z.B. 1 %), addieren sie sich im schlimmsten Fall zu den menschproduzierten Ausreißern einseitig hinzu. Aber auch die konnten ungleich verteilt sein. Um genau das in den Griff zu kriegen, nimmt man ja hinreichend viele Messungen von hinreichend großen Gruppen vor. Im Best Case aber (und näherungsweise auch im Normalfall) betreffen maschineninduzierte Ausreißer ja beide Gruppen gleichermaßen und kürzen sich so aus dem betrachteten Gruppen-Unterschied gegenseitig (einigermaßen) wieder heraus.

Anhänger der exakten Naturwissenschaften neigen oft dazu, die Sozialwissenschaften mit einiger Herablassung zu betrachten. Was etwa eine "Messung" zu leisten habe, beurteilen sie aus ihrer eigenen, manchmal schon ziemlich verengten Vorstellungswelt heraus. Wer seine eigene Profession für die eigentliche "Königsdisziplin" hält, der hält sich nicht lange damit auf, die Logik dessen, was er abschätzig für "Bonsai-Wissenschaft" hält, zu durchdringen. Aber seit wann ist Borniertheit eine Tugend? Der springende Punkt ist: Der Gegenstand selbst könnte nicht unterschiedlicher sein, und der erfordert jeweils ganz unterschiedliche Versuchsaufbauten und auch ganz unterschiedliche Methoden der Auswertung. Was im einen Fall erfolgsentscheidend ist, kann im anderen vollkommen bedeutungslos sein - und umgekehrt. Es gibt keine allgemeingültige Definition dessen, was wichtig und was unwichtig sei. Sondern es gibt Fälle, in denen das eine wichtig ist und das andere nicht, während sich das im anderen Fall wieder ganz anders darstellen mag.

Diese Überlegungen haben mich dazu geführt, zu sagen: "Hätt'ste ruhig so machen können, Eva!". Mein Fehler, für den ich mich entschuldigen muß, war, nicht schnell genug erkannt zu haben, daß Ihr wie das Kaninchen auf die Schlange der "signifikanten Einzelmessung" gestarrt habt. Nein! In diesem speziellen Fall (und nur in diesem!) ist die Einzelmessung gerade nicht signifikant. Wäre sie es, hätte man etwas falsch gemacht! Signifikant ist vielmehr (hoffentlich) das Ensemble der Gruppen-Messungen.

Warum mache ich mir die Mühe (und das ist es), dies so ausführlich darzulegen? Nicht um das letzte Wort zu behalten (das werden andere besorgen) und auch nicht, um die Leser zu langweilen (so hoffe ich doch!). Ginge es nur um diesen unbedeutenden Thread, würde sich das nicht lohnen. Aber es steckt mehr dahinter! Und darüber lohnt es sich nachzudenken, und zwar gerade für Programmierer, die damit ihren Lebenunterhalt bestreiten oder das eines Tages tun wollen!

Denn dieser unwichtige kleine Thread ist im Kleinen ein Musterbeispiel dafür, wie Softwareentwickler an den Bedürfnissen ihrer Kunden vorbei das Ziel verfehlen können. Wer die Dinge nur aus der eigenen Vorstellungswelt heraus beurteilt und sich dessen nicht bewußt ist, daß die zwangsläufig begrenzt ist, wird immer in Gefahr schweben, den u.U. ganz anderen Kosmos seines Auftraggebers nicht durchdringen zu können, und damit dessen Anforderungskatalog nicht wirklich zu verstehen. Schlimmer noch: Er wird das nicht einmal bemerken und schließlich aus allen Wolken fallen, wenn sein Kunde am Ende unzufrieden ist und sein doch so formidables Produkt, aus purer Bosheit, wie er dann finden wird, schlechtredet.

Sage keiner, soetwas würde so gut wie nie passieren... Insofern könnte es sich vielleicht für den einen oder anderen Leser doch lohnen, die hier geführte Auseinandersetzung noch einmal unter diesem Aspekt zu überdenken, und am Ende vielleicht sogar ein Lehrstück darin zu sehen. Dann wäre die Mühe nicht vergebens gewesen.

Gruß Rüdiger
Zuletzt geändert von ruewa am Mi 17. Sep 2014, 23:19, insgesamt 1-mal geändert.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von m.fuchs »

ruewa hat geschrieben:
mschnell hat geschrieben:Ruewa, Du Dummkopf!

Wo bitte hat mschnell das denn geschrieben?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von m.fuchs »

ruewa hat geschrieben:Denn dieser unwichtige kleine Thread ist im Kleinen ein Musterbeispiel dafür, wie Softwareentwickler an den Bedürfnissen ihrer Kunden vorbei das Ziel verfehlen können. Wer die Dinge nur aus der eigenen Vorstellungswelt heraus beurteilt und sich dessen nicht bewußt ist, daß die zwangsläufig begrenzt ist, wird immer in Gefahr schweben, den u.U. ganz anderen Kosmos seines Auftraggebers nicht durchdringen zu können, und damit dessen Anforderungskatalog nicht wirklich zu verstehen. Schlimmer noch: Er wird das nicht einmal bemerken und schließlich aus allen Wolken fallen, wenn sein Kunde am Ende unzufrieden ist und sein doch so formidables Produkt, aus purer Bosheit, wie er dann finden wird, schlechtredet.

Einspruch Euer Ehren. Ich kenne die Problematik sehr gut, das am Kunden vorbei entwickelt wird. Das Problem kann man durch den Dialog mit dem Kunden häufig umgehen. Einfach miteinander reden und nachfragen, bis klar ist, was der Auftraggeber möchte. Diesen Thread als Beispiel für einen misslungen Dialog zu sehen, finde ich sehr gewagt. Eva hat mehrmals (auch auf Nachfrage) betont, wie wichtig ihr die Genauigkeit der Messung ist.
Die gegebenen Antworten sind also nicht am Problem vorbei gegangen. Und auch von Eva kam kein Widerspruch.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: TTimer zu ungenau - wie funktioniert der EpikTimer?

Beitrag von mschnell »

ruewa hat geschrieben: um interessierten Lesern das Meßproblem vielleicht noch etwas klarer zu verdeutlichen

Die ganzen Beispiele sind sicher soweit instruktiv, sollten aber nicht darüber hiwegtäuschen, dass es für das Wort "Messung" Definitionen gibt, über die man sich klar sein sollte, wenn man es in den Mund nimmt.

Wenn man einen konkrete Sachverhalt im Auge hat, bei dem eine Messung eine Rolle spielt, ist die anzuwendende Definition entweder allen Gesprächsteilnehmern klar, oder man muss sie angeben.

Die Definition einer Messung umfasst z.B. (simpel) den maximalen Fehler oder die Angabe einer Fehlerstatistik (Varianz, Fehlerverteilung, ...

Mit "Klarer Verdeutlichen" meinst Du hoffentlich nicht "den mathematisch exakten Hintergrund verschleiern". Und mit "Bedürfnissen des Kunden" meinst du hoffentlich nicht ihn (als nicht-Fachman) in seiner falschen Einschätzung seiner Bedürfnisse zu bestärken.

-Michael
Zuletzt geändert von mschnell am Do 18. Sep 2014, 12:57, insgesamt 1-mal geändert.

Antworten