Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. ```{r, echo = TRUE, message = FALSE, warning = FALSE}
  2. library(xts)
  3. library(tseries)
  4. library(fpp2)
  5. library(ggfortify)
  6. library(forecast)
  7. library(readr)
  8. library(tidyverse)
  9. library(nortest)
  10. library(CombMSC)
  11. #a---------
  12. dat <- readr::read_csv(file.choose())
  13. price_ts <- ts(dat, frequency = 12, start = c(1991,1))
  14.  
  15. #b------
  16. price <- splitTrainTest(price_ts, numTrain = length(price_ts) - 24)
  17. price.train <- price$train
  18. price.test <- price$test
  19. #c--------
  20. plot(price_ts,ylab='price',xlab='month',type='o')
  21. adf.test(price_ts)
  22. #tidak stasioner karena p value > 0.05
  23. #maka deferensiasi akan ditambah supaya stasionier:
  24. diff_price_ts<-diff(price_ts,1)
  25. adf.test(diff_price_ts)
  26. plot(diff_price_ts,ylab='price',xlab='month',type='o')
  27.  
  28. #maka dilakukan split lagi
  29. price <- splitTrainTest(diff_price_ts, numTrain = length(diff_price_ts) - 24)
  30. price.train <- price$train
  31. price.test <- price$test
  32.  
  33. #d-----
  34. arima_price_ts<-auto.arima(price.train)
  35.  
  36. #e----
  37. fit.train <- price.train %>% Arima(order = c(0,1,0), seasonal = c(1,0,0))
  38. summary(fit.train)
  39. fit.train %>% checkresiduals()
  40. fit.train %>% residuals() %>% nortest::ad.test()
  41. ggtsdiag(fit.train)
  42.  
  43. #f---
  44. fit.train %>% forecast(h = 24) %>%
  45. autoplot() + ggtitle(fit.train)
  46.  
  47. #g------
  48. model.test <- Arima(price.test, model = fit.train)
  49. model.test %>% forecast::accuracy()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement