Korrelation zweier zeitlicher Messreihen unterschiedlicher Taktung

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
DisasterArea
Beiträge: 1
Registriert: Sa Feb 02, 2019 6:33 pm

Korrelation zweier zeitlicher Messreihen unterschiedlicher Taktung

Beitrag von DisasterArea »

Hallo,

ich habe als Datenbasis eine Umweltmessung, welche über einen Zeitraum Messungen am selben Ort zu einem physikalischen Parameter, z.B. Temperatur, mittels zweier Messsensoren aufgezeichnet hat. Es geht mir darum zu prüfen, in wieweit die beiden Sensoren zum selben Messergebnis kommen, wieweit ihre Messwerte also miteinander korrelieren.

Das Problem ist, dass beide Sensoren asynchron laufen und auch ihre Messungen in unterschiedlichen Frequenzen durchführen. Angenommen, die zeitliche Auflösung sei eine Sekunde, so sieht die Messreihe in etwa so aus (T=Zeitpunkt, S1 = Messwert Sensor 1, S2 = Messwert Sensor 2):

T , S1 , S2
T01, 22.3, 22.2
T02, - , -
T03, 22.4, -
T04, - , 22.3
T05, 22.4, -
T06, - , -
T07, 22.3, -
T08, - , 22.2

Im konkreten Fall gehe ich davon aus, dass mir zu dem einen Sensor in etwa ein Takt von 60 Sek. vorliegt, der andere Sensor mit 180 Sek., wobei hier Schwankungen um mehrere Sekunden möglich sind (180 +/- 10).
Ich bin nun kein Statistik Guru und müsste zunächst in dicken Wälzern zu angewandter Statistik blättern, aber vielleicht geht es hier ja schneller.

Also: Gibt es eine statistische Lösung für die Auswertung und wenn ja, wie ist diese mit R! zu machen? Ein paar Stichworte, unter denen ich dazu etwas finden könnte oder auch eine Lösung in R! wären wunderbar.

Gruß

DisasterArea
Tilmann
Beiträge: 4
Registriert: Do Mär 28, 2019 12:59 pm

Re: Korrelation zweier zeitlicher Messreihen unterschiedlicher Taktung

Beitrag von Tilmann »

Hallo DisasterArea,

falls die Temperaturen sich innerhalb 180 Sekunden nicht schnell ändern, gibt es die Möglichkeit den vorhergehenden Wert zu kopieren.
Das geht mit zoo::na.locf() (Last Observation carried forward), dazu müssen die Daten in einem data.frame vorliegen. Alternativ tidyvers::fill().

Eine andere Möglichkeit wäre, die Zeilen mit nur einem Temperaturwert zu unterdrücken.

Gruß
Tilmann
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Korrelation zweier zeitlicher Messreihen unterschiedlicher Taktung

Beitrag von consuli »

Mein Vorschlag wäre:

- Einen zweiten gröberen Zeitindex "Tgrob" erzeugen, z.B. Tag und Stunden
- Dann S1 und S2 über Tgrob mit merge( ... , all= TRUE) redundant aufjoinen
- neue Variable "Tdiff" erzeugen, die die Zeitdifferenz des originären Zeitindex T enthält
- neue Variable "S1undS2vorhanden" erzeugen
- Redundanten Datensatz nach Tneu, S1undS2vorhanden, Tdiff aufsteigend sortieren
- Dubletten mit der Funktion unique() entfernen


Auf diese Weise erhältst Du jeweils einen Datenzeile pro Zeitindex "Tgrob" für die es beide Sensordaten gibt.
Irmgard.
Antworten