2016-07-23 5 views
0

Я использовал модель arima + stl для прогноза временных рядов в R для прогнозирования обменного курса.Прогнозирование временных рядов в R - указать диапазон дат прогнозирования

ui.R 
shinyUI(
sidebarLayout( 
headerPanel("Time Series forecasting with arima+stl"), 
sidebarPanel(

    dateRangeInput('dateRange', 
       label = paste('Date range selection'), 
       start = textOutput("text1"), 
       end = textOutput("text2"), 
       separator = " - ", 
       weekstart = 1 
) 
), 
mainPanel(
    textOutput("text1"), 
    textOutput("text2"), 
    textOutput('forecast') 
) 
) 
) 

server.R

library(forecast) 
parameters <- read.csv("~/RWD/stl+arima/data/parameters.csv") 
shinyServer(
function(input, output, session){ 

     predictVariable <- ts(parameters[,2],start=c(2000,1),end=c(2009,12),frequency=12) 
     fit.stl <- stl(predictVariable, s.window = "periodic") 
     factors <- ts(as.data.frame(parameters[,3:8]),start=c(2000,1),end=c(2009,12),frequency=12) 
     outfactors <- ts(parameters[,3:8],start=c(2010,1),end=c(2012,12),frequency = 12) 
     output$forecast <- renderPrint({ forecast(fit.stl,h=10, 
      forecastfunction=function(x,h,level=95){ 
       fit <- Arima(x,xreg=factors) 
       return(forecast(fit,xreg=outfactors))}) 
    }) 
}) 

Приведенный выше код работает отлично. Данные за 2000-2009 гг. Используются для прогнозирования обменных курсов следующих 3 лет. Мои данные - это параметры. Но я хочу создать пользовательский интерфейс, в котором пользователь может указать даты начала и окончания, для которых он/она нуждается в прогнозе обменных курсов , В server.R, в функции прогноза, как использовать даты, принятые как входные данные в u.R, чтобы указать даты начала и окончания, для которых мне нужен прогноз.

ответ

-1

Это очень широкий вопрос. Я думаю, вы могли бы найти много ответов с некоторыми исследованиями. Вот один из них:

Попробуйте Shiny. Вот gallery простых вещей, которые вы можете с ним сделать. На этом сайте есть отличные уроки и сообщения о Shiny.

Ваша функция может быть на скрипте server.R с вводом выбора диапазона дат в скрипте ui.R. Вы можете настроить свой вывод для включения конкретных прогнозируемых значений и даже включить прогноз graph.

Редактировать: Включая рекомендованные funggcastfunction. Примените его к объекту прогноза, чтобы получить фрейм данных, содержащий ваши даты и прогнозы. Ползунок ввода даты в вашем списке может ссылаться на эту таблицу.

+0

Извините, я не упоминал ранее два файла R до этого. Я сейчас редактировал свой вопрос. Как изменить функцию прогноза на сервере.R, чтобы использовать даты, введенные в ui.R? – BRS

+0

Я рекомендую использовать функцию 'funggcast' на вашем объекте' project (fit) '. «funggcast» упоминается 3-я ссылка, включенная в мой пост. Это создаст таблицу из вашего прогнозируемого объекта, содержащего даты и прогнозы. Ваш 'dateRangeInput' может ссылаться на эту таблицу. – Warner

+0

Я включу это в свой код. Спасибо большое :) – BRS

Смежные вопросы