使用ARIMA模型预测商场销售数据的代码
时间: 2023-12-02 16:06:33 浏览: 73
基于python实现的使用ARIMA模型对价格数据进行预测项目源码
下面是一个简单的使用ARIMA模型预测商场销售数据的Python代码示例:
```python
import pandas as pd
import numpy as np
from statsmodels.tsa.arima_model import ARIMA
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('sales_data.csv')
# 将日期列转换为时间序列索引
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)
# 绘制原始数据图
plt.plot(df)
plt.title('Original Data')
plt.show()
# 拆分训练集和测试集
train_size = int(len(df) * 0.8)
train_data, test_data = df[:train_size], df[train_size:]
# 训练ARIMA模型
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit(disp=0)
# 预测测试集
predictions = model_fit.forecast(steps=len(test_data))[0]
# 绘制预测结果图
plt.plot(test_data, label='Actual')
plt.plot(predictions, label='Predicted')
plt.title('Prediction Results')
plt.legend()
plt.show()
# 计算误差
error = np.mean(np.abs((test_data - predictions) / test_data)) * 100
print('Mean Absolute Percentage Error (MAPE): {:.2f}%'.format(error))
```
其中,`sales_data.csv`是包含商场销售数据的CSV文件,文件格式如下:
```
Date,Sales
2018-01-01,1000
2018-01-02,1200
2018-01-03,1500
...
```
代码中首先读取数据并将日期列转换为时间序列索引,然后使用`ARIMA`模型拟合训练数据,使用`forecast`方法预测测试数据,最后绘制预测结果图并计算误差。需要注意的是,ARIMA模型的参数需要根据实际数据进行调整,这里只是一个简单的示例代码。
阅读全文