模具做外贸网站,且未县建设局网站,成都家装公司,上海网站建设制作微信基于WIN10的64位系统演示
一、写在前面
这一期#xff0c;我们使用R进行SARIMA模型的构建。
同样#xff0c;这里使用这个数据#xff1a;
《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Re…基于WIN10的64位系统演示
一、写在前面
这一期我们使用R进行SARIMA模型的构建。
同样这里使用这个数据
《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndrome in Jiangsu Province, China》文章的公开数据做演示。数据为江苏省2004年1月至2012年12月肾综合症出血热月发病率。运用2004年1月至2011年12月的数据预测2012年12个月的发病率数据。 R语言这个大家都很熟悉吧。说实话我不熟悉。
这里用的版本是R-4.3.1搭配RStudio食用。 二、R建立SARIMA实战
1导入数据
打开Rstudio如下图操作导入数据 2单位根ADF检验
library(tseries)
# 假设你的时间序列数据存储在变量data$incidence中
test_result - adf.test(data$incidence, alternative stationary)
# 打印测试结果
print(test_result)
结果显示是平稳的6666。那就平稳吧 3设置为时间序列格式
# 将时间列转换为日期格式
time_series - ts(data$incidence, frequency12, startc(2004, 1)) 4差分
# 进行一次差分
first_difference - diff(time_series, differences 1)
plot(first_difference, main一次差分后的时间序列)
# 进行季节性差分
seasonal_difference - diff(time_series, lag 12)
plot(seasonal_difference, main季节性差分后的时间序列)
如图 看起来一次差分也得了。 5自相关图和偏相关图
绘制自相关图 (ACF)
acf(time_series, main自相关图 (ACF))
# 绘制偏自相关图 (PACF)
pacf(time_series, main偏自相关图 (PACF))
如图有点丑 6建模
6.1数据拆分
# 划分训练集和验证集
train_series - window(time_series, startc(2004,1), endc(2011,12))
validation_series - window(time_series, startc(2012,1), endc(2012,12))
6.2搭建SARIMA
看代码自行体会
案例SARIMA(0,1,1)(0,1,1)12
sarima_model - Arima(train_series, orderc(0,1,1), seasonallist(orderc(0,1,1), period12))
解读这里orderc(0,1,1)定义了非季节部分的阶数而seasonallist(orderc(0,1,1), period12)定义了季节部分的阶数和季节周期在这种情况下为12。 6.3看模型参数
# 显示模型摘要
summary(sarima_model)
如图 解读如下 参数没有统计学差异这模型不得。大家自己试了我继续。 6预测
6.1拟合数据
# 获取拟合数据
fitted_values - fitted(sarima_model)
# 保存拟合数据到CSV文件
write.csv(data.frame(timeas.character(time(fitted_values)), fitted_valuesfitted_values), filefitted_values.csv, row.namesFALSE)
# 打印消息
print(拟合数据已保存到fitted_values.csv文件中)
知道存在哪里不看R的工作路径
# 获取当前工作目录
current_working_directory - getwd()
# 打印当前工作目录
print(current_working_directory) 6.1预测数据
# 预测未来12个月的数据
future_forecast - forecast(sarima_model, h12)
# 将预测结果与时间戳合并为数据框
forecast_data - data.frame(time time(future_forecast$mean),forecast_values as.numeric(future_forecast$mean)
)
# 保存预测结果到CSV文件
write.csv(forecast_data, fileforecast_values.csv, row.namesFALSE)
# 打印消息
print(预测数据已保存到forecast_values.csv文件中)
收工 四、数据
链接https://pan.baidu.com/s/1qOpPi9pfzKR8TVmpOZaZcg?pwdtc2z
提取码tc2z