Временной ряд — это ряд точек данных, в которых каждая точка данных связана с временной меткой. Простым примером является цена акции на фондовом рынке в разные моменты времени в данный день. Другим примером является количество осадков в регионе в разные месяцы года. Язык R использует множество функций для создания, манипулирования и отображения данных временных рядов. Данные для временного ряда хранятся в объекте R, который называется объектом временного ряда . Это также объект данных R, такой как вектор или фрейм данных.
Объект временного ряда создается с помощью функции ts () .
Синтаксис
Основной синтаксис функции ts () в анализе временных рядов —
timeseries.object.name <- ts(data, start, end, frequency)
Ниже приведено описание используемых параметров:
-
Данные — это вектор или матрица, содержащая значения, используемые во временных рядах.
-
start указывает время начала первого наблюдения во временных рядах.
-
end указывает время окончания последнего наблюдения во временных рядах.
-
частота указывает количество наблюдений за единицу времени.
Данные — это вектор или матрица, содержащая значения, используемые во временных рядах.
start указывает время начала первого наблюдения во временных рядах.
end указывает время окончания последнего наблюдения во временных рядах.
частота указывает количество наблюдений за единицу времени.
Кроме параметра «данные» все остальные параметры являются необязательными.
пример
Рассмотрим данные о годовом количестве осадков в месте, начиная с января 2012 года. Мы создаем объект временного ряда R на период 12 месяцев и наносим его на график.
# Get the data points in form of a R vector. rainfall <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071) # Convert it to a time series object. rainfall.timeseries <- ts(rainfall,start = c(2012,1),frequency = 12) # Print the timeseries data. print(rainfall.timeseries) # Give the chart file a name. png(file = "rainfall.png") # Plot a graph of the time series. plot(rainfall.timeseries) # Save the file. dev.off()
Когда мы выполняем приведенный выше код, он дает следующий результат и диаграмму —
Jan Feb Mar Apr May Jun Jul Aug Sep 2012 799.0 1174.8 865.1 1334.6 635.4 918.5 685.5 998.6 784.2 Oct Nov Dec 2012 985.0 882.8 1071.0
Диаграмма временного ряда —
Разные интервалы времени
Значение параметра частоты в функции ts () определяет интервалы времени, в которые измеряются точки данных. Значение 12 указывает, что временной ряд составляет 12 месяцев. Другие значения и их значение, как показано ниже —
-
частота = 12 привязок точек данных за каждый месяц года.
-
частота = 4 привязки точек данных за каждый квартал года.
-
частота = 6 привязок точек данных за каждые 10 минут часа.
-
частота = 24 * 6 привязок точек данных для каждых 10 минут дня.
частота = 12 привязок точек данных за каждый месяц года.
частота = 4 привязки точек данных за каждый квартал года.
частота = 6 привязок точек данных за каждые 10 минут часа.
частота = 24 * 6 привязок точек данных для каждых 10 минут дня.
Несколько временных рядов
Мы можем построить несколько временных рядов на одном графике, объединив оба ряда в матрицу.
# Get the data points in form of a R vector. rainfall1 <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071) rainfall2 <- c(655,1306.9,1323.4,1172.2,562.2,824,822.4,1265.5,799.6,1105.6,1106.7,1337.8) # Convert them to a matrix. combined.rainfall <- matrix(c(rainfall1,rainfall2),nrow = 12) # Convert it to a time series object. rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12) # Print the timeseries data. print(rainfall.timeseries) # Give the chart file a name. png(file = "rainfall_combined.png") # Plot a graph of the time series. plot(rainfall.timeseries, main = "Multiple Time Series") # Save the file. dev.off()
Когда мы выполняем приведенный выше код, он дает следующий результат и диаграмму —
Series 1 Series 2 Jan 2012 799.0 655.0 Feb 2012 1174.8 1306.9 Mar 2012 865.1 1323.4 Apr 2012 1334.6 1172.2 May 2012 635.4 562.2 Jun 2012 918.5 824.0 Jul 2012 685.5 822.4 Aug 2012 998.6 1265.5 Sep 2012 784.2 799.6 Oct 2012 985.0 1105.6 Nov 2012 882.8 1106.7 Dec 2012 1071.0 1337.8
Диаграмма с несколькими временными рядами —