Dự báo nhu cầu điện
Bạn cũng có thể mô hình hóa nhu cầu điện hằng ngày theo nhiệt độ. Như bạn có thể thấy trên hóa đơn điện, nhiều điện được sử dụng vào những ngày nóng do điều hòa và vào những ngày lạnh do sưởi.
Trong bài tập này, bạn sẽ khớp một mô hình hồi quy bậc hai với sai số ARMA. Một năm dữ liệu hằng ngày được lưu trong elecdaily, bao gồm tổng nhu cầu hằng ngày, một biến chỉ báo cho ngày làm việc (ngày làm việc được biểu diễn bằng 1, và ngày không làm việc bằng 0), và nhiệt độ tối đa hằng ngày. Vì có tính mùa vụ theo tuần, frequency đã được đặt là 7.
Hãy xem ba hàng đầu tiên:
> elecdaily[1:3, ]
Demand Temperature Workday
[1,] 174.8963 26.0 0
[2,] 188.5909 23.0 1
[3,] 188.9169 22.2 1
elecdaily đã được nạp sẵn vào không gian làm việc của bạn.
Bài tập này là một phần của khóa học
Dự báo bằng R
Hướng dẫn bài tập
- Vẽ biểu đồ theo thời gian chỉ cho nhu cầu hằng ngày và nhiệt độ tối đa, có tách ô (facetting).
- Thiết lập một ma trận biến giải thích gồm
MaxTempcho nhiệt độ tối đa,MaxTempSqlà giá trị bình phương của nhiệt độ tối đa, vàWorkday, theo đúng thứ tự đó. Rõ ràng, đối số thứ hai củacbind()sẽ cần một toán tử toán học đơn giản. - Khớp một mô hình hồi quy động cho cột nhu cầu với sai số ARIMA và đặt tên là
fit. - Nếu ngày tiếp theo là ngày làm việc (biến chỉ báo là 1) với nhiệt độ tối đa dự báo 20°C, nhu cầu dự báo là bao nhiêu? Điền các giá trị phù hợp vào
cbind()cho đối sốxregtrongforecast().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Time plots of demand and temperatures
autoplot(elecdaily[, c(___, ___)], facets = ___)
# Matrix of regressors
xreg <- cbind(MaxTemp = elecdaily[, "Temperature"],
MaxTempSq = ___,
Workday = ___)
# Fit model
fit <- auto.arima(___, xreg = xreg)
# Forecast fit one day ahead
forecast(___, xreg = cbind(___, ___, ___))