前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GPT4做数据分析时间序列预测之八相当棒2023.6.2

GPT4做数据分析时间序列预测之八相当棒2023.6.2

作者头像
用户7138673
发布2023-08-16 21:25:23
2440
发布2023-08-16 21:25:23
举报
文章被收录于专栏:大大的小数据大大的小数据

1、今天尝试把预测结果的准确性的一些指标量化

2、我把销售额的实际值和几种预测方法的值保存在excel表格:预测结果2023.6.2.xlsx中,表头如下:

未来6个月

未来6个月实际销售额累计值

SARIMA预测销售金额累计值

Prophet预测销售金额累计值

ARIMA预测销售金额累计值

ExponentialSmoothing方法1预测销售金额累计值

ExponentialSmoothing方法2预测销售金额累计值

SVM预测销售金额累计值

移动平均预测销售金额累计值

请用python对时间序列预测结果准确性的一些检查判定指标,判断这些预测结果,看看哪个预测结果好,并给出代码

3、

代码语言:javascript
复制
为了评估这些预测方法的准确性,我们可以使用一些常见的时间序列预测评估指标,如均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)。首先,我们需要从Excel表格中读取数据。这里我们使用`pandas`库来处理数据。请确保已经安装了`pandas`库,如果没有,请使用`pip install pandas`进行安装。

以下是读取Excel数据并计算各种预测方法的MSE、RMSE和MAE的代码:

```python
import pandas as pd
import numpy as np

# 读取Excel数据
file_path = "预测结果2023.6.2.xlsx"
df = pd.read_excel(file_path)

# 提取实际销售额和各种预测方法的销售额
actual_sales = df["未来6个月实际销售额累计值"]
methods = ["SARIMA预测销售金额累计值", "Prophet预测销售金额累计值", "ARIMA预测销售金额累计值", "ExponentialSmoothing方法1预测销售金额累计值", "ExponentialSmoothing方法2预测销售金额累计值", "SVM预测销售金额累计值", "移动平均预测销售金额累计值"]

# 计算各种预测方法的MSE、RMSE和MAE
evaluation_metrics = {}
for method in methods:
    predictions = df[method]
    mse = np.mean((actual_sales - predictions) ** 2)
    rmse = np.sqrt(mse)
    mae = np.mean(np.abs(actual_sales - predictions))
    evaluation_metrics[method] = {"MSE": mse, "RMSE": rmse, "MAE": mae}

# 输出评估结果
for method, metrics in evaluation_metrics.items():
    print(f"{method}:")
    print(f"  MSE: {metrics['MSE']}")
    print(f"  RMSE: {metrics['RMSE']}")
    print(f"  MAE: {metrics['MAE']}")
    print()

# 找到最佳预测方法
best_method = min(evaluation_metrics, key=lambda x: evaluation_metrics[x]["RMSE"])
print(f"最佳预测方法:{best_method}")
```

这段代码首先读取Excel文件中的数据,然后计算每种预测方法的MSE、RMSE和MAE。最后,它会输出每种方法的评估结果,并根据RMSE值找到最佳预测方法。你可以将Excel文件路径替换为你的文件路径,并运行此代码以查看结果。

4、完成

代码语言:javascript
复制
import pandas as pd
import numpy as np
from openpyxl import Workbook

# 读取Excel数据
文件路径 = "预测结果2023.6.2.xlsx"
数据 = pd.read_excel(文件路径)

# 在这里设置新的Excel文件名
新文件 = '新预测结果2023.6.2.xlsx'

# 提取实际销售额和各种预测方法的销售额
实际销售额 = 数据["未来6个月实际销售额累计值"]
预测方法 = ["SARIMA预测销售金额累计值", "Prophet预测销售金额累计值", "ARIMA预测销售金额累计值", "ExponentialSmoothing方法1预测销售金额累计值", "ExponentialSmoothing方法2预测销售金额累计值", "SVM预测销售金额累计值", "移动平均预测销售金额累计值"]

# 计算各种预测方法的MSE、RMSE和MAE
评估指标 = {}
for 方法 in 预测方法:
    预测值 = 数据[方法]
    均方误差 = np.mean((实际销售额 - 预测值) ** 2)
    均方根误差 = np.sqrt(均方误差)
    平均绝对误差 = np.mean(np.abs(实际销售额 - 预测值))
    评估指标[方法] = {"MSE": 均方误差, "RMSE": 均方根误差, "MAE": 平均绝对误差}

# 创建新的Excel文件
工作簿 = Workbook()
工作表 = 工作簿.active

# 将原始数据和计算结果写入新的Excel文件
行 = 1
表头 = ['Method', 'MSE', 'RMSE', 'MAE']
工作表.append(表头)
for 方法, 指标 in 评估指标.items():
    工作表.append([方法, 指标['MSE'], 指标['RMSE'], 指标['MAE']])
    print(f"{方法}:")
    print(f"  MSE: {指标['MSE']}")
    print(f"  RMSE: {指标['RMSE']}")
    print(f"  MAE: {指标['MAE']}")
    print()

# 保存新的Excel文件
工作簿.save(filename=新文件)

# 找到最佳预测方法
最佳预测方法 = min(评估指标, key=lambda x: 评估指标[x]["RMSE"])
print(f"最佳预测方法:{最佳预测方法}")

5、预测未来1个月

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-02,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 大大的小数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com