R时间序列:预测与分析
学习使用ts对象和forecast包进行时间序列分解、建模和预测。 · 难度:入门 · +15XP
时间序列基础
时间序列是按时间顺序排列的数据点。R中使用ts()创建时间序列对象,可指定频率(frequency)。
1. 创建时间序列对象
data(AirPassengers)
print(AirPassengers)
plot(AirPassengers)2. 序列分解
dec <- decompose(AirPassengers)
plot(dec)3. 简单预测:指数平滑
library(forecast)
fit <- ets(AirPassengers)
summary(fit)
forecast_values <- forecast(fit, h = 12)
plot(forecast_values)4. ARIMA模型
fit_arima <- auto.arima(AirPassengers)
summary(fit_arima)
forecast_arima <- forecast(fit_arima, h = 12)
plot(forecast_arima)| 函数 | 说明 |
|---|---|
| decompose() | 分解趋势、季节、随机成分 |
| ets() | 指数平滑模型 |
| auto.arima() | 自动选择最优ARIMA |
| forecast() | 预测未来h个时间点 |
练习提示:使用内置数据集Nile(尼罗河流量),用auto.arima预测未来5年的流量,并绘制预测图。