data(AirPassengers)
par(mfrow = c(1, 2))
ts.plot(AirPassengers)
diff <- diff(AirPassengers)
plot(diff)
par(mfrow = c(1, 2))
plot(AirPassengers)
log <- diff(log(AirPassengers))
plot(log)

data("WWWusage")
str(WWWusage)
WWWusage
X11()
ts.plot(WWWusage, type = "l", col = "red")
data(EuStockMarkets)
head(EuStockMarkets)
EuStock <- data.frame(EuStockMarkets)
head(EuStock)
X11()
plot(EuStock$DAX[1:1000], type = "l", col = "red")
plot.ts(cbind(EuStock$DAX[1:1000], EuStock$SMI[1:1000]),
main = "주가지수 추세선")

data(EuStockMarkets)
head(EuStockMarkets)
EuStock <- data.frame(EuStockMarkets)
head(EuStock)
X11()
plot(EuStock$DAX[1:1000], type = "l", col = "red")
plot.ts(cbind(EuStock$DAX[1:1000], EuStock$SMI[1:1000]),
main = "주가지수 추세선")
data <- c(45, 56, 45, 43, 69, 75, 58, 59, 66, 64, 62, 65,
55, 49, 67, 55, 71, 78, 71, 65, 69, 43, 70, 75,
56, 56, 65, 55, 82, 85, 75, 77, 77, 69, 79, 89)
length(data)
tsdata <- ts(data, start = c(2016, 1), frequency = 12)
tsdata
ts.plot(tsdata)
plot(stl(tsdata, "periodic"))

m <- decompose(tsdata)
attributes(m)
plot(m)
par(mfrow = c(1, 1))
plot(tsdata - m$seasonal)

plot(tsdata - m$trend)
plot(tsdata - m$seasonal - m$trend)
input <- c(3180, 3000, 3200, 3100, 3300, 3200,
3400, 3550, 3200, 3400, 3300, 3700)
length(input)
tsdata <- ts(input, start = c(2015, 2), frequency = 12)
acf(na.omit(tsdata), main ="자기상관함수", col = "red")
pacf(na.omit(tsdata), main = "부분 자기 상관 함수", col = "red")

input <- c(3180, 3000, 3200, 3100, 3300, 3200,
3400, 3550, 3200, 3400, 3300, 3700)
plot(tsdata, type = "l", col = "red")
acf(na.omit(tsdata), main = "자기 상환함수", col = "red")
plot(diff(tsdata, differences = 1))
data <- c(45, 56, 45, 43, 69, 75, 58, 59, 66, 64, 62, 65,
55, 49, 67, 55, 71, 78, 71, 65, 69, 43, 70, 75,
56, 56, 65, 55, 82, 85, 75, 77, 77, 69, 79, 89)
length(data)
tsdata <- ts(data, start = c(2016, 1), frequency = 12)
tsdata
library(TTR)
par(mfrow = c(2, 2))
plot(tsdata, main = "원 시계열 자료")
plot(SMA(tsdata, n = 1), main = "1년 단위 이동평균법으로 평활")
plot(SMA(tsdata, n = 2), main = "2년 단위 이동평균법으로 평활")
plot(SMA(tsdata, n = 3), main = "3년 단위 이동평균법으로 평활")
par(mfrow = c(1, 1))

input <- c(3180, 3000, 3200, 3100, 3300, 3200,
3400, 3550, 3200, 3400, 3300, 3700)
tsdata <- ts(input, start = c(2015, 2), frequency = 12)
tsdata
plot(tsdata, type = "l", col = "red")
par(mfrow = c(1, 2))
ts.plot(tsdata)
diff <- diff(tsdata)
plot(diff)
library(forecast)
arima <- auto.arima(tsdata)
arima
model <- arima(tsdata, order = c(1, 1, 0))
model
tsdiag(model)

fore <- forecast(model)
fore
par(mfrow = c(1, 2))
plot(fore)
model2 <- forecast(model, h = 6)
plot(model2)

data <- c(55, 56, 45, 43, 69, 75, 58, 59, 66, 64, 62, 65,
55, 49, 67, 55, 71, 78, 61, 65, 69, 53, 70, 75,
56, 56, 65, 55, 68, 80, 65, 67, 77, 69, 79, 82,
57, 55, 63, 60, 68, 70, 58, 65, 70, 55, 65, 70)
length(data)
tsdata <- ts(data, start = c(2020, 1), frequency = 12)
tsdata
ts_feature <- stl(tsdata, s.window = "periodic")
plot(ts_feature)
par(mfrow = c(1, 2))
ts.plot(tsdata)
diff <- diff(tsdata)
plot(diff)
library(forecast)
ts_model2 <- auto.arima(tsdata)
ts_model2
model <- arima(tsdata, c(0, 1, 1), seasonal = list(order = c(1, 1, 0)))
model
tsdiag(model)
Box.test(model$residuals, lag = 1, type = "Ljung")
par(mfrow = c(1, 2))
fore <- forecast(model, h = 24)
plot(fore)
fore2 <- forecast(model, h = 6)
plot(fore2)