Skip to content

Instantly share code, notes, and snippets.

@InzamamRahaman
Created July 17, 2014 16:24
Show Gist options
  • Save InzamamRahaman/51635734fd751eca8e4a to your computer and use it in GitHub Desktop.
Save InzamamRahaman/51635734fd751eca8e4a to your computer and use it in GitHub Desktop.
# Plot what we expect
ts.plot(exp(frame.test$Actual))
# Now we develop corrector models
# Firstly, let us use linear regression
linear.model <- lm(Actual ~ (Z12 * Z6 * Zt)^3, frame.construction)
linear.model.preds <- predict(linear.model, frame.test)
linear.model.mae <- mae(frame.test$Actual,linear.model.preds)
linear.model.mse <- mse(frame.test$Actual,linear.model.preds)
linear.model.mape <- mape(frame.test$Actual,linear.model.preds)
lines(exp(linear.model.preds), col='blue')
# Next, let us use support vector machine regression with a rbf kernel
kernel1.model <- ksvm(Actual ~ (Z12 * Z6 * Zt)^3, frame.construction)
kernel1.model.preds <- predict(kernel1.model, frame.test)
kernel1.model.mae <- mae(frame.test$Actual,kernel1.model.preds)
kernel1.model.mse <- mse(frame.test$Actual,kernel1.model.preds)
kernel1.model.mape <- mape(frame.test$Actual,kernel1.model.preds)
lines(exp(kernel1.model.preds), col='red')
# Next, let us use support vector machine regression with a polynomial kernel
kernel2.model <- ksvm(Actual ~ (Z12 * Z6 * Zt)^3, frame.construction,
kernel='polydot')
kernel2.model.preds <- predict(kernel2.model, frame.test)
kernel2.model.mae <- mae(frame.test$Actual,kernel2.model.preds)
kernel2.model.mse <- mse(frame.test$Actual,kernel2.model.preds)
kernel2.model.mape <- mape(frame.test$Actual,kernel2.model.preds)
lines(exp(kernel2.model.preds), col='green')
# Now let us try the method in the paper - using an ann trained with
# backpropogation
net.model <- neuralnet(Actual ~ Z12 + Zt + Z6,
frame.construction,
hidden=2)
net.tester <- frame.test[, c('Z12','Zt','Z6')]
net.results <- compute(net.model, net.tester)
net.vals <- net.results$net.result
net.mae <- mae(frame.test$Actual,net.vals)
net.mse <- mse(frame.test$Actual,net.vals)
net.mape <- mape(frame.test$Actual,net.vals)
lines((exp(net.vals)), col = 'orange')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment