Standardabweichung jedes einzelnen Elements vom Median in Zeitkorrektur



  • Hallo,

    ich habe gerade diese Ausarbeitung für einen einfachen Algorithmus zur Zeitsynchronisation bei Computeranwendungen gelesen:

    http://www.mine-control.com/zack/timesync/timesync.html

    Der beschriebene Algorithmus ist auch klar bis auf den Punkt 7:

    "All samples above approximately 1 standard-deviation from the median are discarded and the remaining samples are averaged using an arithmetic mean."

    Sollen also einfach alle Punkte mit einer quadratischen Abweichung > 1 entfernt werden?

    Beispiel:
    Zeitmesseungen: 2,4,4,4,6,7,8,11,11
    Median = 6

    Ist in der Ausarbeitung also einfach gemeint man solle alle Punkte Px = (2,4,4,6,7,8,8,11) verwerfen mit (Px - 6)^2 > 1 ?

    Wenn die Berechnung mit Zeitangaben im Millisekunden-Berech durchgeführt wird, würden doch so nahezu alle Werte außer dem Median selbst entfernt werden?
    (Hier blieben nur 6 und 7 übrig)

    Außerdem würde die Mittelung über alle verbleibenden Elemente 6+7/2 = 6,5 zu einem Ergebnis genauer einer Millisekunde führen. Aber die maximale Korrektur kann doch bei Millisekunden-genauer Messung nur eine Millisekunde betragen.

    Habe ich den Punkt 7 also total falsch verstanden?


  • Mod

    Das hast du falsch verstanden. Es sollen alle Punkte mit mehr als einer Standardabweichung vom Median entfernt werden. (Was die Übersetzung der Beschreibung ist und dir daher vermutlich nicht viel hilft)

    Weißt du, was die Standardabweichung einer Messreihe ist? Das ist eine Zahl, die beschreibt, welche Fluktuationen typisch sind. Alles was über diese typischen Fluktuationen hinaus vom Median abweicht sollst du wegwerfen. Dafür musst du die Standardabweichung zuerst ausrechnen, sie wird nicht 1 sein.



  • nur kurz überflogen, hört sich für mich aber so an:
    1. alle Werte in eine Liste, Median berechnen (sprich: "mittleres" Element nehmen).
    2. Standardabweichung berechnen, also alle quadratischen Abweichungen (x-med)^2 vom berechneten Median aufsummieren, und durch N (oder wars N-1?) dividieren
    3. Liste aus (1) nochmal ansehen, alle Werte die nicht im Bereich Median+-Standardabweichung liegen verwerfen
    4. Verbleibende Werte mitteln, also aufsummieren und durch Anzahl dividieren

    Beispiel:
    Zeitmesseungen: 2,4,4,4,6,7,8,11,11
    Median = 6
    Quadratische Abweichung vom Median: 16,4,4,4,0,1,4,25,25
    Varianz = Summe Quadratische Abweichung / (Anzahl - 1) = 10,375
    Standardabweichung = Wurzel(Varianz) = 3,2...
    verwendbarer Bereich 6+-3,2 --> 2,7 ... 9,2
    von der Liste bleibt somit übrig: 4,4,4,6,7,8
    Mittelwert davon: 33/6 = 5,5

    Keine Garantie für die Zahlenwerte, nur mal so als Beispiel wie das funktionieren könnte.


Log in to reply