translate:using_r_for_time_series_analysis
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
translate:using_r_for_time_series_analysis [2014/12/12 19:17] – [Графическое представление временных рядов] artamonov | translate:using_r_for_time_series_analysis [2015/02/05 15:34] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 128: | Строка 128: | ||
Мы можем видеть из графика, | Мы можем видеть из графика, | ||
- | Похожим образом, | + | Похожим образом, |
<code rsplus> | <code rsplus> | ||
Строка 138: | Строка 138: | ||
Мы можем заметить, | Мы можем заметить, | ||
- | Для построения графика ряда ежемесячных продаж в магазине сувениров на пляже курортного городка в штате Квинсленд Австралии, мы набираем: | + | Для построения графика ряда ежемесячных продаж в магазине сувениров на пляже курортного городка в штате Квинсленд Австралии мы используем такой код: |
<code rsplus> | <code rsplus> | ||
Строка 145: | Строка 145: | ||
{{ : | {{ : | ||
+ | |||
+ | В этом случае, | ||
+ | |||
+ | <code rsplus> | ||
+ | > logsouvenirtimeseries <- log(souvenirtimeseries) | ||
+ | > plot.ts(logsouvenirtimeseries) | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Здесь мы видим, что величина сезонных колебаний и случайных колебаний в лог-преобразованном временном ряде примерно постоянны в течение долгого времени, | ||
+ | |||
+ | ==== Разложение временного ряда ==== | ||
+ | |||
+ | Разложение временного ряда - разделение его на составляющие компоненты, | ||
+ | |||
+ | === Разложение непериодических данных === | ||
+ | |||
+ | Непериодический временной ряд состоит из составляющей тренда и нерегулярной компоненты. Разложение временного ряда сопряжено с попытками разделить временной ряд на эти компоненты, | ||
+ | |||
+ | Для оценки трендовой составляющей в непериодических временных рядах, которые могут быть описаны аддитивной моделью, | ||
+ | |||
+ | Функция '' | ||
+ | |||
+ | <code rsplus> | ||
+ | > library(" | ||
+ | </ | ||
+ | |||
+ | Затем вы можете использовать функцию '' | ||
+ | |||
+ | Например, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Так, мы можем попробовать оценить составляющую тренда этого временного ряда при сглаживании его простым скользящим средним. Для сглаживания временного ряда используем простое скользящее среднее порядка 3 и выведем результирующий график: | ||
+ | |||
+ | <code rsplus> | ||
+ | > kingstimeseriesSMA3 <- SMA(kingstimeseries, | ||
+ | > plot.ts(kingstimeseriesSMA3) | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Похоже, | ||
+ | |||
+ | <code rsplus> | ||
+ | > kingstimeseriesSMA8 <- SMA(kingstimeseries, | ||
+ | > plot.ts(kingstimeseriesSMA8) | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Данные, | ||
+ | |||
+ | === Разложение периодических данных === | ||
+ | |||
+ | Периодические данные состоят из составляющей тренда, | ||
+ | |||
+ | Чтобы оценить составляющую тренда и периодическую составляющую периодического временного ряда, который может быть описан аддитивной моделью, | ||
+ | |||
+ | Функиция '' | ||
+ | |||
+ | Например, | ||
+ | |||
+ | {{ : | ||
+ | Для оценки тренда, | ||
+ | |||
+ | <code rsplus> | ||
+ | > birthstimeseriescomponents <- decompose(birthstimeseries) | ||
+ | </ | ||
+ | |||
+ | Оценки значений тренда, | ||
+ | '' | ||
+ | |||
+ | <code rsplus> | ||
+ | > birthstimeseriescomponents$seasonal # get the estimated values of the seasonal component | ||
+ | | ||
+ | 1946 -0.6771947 -2.0829607 | ||
+ | 1947 -0.6771947 -2.0829607 | ||
+ | 1948 -0.6771947 -2.0829607 | ||
+ | 1949 -0.6771947 -2.0829607 | ||
+ | 1950 -0.6771947 -2.0829607 | ||
+ | 1951 -0.6771947 -2.0829607 | ||
+ | 1952 -0.6771947 -2.0829607 | ||
+ | 1953 -0.6771947 -2.0829607 | ||
+ | 1954 -0.6771947 -2.0829607 | ||
+ | 1955 -0.6771947 -2.0829607 | ||
+ | 1956 -0.6771947 -2.0829607 | ||
+ | 1957 -0.6771947 -2.0829607 | ||
+ | 1958 -0.6771947 -2.0829607 | ||
+ | 1959 -0.6771947 -2.0829607 | ||
+ | </ | ||
+ | |||
+ | Оценки значений сезонной компоненты приведены для месяцев с января по декабрь для каждого года. Наиюольшее значение сезонной составляющей в июле (примерно 1.46), а наименьшее в февреле (примерно -2.08), что соответствует пику рождаемости в июле и провалу в феврале каждого года. | ||
+ | |||
+ | Мы можем вывести оценки тренда, | ||
+ | |||
+ | <code rsplus> | ||
+ | > plot(birthstimeseriescomponents) | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | На графиках выше показан исходный временной ряд (верхний график), | ||
+ | |||
+ | === Исключение периодической составляющей === | ||
+ | Если у вас есть периодический временной ряд, который может быть описан аддитивной моделью, | ||
+ | |||
+ | Например, | ||
+ | |||
+ | <code rsplus> | ||
+ | > birthstimeseriescomponents <- decompose(birthstimeseries) | ||
+ | > birthstimeseriesseasonallyadjusted <- birthstimeseries - birthstimeseriescomponents$seasonal | ||
+ | </ | ||
+ | |||
+ | Затем мы можем вывести график временного ряда без сезонной составляющей при помощи функции '' | ||
+ | |||
+ | <code rsplus> | ||
+ | > plot(birthstimeseriesseasonallyadjusted) | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | На графике видно, что сезонные перепады были удалены из исходного временного ряда. Получившийся временной ряд содержит только составляющую тренда и нерегулярную составляющую. | ||
+ | |||
+ | ==== Прогнозирование и экспоненциальное сглаживание ==== | ||
+ | |||
+ | Экспоненциальное сглаживание может быть использовано для краткосрочных прогнозов данных временного ряда. | ||
+ | |||
+ | === Простое экспоненциальное сглаживание === | ||
+ | Если ваш временной ряд может быть описан аддтивной моделью с постоянным уровнем и не содержит сезонных колебаний, | ||
+ | |||
+ | Простое экспоненциальное сглаживание даёт возможность оценить уровень в текущей точке. Сглаживание определяется параметром '' | ||
+ | |||
+ | Например, | ||
+ | |||
+ | <code rsplus> | ||
+ | > rain <- scan(" | ||
+ | Read 100 items | ||
+ | > rainseries <- ts(rain, | ||
+ | > plot.ts(rainseries) | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | === Экспоненциальное сглаживание Хольта === | ||
+ | Как видно из графика, | ||
+ | |||
+ | Для прогнозирования при помощи простого экспоненциального сглаживания в R, мы можем использовать модель прогноза простого экспоненциального сглаживания при помощи функции '' | ||
+ | |||
+ | Функция '' | ||
+ | |||
+ | Например, | ||
+ | |||
+ | <code rsplus> | ||
+ | > rainseriesforecasts <- HoltWinters(rainseries, | ||
+ | > rainseriesforecasts | ||
+ | Smoothing parameters: | ||
+ | alpha: | ||
+ | beta : FALSE | ||
+ | gamma: | ||
+ | Coefficients: | ||
+ | [,1] | ||
+ | a 24.67819 | ||
+ | </ | ||
+ | |||
+ | Вывод функции '' | ||
+ | |||
+ | По умолчанию, | ||
+ | |||
+ | TODO | ||
+ | |||
+ | === Экспоненциальное сглаживание Хольта-Винтера === | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ==== Модели АРПСС (ARIMA) ==== | ||
+ | |||
+ | TODO | ||
+ | |||
+ |
translate/using_r_for_time_series_analysis.1418411861.txt.gz · Последнее изменение: 2014/12/12 19:17 (внешнее изменение)