Excel: Zwei Datenreihen vergleichbar machen?
Hallo,
ich habe bei Excel zwei Datenreihen. Diese Datenreihen sind direkt proportional zueinander.
Das Problem ist, dass die eine Datenreihe nicht genau so viele Messpunkte besitzt wie die Andere, d.h. ich kann diese Daten nicht miteinander vergleichen.
Die eine Reihe besitzt 500 Werte, die andere 1000.
Der graphische verlauf der beiden Reihen ist identisch nur das die Reihe mit den 1000 Punkten gestreckter ist. (Um das doppelte)
(Wenn die Reihe mit 500 Punkten bei Messpunkt 250 einen Peak hat, dann hat die Messreihe mit 1000 Punkten bei 500 einen Peak, da bei Reihen in dem selben Zeitraum gemessen wurden, aber die eine doppelt so viele Messungen hat)
Meine Frage wäre: Gibt es ein Verfahren womit ich die Reihe mit den 500 Messpunkten der mit den 1000 Messpunkten strecken und angleichen kann und die fehlenden werte automatisch interpoliert werden?
Danke für eure Hilfe!
Gruß
4 Antworten
Am einfachsten wäre jeden zweiten messwert leer zu lassen...
Dann hättest du den direkten Vergleich.
Oder spricht was dagegen?
Ich sehe zwei verschiedene Möglichkeiten:
a) Aggregation: bedeutet, dass du mehrere Datenpunkte zusammenfast und somit die Menge an Daten verringerst. Einfachste Methode: jeden zweiten Datenpunkt rausschmeißen. Oder den Mittelwert von zweien bilden jeweils.
b) Disaggregation: bedeutet, dass du Datenpunkte "neu" dazulegst, z.B. den Mittelwert von Punkt A und B zwischen ihnen einfügst.
Letztlich läuft es auf Interpolation hinaus. Hier gibt es wirklich hunderte Methoden, die ganze Bücher füllen. Für den einfachen Fall würde ich am ehesten mit Mittelwerten arbeiten.
Beispiel:
Reihe A: 10, 30, 50, 60
Reihe B: 100, 200, 300, 400, 500, 550, 600
Du könntest entweder Reihe B verkürzen (Aggegation):
Reihe A: 10, 30, 50, 60
Reihe B: 100, 300, 500, 600
Oder Reihe A vergrößern:
Reihe A: 10, 20, 30, 40, 50, 55, 60
Reihe B: 100, 200, 300, 400, 500, 550, 600
Im obigen Beispiel ist es simpel. Du musst halt sehen, ob der Mittelwert bei dir auch passt, oder ob du komplexere Datenstrukturierungen brauchst. Solltest du dich schon besser mit Interpolationen auskennen, werfe ich mal Cubic Spline und Inverse Distance Weighting in den Raum.
Ich fand die Frage von Oubyi gut: gibt es sowas wie einen Zeitstempel, der eine gemeinsame Referenz für die Datenreihen darstellt? Dann könntest du mithilfe des SVERWEIS zunächst mal die lückenhafte Datenreihe generieren.
Ich habe ein Plugin für Cubic Splines in Excel, damit kriegt man das auch gut hin, allerdings musst du dafür halt erst was installieren und es ist auch nicht so ganz einfach zum Bedienen.
Solche Probleme löse ich viel lieber in Python oder R.
Vielleicht kannst du uns Ausschnitte der Datenreihen mal hochladen, dann kriegen wir das am ehesten hin.
Vermutlich brauchst Du zwei neue Spalten. Aber warum schreibt hier keiner, wo die Werte stehen???!!!
von 500 auf 1000 strecken:
=Wenn(Rest(Zeile()+1;2)=0;index(A:A;(Zeile()+1)/2);0) und für die Werte dasselbe mit B
Dann: Wenn(B2=0;(B1+B3)/2;B2).
Ggf als WERTE in die lange Liste einfügen oder direkt verwursten.
Musst Du ggf anpassen. (B geht noch nicht für die 1. Zeile)
ist natürlich nur die lineare Interpolation ohne Berücksichtigung der Kurvenkrümmung.
Danke für die fixe Antwort.
das klappt wirklich sehr gut.
Geht diese Formel auch wenn ich eine Datenreihe mit 700 Daten auf 1000 Strecken will?
Wenn es der gleiche Zeitraum ist und Du für die Werte auch einen Zeitstempel hast, könntest Du doch die 500 Werte einfach den Zeitstempeln der Liste mit 1000 Werten zuordnen. Oder passt das nicht 100%ig. Und könnte man nicht in die Lücken der 500 Werte dann lieber ein #NV schreiben, sodass sie einfach übersprungen werden, statt zu interpolieren?
Sorry falls das "dumm" klingt, ich kenne mich mit Messreihen nicht so genau aus. Vielleicht kannst Du mal die ersten 10 Wertepaare zeigen, damit ich mir das besser vorstellen kann?
Danke für die schnelle Antwort.
Die Antwort bezieht sich genau auf meine Problemstellung.
Das Problem ist nur, dass es bei meiner Datenmenge ein viel zu großer Aufwand wäre. Gibt es eine Möglichkeit diese Methoden automatisch auf meine Datenreihen zu übertragen?
Ich habe um die 20.000 Daten.
(Das mit den 1000 und 500 war ein Beispiel).
Bei mir bietet es sich an die Reihe A zu vergrößern.
Danke.