รายงานการศึกษาค่าคาดการณ์อัตราการว่างงานของประเทศไทย

80 2. ชุดคำสั่งโปรแกรม R สำหรับใช้ประมวลผลการพยากรณ์ โดย สำนักงานสถิติแห่งชาติ 2.1 ชุดคำสั่งการพยากรณ์รายปี data <- Dataset |> as_tsibble(index = Year) #Split Train-Test train <- data |> filter(Year <= 2020) test <- data |> filter(Year > 2020 & Year <= 2022 ) 2.1.1 กำลังแรงงานรวม data |> autoplot(LF) #Fit Model for Train fit_train <- train |> model(ARIMA(LF ~ COVID+GDPt, stepwise = FALSE, approx = FALSE)) report(fit_train) #Residual Check bind_rows( `Regression residuals` = as_tibble(residuals(fit_train, type = "regression")), `ARIMA residuals` = as_tibble(residuals(fit_train, type = "innovation")), .id = "type" ) |> mutate( type = factor(type, levels=c( "Regression residuals", "ARIMA residuals")) ) |> ggplot(aes(x = Year, y = .resid)) + geom_line() + facet_grid(vars(type)) fit_train |> gg_tsresiduals() augment(fit_train) |> features(.innov, ljung_box, dof = 2, lag = 10) #Forecast Test Data (2020 - 2022) data_test <- new_data(train, 2) |> mutate(COVID = test$COVID, GDPt = test$GDPt) fit_train |> forecast(new_data = data_test) |> autoplot(data) + autolayer(fitted(fit_train),col="blue", linewidth = 0.02) + labs(title = "ARIMAX ~ covid + GDPt ", subtitle = "Train - Test", y = "Labourforce") #Evaluate Model #In-sample training accuracy fit_train |> accuracy() #Out-of-sample forecast accuracy fit_train |> forecast(new_data = data_test) |> accuracy(test) # 100% Data #Fit Model fit <- data[-c(23:25),] |> model(ARIMA(LF ~ COVID+GDPt, stepwise = FALSE, approx = FALSE)) report(fit) #Residual Check bind_rows( `Regression residuals` = as_tibble(residuals(fit, type = "regression")), `ARIMA residuals` = as_tibble(residuals(fit, type = "innovation")), .id = "type" ) |>

RkJQdWJsaXNoZXIy MTA3NzA0Nw==