Уважаемый переполнение стека сообщества,Нужна помощь в создании простой модели для прогнозирования уровня безработицы с использованием данных из Google Trends
Я новичок в мире статистического программирования с использованием R. Я поставлена задача создания простого авторегрессии модель, с помощью которой можно было бы прогнозировать или, если можно так выразиться, прогнозировать уровень безработицы в стране, используя только данные из Google Trends. Чтобы создать модель, мне был предоставлен файл .csv, содержащий уровень безработицы между 2011 и 2015 годами (5 лет) и CSV-файл, содержащий значения Google Trends для темы «Безработица» (2011-2015).
Как можно представить, я импортировал оба файла в RStudio и преобразовал их во временные ряды (60 месяцев). Вот краткий обзор:
Unemployment Rates vs Google Trends
Я бы сейчас нужна помощь в создании этой модели AR. Пожалуйста, имейте в виду, что эта модель должна оставаться как можно более простой и не должна быть идеальной. Вот мои вопросы:
- Должен ли я использовать разложенные временные ряды, даже если значения разложенного временного ряда не настолько убедительны (значения p по-прежнему высоки).
- Каким будет самый простой способ создания авторегрессионной модели с использованием R и двух временных рядов (безработица, google). Затем эту модель следует использовать для прогнозирования фактического уровня безработицы с использованием фактического значения Google Trends.
Поскольку я не очень опытен с R, я немного теряюсь. Помощь будет принята с благодарностью!
Большое спасибо!
Вот data (образцы представлены в коде ниже)
Вот мой код до сих пор:
# Import required libraries
library(lubridate)
library(tseries)
library(xts)
library(forecast)
library(readr)
# # # # # # # # # # # Unemployment Rate # # # # # # # # # # #
unemploymentRate <- read_csv("~/Desktop/UnemploymentRates_2011-2015.csv")
# Unemployment sample: structure(list(`Month` = 1:10, Year = c(2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L, 2011L), UnemploymentRate = c(7.9, 7.9, 7.6, 7.3, 7, 6.9, 7, 7, 6.6, 6.5)), .Names = c("Month", "Year", "UnemploymentRate"), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))
# Create monthly time series for unemployment rates
tsUnemployment <- ts(unemploymentRate$UnemploymentRate, start = c(2011,1), frequency = 12)
# # # # # # # # # # # Google Trends TopiC# # # # # # # # # # #
google <- read_csv("~/Desktop/google.csv", col_types = cols(Woche = col_date(format="%Y-%m-%d")))
colnames(google)[2] <- "googleTrend"
#Google sample: structure(list(Week = structure(c(14976, 14983, 14990, 14997, 15004, 15011, 15018, 15025, 15032, 15039), class = "Date"), Unemployment = c(88L, 89L, 100L, 91L, 88L, 88L, 87L, 91L, 89L, 78L)), .Names = c("Week", "Unemployment"), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))
# Extract month and year from date
google$Month <- month(google$Week, abbr = FALSE)
google$Year <- year(google$Week)
# Aggregate weeks into months using the mean
aggGoogle <- aggregate(google$googleTrends ~ Month + Year , google, mean)
colnames(aggGoogle)[3] <- "aggGoogleTrends"
# Create monthly time series for the Google Trends
tsGoogle <- ts(aggGoogle$aggGoogleTrends, start = c(2011,1), frequency = 12)
# # # # # # # # # # # Decomposition + Analysis # # # # # # # # # # #
decompose_Unemployment <- decompose(tsUnemployment, "additive")
decompose_Google <- decompose(tsGoogle, "additive")
finalUnemployment <- decompose_Unemployment$seasonal + decompose_Unemployment$trend + decompose_Unemployment$random
finalGoogle <- decompose_Google$seasonal + decompose_Google$trend + decompose_Google$random
Теперь я готов выполнить статистические тесты:
adf.test(tsUnemployment, alternative = "stationary")
Box.test(tsUnemployment, type = "Ljung-Box")
Box.test(finalUnemployment, type = "Ljung-Box")
adf.test(tsGoogle, alternative = "stationary")
Box.test(tsGoogle, type = "Ljung-Box")
Box.test(finalGoogle, type = "Ljung-Box")
Этот вопрос звучит лучше, подходит для [crossvalidated] (http://stats.stackexchange.com/), который является сайтом Q & A для статистических консультаций. – eipi10
Добро пожаловать в Stackoverflow! Это будет полезно, если вы можете предоставить исполняемый файл ... –
@DavidC. Привет, Дэвид, большое спасибо за быстрый ответ. Как вы поняли, я новичок в Stackoverflow, и я не совсем уверен, что вы подразумеваете под «предоставлением исполняемого файла»? Вы хотите, чтобы я загрузил свой R-скрипт? Пока я только преобразовал данные в временные ряды, создал несколько графиков и попытался разложить указанные временные ряды. –