Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ```{r, echo = TRUE, message = FALSE, warning = FALSE}
- library(xts)
- library(tseries)
- library(fpp2)
- library(ggfortify)
- library(forecast)
- library(readr)
- library(tidyverse)
- library(nortest)
- library(CombMSC)
- #a---------
- dat <- readr::read_csv(file.choose())
- price_ts <- ts(dat, frequency = 12, start = c(1991,1))
- #b------
- price <- splitTrainTest(price_ts, numTrain = length(price_ts) - 24)
- price.train <- price$train
- price.test <- price$test
- #c--------
- plot(price_ts,ylab='price',xlab='month',type='o')
- adf.test(price_ts)
- #tidak stasioner karena p value > 0.05
- #maka deferensiasi akan ditambah supaya stasionier:
- diff_price_ts<-diff(price_ts,1)
- adf.test(diff_price_ts)
- plot(diff_price_ts,ylab='price',xlab='month',type='o')
- #maka dilakukan split lagi
- price <- splitTrainTest(diff_price_ts, numTrain = length(diff_price_ts) - 24)
- price.train <- price$train
- price.test <- price$test
- #d-----
- arima_price_ts<-auto.arima(price.train)
- #e----
- fit.train <- price.train %>% Arima(order = c(0,1,0), seasonal = c(1,0,0))
- summary(fit.train)
- fit.train %>% checkresiduals()
- fit.train %>% residuals() %>% nortest::ad.test()
- ggtsdiag(fit.train)
- #f---
- fit.train %>% forecast(h = 24) %>%
- autoplot() + ggtitle(fit.train)
- #g------
- model.test <- Arima(price.test, model = fit.train)
- model.test %>% forecast::accuracy()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement