Median-Funktion für die Mittelwertbildung

OP #730881
Lesenswert?

Hi,

für eine Mittelwertbildung will ich die Median-Funktion einsetzen.
Jetzt wollte ich mal fragen, wie Median genau funktioniert.
gehen wir von 5 Werten aus, wie würde die Median-Funkiton vorgehen um 
die Mittlung zu bilden?

ist es richtig, dass die Werte sortiert werden und danach einfach der 
Mittlere-Wert (in dem Beispeil dann der Wert an der 3. Stelle) genommen 
wird?
Ist es das was Median macht?

So wie auf dem Bild zu sehen ist, bekomme ich kontinuirlisch einen 
Messwert. Die Zahl wird in eine Array gespeichert. Jedesmal wenn ich 
unten angekommen bin, springe ich auf den Anfang. Die Median-Funktion 
wird nach der 5. Messung eingesetzt und danach bei jeder Messung, weil 
ich immer 5 Werte in mein Array besitze.

Ist es eine gute Lösung, nach jeder Messung "Median" zu bilden?


Gruß
Cimbom
Angehängte Dateien:
#730896
Lesenswert?

Cimbom Gs wrote:
> Hi,
>
> für eine Mittelwertbildung will ich die Median-Funktion einsetzen.
> Jetzt wollte ich mal fragen, wie Median genau funktioniert.
> gehen wir von 5 Werten aus, wie würde die Median-Funkiton vorgehen um
> die Mittlung zu bilden?

http://de.wikipedia.org/wiki/Median#Median_einer_Stichprobe

> ist es richtig, dass die Werte sortiert werden und danach einfach der
> Mittlere-Wert (in dem Beispeil dann der Wert an der 3. Stelle) genommen
> wird?
> Ist es das was Median macht?
>
> So wie auf dem Bild zu sehen ist, bekomme ich kontinuirlisch einen
> Messwert. Die Zahl wird in eine Array gespeichert. Jedesmal wenn ich
> unten angekommen bin, springe ich auf den Anfang. Die Median-Funktion
> wird nach der 5. Messung eingesetzt und danach bei jeder Messung, weil
> ich immer 5 Werte in mein Array besitze.
>
> Ist es eine gute Lösung, nach jeder Messung "Median" zu bilden?

Kommt drauf an. Wenn dir der zusätzliche Sortierschritt beim
Einfügen eines Messwerts nichts ausmacht.
OP #730936
Lesenswert?

Karl heinz Buchegger wrote:
> Kommt drauf an. Wenn dir der zusätzliche Sortierschritt beim
> Einfügen eines Messwerts nichts ausmacht.

ja gut aber bei nur 5 Werten macht doch eine zusätzliche Sortierschritt 
nichts aus oder?

Welche Lösung würdest Du vorschlagen, wenn der zusätzliche Schritt was 
ausmachen würde?
#730959
Lesenswert?

Cimbom Gs wrote:
> Karl heinz Buchegger wrote:
>> Kommt drauf an. Wenn dir der zusätzliche Sortierschritt beim
>> Einfügen eines Messwerts nichts ausmacht.
>
> ja gut aber bei nur 5 Werten macht doch eine zusätzliche Sortierschritt
> nichts aus oder?

Habs jetzt nicht konkret analysiert. Aber aus dem Bauch heraus
würde ich mal sagen, dass die Sortiererei mindestens 60 bis 70%
der Laufzeit deiner Medianbestimmung ausmacht.

Wie gesagt: Kommt auf deine Timing Vorgaben an. Wenn eine leicht
erhöhte Laufzeit kein Problem ist.

Zudem verbrauchst du ja auch noch mehr Speicher. Die 5 Werte
müssen ja in sortierter Form auch irgendwo gespeichert werden.

>
> Welche Lösung würdest Du vorschlagen, wenn der zusätzliche Schritt was
> ausmachen würde?

Ich würde mal abschätzen, ob ich die Ausreisser nicht mit anderen
Mitteln in den Griff kriege. Um beim Beispiel von Wikipedia zu
bleiben. Wenn mein geschätzeter Mittelwert der Gehälter in einer
Firma irgendwo in der Nähe von 2000 Euro liegt, dann fliegt eine
Stichprobe von 60000000 Euro (weil du der Boss von Porsche bist) aus
der Berechnung des Mittelwerts raus, weil er über einer Grenze von
sagen wir mal 10000 Euro liegt.

Andere Möglichkeit:
Je größer die Anzahl der Stichproben, desto geringer ist der Einfluss
von Aussreisern.

Andere Möglichkeit:
Analoge Messgrößen ändern sich im Regelfall nicht von einer
Hunderstelsekunde zur nächsten um mehrere Zehnerpotenzen.
Wird sowas detektiert, dann wird das wohl ein Ausreisser sein
und wird nicht eingerechnet.
OP #730980
Lesenswert?

Karl heinz Buchegger wrote:
> Zudem verbrauchst du ja auch noch mehr Speicher. Die 5 Werte
> müssen ja in sortierter Form auch irgendwo gespeichert werden.

so wird es auch gemacht. bevor ich mit der Sortierung beginnne, lege ich 
die Werte in einem Temp-Array ab und sortiere in dem Temp-Array mit 
Bubble-Sort die Zahlen nach der Größe. Wenn ich weiß dass ich nur 5 
Werte habe, dann kann ich sofort sagen dass Temp-Array[2] mein Median 
ist :-)

Danke für deine Hilfe!
Gast #741809
Lesenswert?

Hallo Cimbom!

> Karl heinz Buchegger wrote:
> > Zudem verbrauchst du ja auch noch mehr Speicher. Die 5 Werte
> > müssen ja in sortierter Form auch irgendwo gespeichert werden.
>
> so wird es auch gemacht. bevor ich mit der Sortierung beginnne,
> lege ich die Werte in einem Temp-Array ab und sortiere in dem
> Temp-Array mit Bubble-Sort die Zahlen nach der Größe. Wenn ich
> weiß dass ich nur 5 Werte habe, dann kann ich sofort sagen dass
> Temp-Array[2] mein Median ist :-).

Für derart kleine Array-Grössen (5 Werte) kannst du alle cleveren 
Median-Algorithmen vergessen und ein getrimmtes Sortiernetzwerk 
gebrauchen. Für den 5-er Array ist das z.Bsp. hier beschrieben:

http://www.cs.uky.edu/~lewis/essays/algorithms/sortnets/sort-net.html

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren