head(M3Year_fit)
# for Y1-yearly time series data
# for method- HOLT
data <- subset(M3Year_fit, series_id == "Y1" & method == "HOLT")
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)

# for Q1-quatertly time series data
# for method- HOLT
head(M3Quart_fit)
data <- subset(M3Quart_fit, series_id == "Q1" & method == "HOLT")
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)

# for M1-monthly time series data
# for method- HOLT
head(M3Month_fit)
data <- subset(M3Month_fit, series_id == "M1" & method == "HOLT")
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)

# for all of timeseries of monthy data set
# for method: HOLT
# for horizon = 1
data <- subset(M3Month_fit,method == "HOLT" & horizon == 1)
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)
loess <- loess(error~fitted_actual)
lines(loess$fitted~fitted_actual, col = "red") # add the regression lines

# for all of timeseries of monthy data set
# for method: HOLT
# for horizon = 2
data <- subset(M3Month_fit,method == "HOLT" & horizon == 2)
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)
loess <- loess(error~fitted_actual)
lines(loess$fitted~fitted_actual, col = "red") # add the regression lines

# for all of timeseries of monthy data set
# for method: SINGLE
# for horizon = 1
data <- subset(M3Month_fit,method == "SINGLE" & horizon == 1)
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)
loess <- loess(error~fitted_actual)
lines(loess$fitted~fitted_actual, col = "red") # add the regression lines

# for all of timeseries of monthy data set
# for method: SINGLE
# for horizon = 2
data <- subset(M3Month_fit,method == "SINGLE" & horizon == 2)
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)
loess <- loess(error~fitted_actual)
lines(loess$fitted~fitted_actual, col = "red") # add the regression lines

# for all of timeseries of monthy data set
# for method: ROBUST-Trend
# for horizon = 1
data <- subset(M3Month_fit,method == "ROBUST-Trend" & horizon == 1)
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)
loess <- loess(error~fitted_actual)
lines(loess$fitted~fitted_actual, col = "red") # add the regression lines

# for all of timeseries of monthy data set
# for method: ROBUST-Trend
# for horizon = 2
data <- subset(M3Month_fit,method == "ROBUST-Trend" & horizon == 2)
error <- abs(data$actual - data$forecast)
fitted_actual <- data$fitted_actual
plot(error~fitted_actual)
loess <- loess(error~fitted_actual)
lines(loess$fitted~fitted_actual, col = "red") # add the regression lines

