依据此表格进行时间序列分解
源代码如下
install.packages("readxl")
install.packages("forecast")
library(readxl)
library(forecast)
# 读取Excel文件中的广告费用支出数据
advertise_data <- read_excel("C:\\Users\\ASUS\\Desktop\\南京理工大学\\R语言\\实验课\\实验五时间序列建模与分析\\实验五数据及代码\\advertise.xlsx")
advertise_data
# 创建数据框
data <- data.frame(
Year = 2000:2010,
Expenditure = c(88.1, 94.7, 102.1, 109.8, 118.1, 125.6, 132.6, 141.9, 150.9, 157.9, 162.6)
)
# 将年份转换为时间序列对象
ts_data <- ts(data$Expenditure, start = c(2000, 1), frequency = 1)
# 指数平滑
ets_model <- ets(ts_data)
ets_forecast <- forecast(ets_model, h = 5) # 预测未来5年
# 绘制指数平滑结果
plot(ets_forecast)
# 时间序列分解
ts_decomposition <- stl(ts_data, s.window = "periodic")
# 绘制时间序列分解结果
plot(ts_decomposition)
但是输出时在时间序列分解一步出现如下报错
Error in stl(ts_data, s.window = "periodic") :
序列没有周期,或其周期小于二
请分析原因并给出解决方案