Cheat Sheets

Vorverarbeitung von Zeitreihendaten mit MATLAB

Diese Referenz zeigt gängige Anwendungsfälle, ist jedoch keineswegs vollständig.

Timetable

MATLAB Datentyp zum Organisieren und Verarbeiten von Zeitreihendaten.

Bestandteile eines Timetable

tt = timetable(times, var1, var2, ... ,varN);

(Alle Variablen müssen dieselbe Anzahl an Zeilen aufweisen.)

tt = table2timetable(t);

(Die erste datetime- oder duration-Variable in „t“ wird für die Zeilenzeiten verwendet.)

Timetable-Manipulation

Auf Daten zugreifen

Diese geben dasselbe Array zurück.

tt.Temperature

tt{:,'Temperature'} tt{:,1}

Weitere Informationen

Neue Variable hinzufügen

tt.newVar = zeros(height(tt),1);

Variablennamen ändern

tt.properties.VariableNames = newNames;

(Namen müssen gültige MATLAB-Bezeichner sein.)

Tipp: Verwenden Sie matlab.lang.makevalidname , um aus potenziell ungültigen Namen gültige Namen zu erstellen.

Daten mithilfe von Retime neu abtasten

tt = retime(tt,newtimes,method);

method wird verwendet, um nach dem Retiming Lücken zu füllen, und bietet dieselben Optionen wie synchronize (siehe „Timetables zusammenführen“).

Datenbereinigung

Daten glätten

B = smoothdata(A,method);

Verrauschte Daten mit folgenden Methoden glätten:

'movmean','movmedian','gaussian', 'lowess','loess','rlowess', 'rloess','sgolay'

Weitere Informationen

Ausreißer erkennen

TF = isoutlier(A,method);

Ausreißer mit folgenden Methoden erkennen:

'median','mean','quartiles', 'grubbs','gesd'

Weitere Informationen

Änderungspunkte erkennen

TF = ischange(A,method);

Abrupte Änderungen mit folgenden Methoden erkennen: 'mean','variance','linear'

Weitere Informationen

Timetables zusammenführen

Mehrere Timetables mit einem gemeinsamen Zeitvektor synchronisieren.

tt = synchronize(tt1,tt2,...,ttN);

Weitere Informationen

Bei der Synchronisierung entstehen häufig fehlende Datenpunkte, also Zeitpunkte, zu denen eine Variable nicht gemessen wurde. synchronize unterstützt mehrere Methoden zum Anpassen der Daten und zum Füllen dieser Lücken:

Füllen: 'fillwithmissing','fillwithconstant'

Interpolation: 'linear','spline','pchip'

Nächster Nachbar: 'previous', 'next','nearest'

Aggregation: 'mean','min','max',@func,...

Fehlende Daten

Fehlende Werte finden

TF = ismissing(tt);

Weitere Informationen

Fehlende Werte auffüllen

tt = fillmissing(tt,method);

Fehlende Werte durch Werte ersetzen, die anhand benachbarter Datenpunkte mit folgenden Methoden berechnet werden:

'previous','next','nearest',

'linear','spline','pchip'

Weitere Informationen

Zeilen mit fehlenden Werten entfernen

tt = rmmissing(tt);

Big Data

Tall Arrays erweitern MATLAB-Funktionen für die Verarbeitung von Daten, die zu groß sind, um vollständig in den Arbeitsspeicher geladen zu werden.

Erstellen eines Tall Timetable:

% Create a datastore that points to % the data

ds = datastore('*.csv');

% Create a tall table from the % datastore

t = tall(ds);

Weitere Informationen

% Convert to a timetable

tt = table2timetable(t);