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 (внешнее изменение)