LS0tDQp0aXRsZTogIkVycm9yX0xvZXNzIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KDQpgYGB7cn0NCmhlYWQoTTNZZWFyX2ZpdCkNCmBgYA0KDQpgYGB7cn0NCiMgZm9yIFkxLXllYXJseSB0aW1lIHNlcmllcyBkYXRhDQojIGZvciBtZXRob2QtIEhPTFQNCmRhdGEgPC0gc3Vic2V0KE0zWWVhcl9maXQsIHNlcmllc19pZCA9PSAiWTEiICYgbWV0aG9kID09ICJIT0xUIikNCmVycm9yIDwtIGFicyhkYXRhJGFjdHVhbCAtIGRhdGEkZm9yZWNhc3QpDQpmaXR0ZWRfYWN0dWFsIDwtIGRhdGEkZml0dGVkX2FjdHVhbA0KcGxvdChlcnJvcn5maXR0ZWRfYWN0dWFsKQ0KYGBgDQoNCmBgYHtyfQ0KIyBmb3IgUTEtcXVhdGVydGx5IHRpbWUgc2VyaWVzIGRhdGENCiMgZm9yIG1ldGhvZC0gSE9MVA0KaGVhZChNM1F1YXJ0X2ZpdCkNCmRhdGEgPC0gc3Vic2V0KE0zUXVhcnRfZml0LCBzZXJpZXNfaWQgPT0gIlExIiAmIG1ldGhvZCA9PSAiSE9MVCIpDQplcnJvciA8LSBhYnMoZGF0YSRhY3R1YWwgLSBkYXRhJGZvcmVjYXN0KQ0KZml0dGVkX2FjdHVhbCA8LSBkYXRhJGZpdHRlZF9hY3R1YWwNCnBsb3QoZXJyb3J+Zml0dGVkX2FjdHVhbCkNCmBgYA0KDQpgYGB7cn0NCiMgZm9yIE0xLW1vbnRobHkgdGltZSBzZXJpZXMgZGF0YQ0KIyBmb3IgbWV0aG9kLSBIT0xUDQpoZWFkKE0zTW9udGhfZml0KQ0KZGF0YSA8LSBzdWJzZXQoTTNNb250aF9maXQsIHNlcmllc19pZCA9PSAiTTEiICYgbWV0aG9kID09ICJIT0xUIikNCmVycm9yIDwtIGFicyhkYXRhJGFjdHVhbCAtIGRhdGEkZm9yZWNhc3QpDQpmaXR0ZWRfYWN0dWFsIDwtIGRhdGEkZml0dGVkX2FjdHVhbA0KcGxvdChlcnJvcn5maXR0ZWRfYWN0dWFsKQ0KYGBgDQoNCmBgYHtyfQ0KIyBmb3IgYWxsIG9mIHRpbWVzZXJpZXMgb2YgbW9udGh5IGRhdGEgc2V0DQojIGZvciBtZXRob2Q6IEhPTFQNCiMgZm9yIGhvcml6b24gPSAxDQpkYXRhIDwtIHN1YnNldChNM01vbnRoX2ZpdCxtZXRob2QgPT0gIkhPTFQiICYgaG9yaXpvbiA9PSAxKQ0KZXJyb3IgPC0gYWJzKGRhdGEkYWN0dWFsIC0gZGF0YSRmb3JlY2FzdCkNCmZpdHRlZF9hY3R1YWwgPC0gZGF0YSRmaXR0ZWRfYWN0dWFsDQpwbG90KGVycm9yfmZpdHRlZF9hY3R1YWwpDQpsb2VzcyA8LSBsb2VzcyhlcnJvcn5maXR0ZWRfYWN0dWFsKQ0KbGluZXMobG9lc3MkZml0dGVkfmZpdHRlZF9hY3R1YWwsIGNvbCA9ICJyZWQiKSAjIGFkZCB0aGUgcmVncmVzc2lvbiBsaW5lcw0KYGBgDQoNCg0KYGBge3J9DQojIGZvciBhbGwgb2YgdGltZXNlcmllcyBvZiBtb250aHkgZGF0YSBzZXQNCiMgZm9yIG1ldGhvZDogSE9MVA0KIyBmb3IgaG9yaXpvbiA9IDINCmRhdGEgPC0gc3Vic2V0KE0zTW9udGhfZml0LG1ldGhvZCA9PSAiSE9MVCIgJiBob3Jpem9uID09IDIpDQplcnJvciA8LSBhYnMoZGF0YSRhY3R1YWwgLSBkYXRhJGZvcmVjYXN0KQ0KZml0dGVkX2FjdHVhbCA8LSBkYXRhJGZpdHRlZF9hY3R1YWwNCnBsb3QoZXJyb3J+Zml0dGVkX2FjdHVhbCkNCmxvZXNzIDwtIGxvZXNzKGVycm9yfmZpdHRlZF9hY3R1YWwpDQpsaW5lcyhsb2VzcyRmaXR0ZWR+Zml0dGVkX2FjdHVhbCwgY29sID0gInJlZCIpICMgYWRkIHRoZSByZWdyZXNzaW9uIGxpbmVzDQpgYGANCg0KDQpgYGB7cn0NCiMgZm9yIGFsbCBvZiB0aW1lc2VyaWVzIG9mIG1vbnRoeSBkYXRhIHNldA0KIyBmb3IgbWV0aG9kOiBTSU5HTEUNCiMgZm9yIGhvcml6b24gPSAxDQpkYXRhIDwtIHN1YnNldChNM01vbnRoX2ZpdCxtZXRob2QgPT0gIlNJTkdMRSIgJiBob3Jpem9uID09IDEpDQplcnJvciA8LSBhYnMoZGF0YSRhY3R1YWwgLSBkYXRhJGZvcmVjYXN0KQ0KZml0dGVkX2FjdHVhbCA8LSBkYXRhJGZpdHRlZF9hY3R1YWwNCnBsb3QoZXJyb3J+Zml0dGVkX2FjdHVhbCkNCmxvZXNzIDwtIGxvZXNzKGVycm9yfmZpdHRlZF9hY3R1YWwpDQpsaW5lcyhsb2VzcyRmaXR0ZWR+Zml0dGVkX2FjdHVhbCwgY29sID0gInJlZCIpICMgYWRkIHRoZSByZWdyZXNzaW9uIGxpbmVzDQpgYGANCg0KDQpgYGB7cn0NCiMgZm9yIGFsbCBvZiB0aW1lc2VyaWVzIG9mIG1vbnRoeSBkYXRhIHNldA0KIyBmb3IgbWV0aG9kOiBTSU5HTEUNCiMgZm9yIGhvcml6b24gPSAyDQpkYXRhIDwtIHN1YnNldChNM01vbnRoX2ZpdCxtZXRob2QgPT0gIlNJTkdMRSIgJiBob3Jpem9uID09IDIpDQplcnJvciA8LSBhYnMoZGF0YSRhY3R1YWwgLSBkYXRhJGZvcmVjYXN0KQ0KZml0dGVkX2FjdHVhbCA8LSBkYXRhJGZpdHRlZF9hY3R1YWwNCnBsb3QoZXJyb3J+Zml0dGVkX2FjdHVhbCkNCmxvZXNzIDwtIGxvZXNzKGVycm9yfmZpdHRlZF9hY3R1YWwpDQpsaW5lcyhsb2VzcyRmaXR0ZWR+Zml0dGVkX2FjdHVhbCwgY29sID0gInJlZCIpICMgYWRkIHRoZSByZWdyZXNzaW9uIGxpbmVzDQpgYGANCg0KDQpgYGB7cn0NCiMgZm9yIGFsbCBvZiB0aW1lc2VyaWVzIG9mIG1vbnRoeSBkYXRhIHNldA0KIyBmb3IgbWV0aG9kOiBST0JVU1QtVHJlbmQNCiMgZm9yIGhvcml6b24gPSAxDQpkYXRhIDwtIHN1YnNldChNM01vbnRoX2ZpdCxtZXRob2QgPT0gIlJPQlVTVC1UcmVuZCIgJiBob3Jpem9uID09IDEpDQplcnJvciA8LSBhYnMoZGF0YSRhY3R1YWwgLSBkYXRhJGZvcmVjYXN0KQ0KZml0dGVkX2FjdHVhbCA8LSBkYXRhJGZpdHRlZF9hY3R1YWwNCnBsb3QoZXJyb3J+Zml0dGVkX2FjdHVhbCkNCmxvZXNzIDwtIGxvZXNzKGVycm9yfmZpdHRlZF9hY3R1YWwpDQpsaW5lcyhsb2VzcyRmaXR0ZWR+Zml0dGVkX2FjdHVhbCwgY29sID0gInJlZCIpICMgYWRkIHRoZSByZWdyZXNzaW9uIGxpbmVzDQpgYGANCg0KYGBge3J9DQojIGZvciBhbGwgb2YgdGltZXNlcmllcyBvZiBtb250aHkgZGF0YSBzZXQNCiMgZm9yIG1ldGhvZDogUk9CVVNULVRyZW5kDQojIGZvciBob3Jpem9uID0gMg0KZGF0YSA8LSBzdWJzZXQoTTNNb250aF9maXQsbWV0aG9kID09ICJST0JVU1QtVHJlbmQiICYgaG9yaXpvbiA9PSAyKQ0KZXJyb3IgPC0gYWJzKGRhdGEkYWN0dWFsIC0gZGF0YSRmb3JlY2FzdCkNCmZpdHRlZF9hY3R1YWwgPC0gZGF0YSRmaXR0ZWRfYWN0dWFsDQpwbG90KGVycm9yfmZpdHRlZF9hY3R1YWwpDQpsb2VzcyA8LSBsb2VzcyhlcnJvcn5maXR0ZWRfYWN0dWFsKQ0KbGluZXMobG9lc3MkZml0dGVkfmZpdHRlZF9hY3R1YWwsIGNvbCA9ICJyZWQiKSAjIGFkZCB0aGUgcmVncmVzc2lvbiBsaW5lcw0KYGBg