Skip to content
This repository was archived by the owner on Oct 28, 2019. It is now read-only.
This repository was archived by the owner on Oct 28, 2019. It is now read-only.

issues setting up a simple forecast model #121

Description

@martinbel

Hi,

I wanted to implement a simple forecast model (mostly to try the platform) but I couldn't get it working. It's a bit different from the examples, so perhaps if it ends up working it could help improve the docs. It should be easily reproducible with the data below.

ws <- workspace() # I assume you have this
# AzureML Workspace
# Workspace ID : bla 
# API endpoint : bla

#### The time series data. It's actually the monthly ARS/USD pair.
y = structure(c(4.136, 4.1481, 4.15094736842105, 4.208, 4.30252380952381, 
                4.28642857142857, 4.29709523809524, 4.36522727272727, 4.4385, 
                4.4407, 4.78166666666667, 4.70657894736842, 4.80904761904762, 
                4.74694444444444, 4.79659090909091, 4.98911764705882, 5.49942857142857, 
                5.9485, 6.31, 6.31590909090909, 6.31789473684211, 6.27772727272727, 
                6.374, 6.53944444444444, 7.37619047619048, 7.745625, 8.07277777777778, 
                8.681, 9.28, 8.44, 8.35647058823529, 9.01533333333333, 9.355, 
                9.80714285714286, 9.85363636363636, 9.59875, 11.5059090909091, 
                11.9263157894737, 10.9033333333333, 10.502, 11.1985, 11.8368421052632, 
                12.2636363636364, 13.3863157894737, 14.85, 14.8147619047619, 
                13.3583333333333, 13.136, 13.7163636363636, 13.1283333333333, 
                12.75, 12.596, 12.64625, 13.015, 14.3776470588235, 15.2385, 15.7378947368421, 
                15.9309090909091, 15.18625, 13.8333333333333, 13.9156666666667, 
                15.2083333333333, 15.1555555555556, 14.64, 14.45, 15.09, 15.242, 
                15.1256, 15.3643333333333, 15.416, 15.7596666666667, 16.145), .Tsp = c(2011, 
                                                                                       2016.91666666667, 12), class = "ts")

# Fit a baseline model
fit = Arima(y, order = c(2, 1, 2))

# the "predict" function for the endpoint
predict_arima <- function(h){
  require(forecast)
  yhat = forecast(fit, h=h)
  x = as.data.frame(yhat)
  data.frame(yearmon = rownames(x), forecast = x[,1], stringsAsFactors = FALSE)
}

out_schema = predict_arima(h = 10)
str(out_schema)
# 'data.frame':	10 obs. of  2 variables:
# $ yearmon : chr  "Jan 2017" "Feb 2017" "Mar 2017" "Apr 2017" ...
# $ forecast: num  16.2 16 16.1 16.1 16.1 ...

### Here is the web service definition:
ep <- publishWebService(ws = ws, fun = predict_arima, name = "forecast_arima_h", 
                        inputSchema = list(h = "numeric"), 
                        outputSchema = out_schema,
                        data.frame = FALSE, 
                        packages = 'forecast')

After the packages are downloaded (I'll leave it out) This is the result:

consume(ep, list(h = 10))
Request failed with status 401. Waiting 3.0 seconds before retry
.
Error: AzureML returns error code:
HTTP status code : 400
AzureML error code  : LibraryExecutionError

Module execution encountered an internal library error.
The following error occurred during evaluation of R script: 
R_tryEval: return error: Error in do.call(..fun, inputDF[i, ]) : second argument must be a list

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions