Create timeseries object
Time series are data vectors sampled over time, in order, often at regular intervals. They are distinguished from randomly sampled data that form the basis of many other data analyses. Time series represent the time-evolution of a dynamic population or process. The linear ordering of time series gives them a distinctive place in data analysis, with a specialized set of techniques. Time series analysis is concerned with:
ts = timeseries(tsname) creates an empty time-series object using the name, tsname, for the time-series object. This name can differ from the time-series variable name.
ts = timeseries(data) creates the time-series object using the specified data.
The time-series data, which can be an array of samples
Time-series name specified as a string
Default: ' '
The time vector.
Default: A time vector that ranges from 0 to N-1 with a 1-second interval, where N is the number of samples.
An integer vector with values-128 to 127 that specifies the quality in terms of codes defined by QualityInfo.Code
When Quality is a vector:
When Quality is an array:
Time-series data, where each data sample corresponds to a specific time
The data can be a scalar, a vector, or a multidimensional array. Either the first or last dimension of the data must align with Time.
By default, NaNs represent missing or unspecified data. Set the TreatNaNasMissing property to determine how missing data is treated in calculations.
Contains fields for storing contextual information about Data:
An array of tsdata.event objects that stores event information for this timeseries object.
You add events by using the addevent method. Fields of the tsdata.event object include the following:
Logical value (true or false) specifies whether the time vector is aligned with the first or last dimension of the Data array. The value is false for 3-D and higher dimensional data and true otherwise.
Length of the time vector in the timeseries object
The timeseries object name entered as a string, tsname.
This name can differ from the name of the timeseries variable in the MATLAB workspace.
An integer vector or array containing values -128 to 127 that specify the quality in terms of codes defined by QualityInfo.Code.
When Quality is a vector, it must have the same length as the time vector. In this case, each Quality value applies to a corresponding data sample.
When Quality is an array, it must have the same size as the data array. In this case, each Quality value applies to the corresponding value of the data array.
Provides a lookup table that converts numerical Quality codes to readable descriptions.
QualityInfo fields include the following:
Lengths of Code and Description must match.
Array of time values.
When TimeInfo.StartDate is empty, the numerical Time values are measured relative to 0 in specified units. When TimeInfo.StartDate is defined, the time values are date strings measured relative to the StartDate in specified units.
The length of Time must be the same as either the first or the last dimension of Data. When the data contains three or more dimensions, the length of Time matches the size of the last data dimension. Otherwise, the length of Time matches the size of the first data dimension.
Uses the following fields for storing contextual information about Time:
Logical value that specifies how to treat NaN values in Data:
Generic field for data of any class that you want to add to the object.
Query timeseries object property values.
Return the size of each data sample in a timeseries object.
Return data quality descriptions based on the Quality property values assigned to a timeseries object.
Plot the timeseries object.
Set timeseries property values.
Add a data sample to a timeseries object.
Concatenate timeseries objects in the time dimension.
Transpose a timeseries object.
Delete a sample from a timeseries object.
Subtract the mean or best-fit line and remove all NaNs from time-series data.
Shape frequency content of time-series data using a 1-D digital filter.
Extract a date-string time vector from a timeseries object into a cell array.
Extract a subset of data samples from an existing timeseries object into an array using a subscripted indexed array.
Extract a subset of data samples from an existing timeseries object into a new timeseries object using a subscript indexed array.
Get the interpolation method for a timeseries object.
Extract data samples from an existing timeseries object into a new timeseries object based on specified start and end time values.
Apply an ideal pass or notch (noncausal) filter to a timeseries object.
Select or interpolate data in a timeseries object using a new time vector.
Set the time values in the time vector as date strings.
Set interpolation method for a timeseries object.
Assign uniform time vector to timeseries object.
Synchronize and resample two timeseries objects using a common time vector.
Transpose a timeseries object.
Add one or more events to a timeseries object.
Delete one or more events from a timeseries object.
Create a new timeseries object by extracting the samples from an existing time series that occur after or at a specified event.
Create a new timeseries object by extracting the samples that occur after a specified event from an existing time series.
Create a new timeseries object by extracting the samples that occur at the same time as a specified event from an existing time series.
Create a new timeseries object by extracting the samples that occur before or at a specified event from an existing time series.
Create a new timeseries object by extracting the samples that occur before a specified event from an existing time series.
Create a new timeseries object by extracting the samples that occur between two specified events from an existing time series.
Addition of the corresponding data values of timeseries objects.
Subtraction of the corresponding data values of timeseries objects.
Element-by-element multiplication of timeseries data.
Matrix-multiply timeseries data.
Right element-by-element division of timeseries data.
Right matrix division of timeseries data.
Element-by-element left-array divide of timeseries data.
Left matrix division of timeseries data.
Return the interquartile range of timeseries data.
Return the maximum value of timeseries data.
Return the mean of timeseries data.
Return the median of timeseries data.
Return the minimum of timeseries data.
Return the standard deviation of timeseries data.
Return the sum of timeseries data.
Return the variance of timeseries data.
The time-series object, called timeseries, is a MATLAB variable that contains time-indexed data and properties in a single, coherent structure. For example, in addition to data and time values, you can also use the time-series object to store events, descriptive information about data and time, data quality, and the interpolation method.
A time-series data sample consists of one or more values recorded at a specific time. The number of data samples in a time series is the same as the length of the time vector.
For example, suppose that ts.data has the size 3-by-4-by-5 and the time vector has the length 5. Then, the number of samples is 5 and the total number of data values is 3 x 4 x 5 = 60.
A time vector of a timeseries object can be either numerical (double) values or valid MATLAB date strings.
When the timeseries TimeInfo.StartDate property is empty, the numerical time values are measured relative to 0 (or another numerical value) in specified units. In this case, the time vector is described as relative (that is, it contains time values that are not associated with a specific start date).
When TimeInfo.StartDate is nonempty, the time values are date strings measured relative to StartDate in specified units. In this case, the time vector is described as absolute (that is, it contains time values that are associated with a specific calendar date).
MATLAB supports the following date-string formats for time-series applications.
|Date-String Format||Usage Example|
|dd-mmm-yyyy HH:MM:SS||01-Mar-2000 15:45:17|
|HH:MM:SS PM||3:45:17 PM|
|HH:MM PM||3:45 PM|
|mmm.dd,yyyy HH:MM:SS||Mar.01,2000 15:45:17|
Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB documentation.
Create a timeseries object called 'LaunchData' that contains four data sets, each stored as a column of length 5 and using the default time vector:
b = timeseries(rand(5, 4),'Name','LaunchData')
Create a timeseries object containing a single data set of length 5 and a time vector starting at 1 and ending at 5:
b = timeseries(rand(5,1),[1 2 3 4 5])
Create a timeseries object called 'FinancialData' containing five data points at a single time point:
b = timeseries(rand(1,5),1,'Name','FinancialData')