setwd("/Users/Chris Iyer/Documents/")
library(forecast)
library(caret)
library(dplyr)
library(xts)
library(zoo)
rainfall <- read.csv("MelbourneRainfall.csv")
rainfall <- rainfall %>% rename(mmDay = Rainfall.amount..millimetres.)
tail(rainfall)
#convert to ts
rainfall.ts <- ts(rainfall$mmDay, start = c(2000, 1), frequency = 360)
#partition
time <- time(rainfall.ts)
validLength <- 672
trainLength <- length(rainfall.ts) - validLength
train.ts <- window(rainfall.ts, start = time[1], end = time[trainLength])
valid.ts <- window(rainfall.ts, start = time[trainLength + 1], end = time[trainLength + validLength])
yearlyRainfall <- aggregate(rainfall.ts, nfrequency = 12, FUN = sum)
plot(yearlyRainfall, ylab = "Rainfall in mm", xlab = "Year")
# set the outer margin area to the right a bit bigger
par(oma = c(0, 0, 0, 2))
# We have 13.25 years of data
xrange <- c(1,13)
# Get the range of the ridership to set up a nicely formatted plot
yrange <- range(yearlyRainfall)
length(yearlyRainfall)
# set up the plot
plot(xrange, yrange, type="n", xlab="Year", ylab="Rainfall", bty="l")
# Give each of the months its own color, line type, and character
colors <- rainbow(12)
linetype <- c(1:12)
plotchar <- c(1:12)
# add lines
for (i in 1:12) {
currentMonth <- subset(yearlyRainfall, cycle(yearlyRainfall)==i)
lines(currentMonth, type="b", lwd=1.5,
lty=linetype[i], col=colors[i], pch=plotchar[i])
}
# add a title
title("Rainfall Broken Out by Month")
# add a legend
legend(12.5,150, 1:12, cex=0.8, col=colors, pch=plotchar, lty=linetype, title="Month", xpd=NA)
ggseasonplot(yearlyRainfall, 12)
setwd("/Users/Chris Iyer/Documents/Assignment5Predictive/")
walmart <- read.csv("WalMartStock1.csv")
head(walmart)
walmart.ts <- ts(walmart$Close, start = c(2001, 2,6), frequency = 360)
monthWalmart <- aggregate(walmart.ts, nfrequency = 12, FUN = mean)
plot(monthWalmart)
ggseasonplot(walmart.ts, 12)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCnNldHdkKCIvVXNlcnMvQ2hyaXMgSXllci9Eb2N1bWVudHMvIikNCmxpYnJhcnkoZm9yZWNhc3QpDQpsaWJyYXJ5KGNhcmV0KQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoeHRzKQ0KbGlicmFyeSh6b28pDQpyYWluZmFsbCA8LSByZWFkLmNzdigiTWVsYm91cm5lUmFpbmZhbGwuY3N2IikNCg0KcmFpbmZhbGwgPC0gcmFpbmZhbGwgJT4lIHJlbmFtZShtbURheSA9IFJhaW5mYWxsLmFtb3VudC4ubWlsbGltZXRyZXMuKQ0KDQp0YWlsKHJhaW5mYWxsKQ0KI2NvbnZlcnQgdG8gdHMNCnJhaW5mYWxsLnRzIDwtIHRzKHJhaW5mYWxsJG1tRGF5LCBzdGFydCA9IGMoMjAwMCwgMSksIGZyZXF1ZW5jeSA9IDM2MCkNCiNwYXJ0aXRpb24NCnRpbWUgPC0gdGltZShyYWluZmFsbC50cykNCnZhbGlkTGVuZ3RoIDwtIDY3Mg0KdHJhaW5MZW5ndGggPC0gbGVuZ3RoKHJhaW5mYWxsLnRzKSAtIHZhbGlkTGVuZ3RoDQp0cmFpbi50cyA8LSB3aW5kb3cocmFpbmZhbGwudHMsIHN0YXJ0ID0gdGltZVsxXSwgZW5kID0gdGltZVt0cmFpbkxlbmd0aF0pDQp2YWxpZC50cyA8LSB3aW5kb3cocmFpbmZhbGwudHMsIHN0YXJ0ID0gdGltZVt0cmFpbkxlbmd0aCArIDFdLCBlbmQgPSB0aW1lW3RyYWluTGVuZ3RoICsgdmFsaWRMZW5ndGhdKQ0KeWVhcmx5UmFpbmZhbGwgPC0gYWdncmVnYXRlKHJhaW5mYWxsLnRzLCBuZnJlcXVlbmN5ID0gMTIsIEZVTiA9IHN1bSkNCnBsb3QoeWVhcmx5UmFpbmZhbGwsIHlsYWIgPSAiUmFpbmZhbGwgaW4gbW0iLCB4bGFiID0gIlllYXIiKQ0KDQojIHNldCB0aGUgb3V0ZXIgbWFyZ2luIGFyZWEgdG8gdGhlIHJpZ2h0IGEgYml0IGJpZ2dlcg0KcGFyKG9tYSA9IGMoMCwgMCwgMCwgMikpDQoNCiMgV2UgaGF2ZSAxMy4yNSB5ZWFycyBvZiBkYXRhDQp4cmFuZ2UgPC0gYygxLDEzKQ0KIyBHZXQgdGhlIHJhbmdlIG9mIHRoZSByaWRlcnNoaXAgdG8gc2V0IHVwIGEgbmljZWx5IGZvcm1hdHRlZCBwbG90DQp5cmFuZ2UgPC0gcmFuZ2UoeWVhcmx5UmFpbmZhbGwpDQpsZW5ndGgoeWVhcmx5UmFpbmZhbGwpDQoNCiMgc2V0IHVwIHRoZSBwbG90IA0KcGxvdCh4cmFuZ2UsIHlyYW5nZSwgdHlwZT0ibiIsIHhsYWI9IlllYXIiLCB5bGFiPSJSYWluZmFsbCIsIGJ0eT0ibCIpDQoNCiMgR2l2ZSBlYWNoIG9mIHRoZSBtb250aHMgaXRzIG93biBjb2xvciwgbGluZSB0eXBlLCBhbmQgY2hhcmFjdGVyDQpjb2xvcnMgPC0gcmFpbmJvdygxMikgDQpsaW5ldHlwZSA8LSBjKDE6MTIpIA0KcGxvdGNoYXIgPC0gYygxOjEyKQ0KDQojIGFkZCBsaW5lcyANCmZvciAoaSBpbiAxOjEyKSB7IA0KICBjdXJyZW50TW9udGggPC0gc3Vic2V0KHllYXJseVJhaW5mYWxsLCBjeWNsZSh5ZWFybHlSYWluZmFsbCk9PWkpDQogIGxpbmVzKGN1cnJlbnRNb250aCwgdHlwZT0iYiIsIGx3ZD0xLjUsDQogICAgICAgIGx0eT1saW5ldHlwZVtpXSwgY29sPWNvbG9yc1tpXSwgcGNoPXBsb3RjaGFyW2ldKSANCn0gDQoNCiMgYWRkIGEgdGl0bGUNCnRpdGxlKCJSYWluZmFsbCBCcm9rZW4gT3V0IGJ5IE1vbnRoIikNCg0KIyBhZGQgYSBsZWdlbmQgDQpsZWdlbmQoMTIuNSwxNTAsIDE6MTIsIGNleD0wLjgsIGNvbD1jb2xvcnMsIHBjaD1wbG90Y2hhciwgbHR5PWxpbmV0eXBlLCB0aXRsZT0iTW9udGgiLCB4cGQ9TkEpDQoNCmdnc2Vhc29ucGxvdCh5ZWFybHlSYWluZmFsbCwgMTIpDQoNCg0KDQoNCg0Kc2V0d2QoIi9Vc2Vycy9DaHJpcyBJeWVyL0RvY3VtZW50cy9Bc3NpZ25tZW50NVByZWRpY3RpdmUvIikNCndhbG1hcnQgPC0gcmVhZC5jc3YoIldhbE1hcnRTdG9jazEuY3N2IikNCmhlYWQod2FsbWFydCkNCndhbG1hcnQudHMgPC0gdHMod2FsbWFydCRDbG9zZSwgc3RhcnQgPSBjKDIwMDEsIDIsNiksIGZyZXF1ZW5jeSA9IDM2MCkNCm1vbnRoV2FsbWFydCA8LSBhZ2dyZWdhdGUod2FsbWFydC50cywgbmZyZXF1ZW5jeSA9IDEyLCBGVU4gPSBtZWFuKQ0KcGxvdChtb250aFdhbG1hcnQpDQpnZ3NlYXNvbnBsb3Qod2FsbWFydC50cywgMTIpDQoNCmBgYA0KDQo=