趋势外推预测模型实验完整版

实验目的

通过趋势外推预测模型(佩尔预测模型),掌握预测模型的建立和应用方法,了解趋势外推预测模型(佩尔预测模型)的基本原理

实验内容

趋势外推预测模型

实验步骤和过程

(1)第一步:学习趋势外推预测模型(佩尔预测模型)相关知识。

趋势外推预测模型是一种基于历史数据的数学模型,旨在预测未来的趋势。它是通过分析历史数据的趋势和规律,预测未来发展的趋势。趋势外推预测模型是一种有用的工具,可以帮助人们做出更准确的决策。

本次实验主要使用佩尔预测模型,这里进行详细介绍。

概念

佩尔预测模型是一种基于时间序列的预测模型,它通过对历史数据的分析,预测未来的趋势。该模型是由法国经济学家佩尔(Maurice Allais)提出的,因此得名佩尔预测模型。它是一种广泛应用于经济、金融、管理等领域的预测模型。


原理

佩尔预测模型的原理是基于时间序列的分析方法,它将时间序列分为趋势、季节性和随机性三个部分,然后分别对这三个部分进行分析预测。

趋势分析
趋势是指时间序列中的长期变化规律,它可以是上升趋势、下降趋势或平稳趋势。佩尔预测模型通过趋势分析来预测未来的发展趋势。趋势分析方法包括移动平均法、指数平滑法和回归分析法等。

季节性分析
季节性是指时间序列中的周期性变化规律,它通常是由于季节、节假日等因素引起的。佩尔预测模型通过季节性分析来预测未来的季节性变化。季节性分析方法包括季节性指数法、季节性回归法等。

随机性分析
随机性是指时间序列中的无规律变化,它通常是由于偶然因素引起的。佩尔预测模型通过随机性分析来预测未来的随机性变化。随机性分析方法包括自回归模型、移动平均模型和ARMA模型等。

应用

佩尔预测模型在经济、金融、管理等领域具有广泛的应用。以下是几个应用实例:

经济预测
佩尔预测模型在经济预测中具有重要的应用。例如,通过分析历史数据,可以预测未来的通货膨胀率、失业率、GDP增长率等经济指标。这些预测结果可以帮助政府和企业做出更准确的决策。

股票预测
佩尔预测模型在股票预测中也有广泛的应用。例如,通过分析历史股价数据,可以预测未来股价的趋势。这些预测结果可以帮助投资者做出更明智的投资决策。

能源预测
佩尔预测模型在能源预测中也有重要的应用。例如,通过分析历史能源消耗数据,可以预测未来能源需求的趋势。这些预测结果可以帮助政府和企业做出更明智的能源规划。

优缺点

佩尔预测模型的优点包括:

能够精确地反映时间序列的趋势、季节性和随机性变化,能够为决策者提供更准确的预测结果。

方法多样,可以根据不同的数据进行选择,具有较高的适用性。

适用于处理非线性数据,可以处理具有强烈季节性和趋势变化的数据。

佩尔预测模型的缺点包括:

对于非稳定时间序列,需要进行平稳化处理,增加了预测的难度。

预测结果可能受到异常值的干扰,需要进行异常值处理。

参数的选择需要一定的经验和技巧,不当的选择可能会导致预测结果不准确

总结

佩尔预测模型是一种基于时间序列的预测模型,通过对历史数据进行分析,预测未来的趋势。它在经济、金融、管理等领域有广泛的应用,可以帮助决策者做出更准确的决策。该模型的优点包括精确反映时间序列的趋势、季节性和随机性变化,方法多样,适用性高,适合处理非线性数据;缺点包括对非稳定时间序列的平稳化处理、异常值的干扰和参数选择的难度。因此,在使用佩尔预测模型时需要注意数据的处理和参数的选择,以获得更准确的预测结果。

(2)第二步:数据准备,数据来源于课本例题。

年份 客运量 X1/万人 旅客周转量 X2/亿人千米 公路客运量 X3/万人 公路旅客周转量 X4/亿人千米
1987 10091 88.4 8552 59.9
1988 10551 93.46 8864 64.81
1989 10389 94.01 8928 97.66
1990 10702 87.67 9475 65.77
1991 11078 95.86 9880 71.83
1992 10565 99.98 9277 69.89
1993 11063 111.9 9528 73.38
1994 25163 146.87 23518 101.77
1995 21697 137.93 20095 93.1
1996 23904 149.94 22397.1 102.4
1997 25003.7 172.4 23437.9 119.5
1998 29863 189.85 28048 131.8
1999 32962.2 237.99 30796 164.2
2000 33704 237.94 31586 171.2
2001 39984.4 304.2 37909 232.76
2002 38879.6 281.6 36726 210.1
2003 35156 263.45 33039 192.87
2004 38902 317.76 36502 227.21
2005 41079 331.6 38509 233.12
2006 43844 362.4 40861 247.71

(3)第三步:使用 Python 编写实验代码并做图。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 读取Excel数据
data = pd.read_excel('E:\\File\\class\\大三下\\数据挖掘\\test4.xlsx')
# 将x和y值转换为numpy数组
x = np.array(data['年份'])
y = np.array(data['客运量 X1/万人'])
# 计算趋势线
n = len(x)
trend = np.polyfit(np.arange(1, n+1), y, 1)
# 计算预测值
x_new = n + 2 # 预测的年份
y_new = trend[0] * x_new + trend[1]
print('2008年对应的客运量为:', y_new)
# 生成趋势线数据
trendline = trend[0] * np.arange(1, n+2) + trend[1]
# 绘制图形
plt.plot(np.arange(1, n+1), y, label='原始数据')
plt.plot(np.arange(1, n+3), np.append(trendline, y_new), label='趋势线')
plt.scatter(n+2, y_new, color='red', label='预测值')
plt.title('趋势外推预测模型(佩尔预测模型)案例')
plt.xlabel('年份')
plt.ylabel('客运量 X1/万人')
plt.legend()
plt.show()

代码解释:

上述代码是一个趋势外推预测模型(佩尔预测模型)的案例,主要功能是读取 Excel 数据,计算趋势线,预测未来客运量,并绘制数据图形。下面对每行代码进行详细解释:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

首先导入 pandas、numpy 和 matplotlib.pyplot 这三个库。

plt.rcParams[‘font.sans-serif’] = [‘SimHei’]

这一行代码是为了解决在 Matplotlib 中中文显示问题,设置中文字体为 SimHei。

data = pd.read_excel(‘E:\File\class\大三下\数据挖掘\test4.xlsx’)

读取数据文件 test4.xlsx,将其存储在 pandas 的 dataframe 中。

x = np.array(data[‘年份’])
y = np.array(data[‘客运量 X1/万人’])

将 dataframe 中的“年份”列和“客运量 X1/万人”列转换成 numpy 数组 x 和 y,方便后续计算。

n = len(x)
trend = np.polyfit(np.arange(1, n+1), y, 1)

利用 numpy 库中的 polyfit 函数计算出数据的趋势线,其中 np.arange(1, n+1) 生成了 1 到 n 的序列,用于拟合数据。1 指定了拟合的多项式的次数,这里指定为一次线性拟合。

x_new = n + 2 # 预测的年份
y_new = trend[0] * x_new + trend[1]
print(‘2008年对应的客运量为:’, y_new)

计算出在 2008 年的客运量,这里假设未来的客运量趋势与历史数据的趋势相同。y_new 计算了 2008 年对应的客运量。

trendline = trend[0] * np.arange(1, n+2) + trend[1]

生成趋势线数据,使用了 polyfit 计算出来的趋势线方程,即 y = kx + b,其中 k 是趋势线的斜率,b 是截距,np.arange(1, n+2) 生成了 1 到 n+1 的序列,用于绘制趋势线。

plt.plot(np.arange(1, n+1), y, label=‘原始数据’)
plt.plot(np.arange(1, n+3), np.append(trendline, y_new), label=‘趋势线’)
plt.scatter(n+2, y_new, color=‘red’, label=‘预测值’)
plt.title(‘趋势外推预测模型(佩尔预测模型)案例’)
plt.xlabel(‘年份’)
plt.ylabel(‘客运量 X1/万人’)
plt.legend()
plt.show()

绘制数据图形,包括原始数据的折线图、趋势线的折线图和预测值的散点图。其中:

plt.plot(np.arange(1, n+1), y, label=‘原始数据’) 绘制了原始数据的折线图。

plt.plot(np.arange(1, n+3), np.append(trendline, y_new), label=‘趋势线’) 绘制了趋势线的折线图。

plt.scatter(n+2, y_new, color=‘red’, label=‘预测值’) 绘制了预测值的散点图。

plt.title(‘趋势外推预测模型(佩尔预测模型)案例’) 设置了图形的标题。

plt.xlabel(‘年份’) 设置了 X 轴的标签。

plt.ylabel(‘客运量 X1/万人’) 设置了 Y 轴的标签。

plt.legend() 显示了图例。

plt.show() 展示了图形。

整个代码实现了一个基础的趋势外推预测模型,通过对历史数据的分析,找到数据的趋势线,再根据趋势线预测未来数据的变化趋势。同时,通过图形的绘制,让数据更加直观和易懂。

(4)第四步:实验结果。

绘图和预测2008年的客运量X1。

这里的预测结果为:48571.043759398526

实验总结

通过本次实验,我学习了趋势外推预测模型(佩尔预测模型)的基本原理和建立方法,了解了如何使用Python编程实现预测模型。同时,我们也使用了某省会全社会客运量预测实例,对趋势外推预测模型(佩尔预测模型)进行了实际应用和分析。在实验中,我掌握了数据预处理、模型训练和结果评估等关键技术,对于今后的数据分析和预测工作将有很大的帮助。同时在这个过程之中也出现了一些问题,但通过查阅相关资料最终这些问题都得以解决。在这个过程中我的动手实践能力的到提升,也让我明白了实际动手操作的重要性,在实际操作中可以发现很多平时发现不了的问题,通过实践最终都得以解决。

Python趋势外推预测模型实验完整版相关推荐

  1. 计算机图形学画圆vc代码,计算机图形学实验--完整版-带结果--vc++实现.doc

    计算机图形学实验--完整版-带结果--vc实现 计算机图形学实验报告 信息学院计算机专业 20081060183 周建明 综括: 利用计算机编程语言绘制图形,主要实现以下内容: (1).中点算法生成任 ...

  2. 网页爬虫python代码_《用python写网络爬虫》完整版+源码

    原标题:<用python写网络爬虫>完整版+源码 <用python写网络爬虫>完整版+附书源码 本书讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中 ...

  3. python从入门到精通pdf-跟老齐学Python从入门到精通完整版PDF_Python教程

    资源名称:跟老齐学Python 从入门到精通 完整版PDF 第1季 基础 第0章 预备 2 0.1 关于Python的故事 2 0.1.1 Python的昨天.今天和明天 3 0.1.2 Python ...

  4. 老男孩Python自动化开发12期完整版(含作业代码课件)

    老男孩Python自动化开发12期完整版(含作业代码课件) 链接:https://pan.baidu.com/s/1zCKn_VjstbCfTYCHCBKZgQ 密码:zujz 转载于:https:/ ...

  5. 报告解读:双肩包品牌消费趋势洞察(附完整版报告)

     点击上方蓝字关注我们  电商平台的兴起增加了购物的便利性,同时也增加了消费者选择的多样性.面对琳琅满目的双肩包,消费者对品牌本身的品质和服务也提出了更高要求.性价比高.更加迎合消费者喜好的品牌自然会 ...

  6. 最新版python教程_Python入门教程完整版(懂中文就能学会)

    前几天给大家分享视频<python基础教程>受到了广泛的关注,有人不知道怎么领取,居然称小编为"骗子". 不过小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今 ...

  7. 报告解读:面膜电商消费趋势洞察(附完整版报告)

    近年来,在"颜值经济"的驱动下,我国化妆品类零售总额持续提高,而面膜作为一种高效的护肤品,也越来越受到爱美人士的青睐.有数据显示,2019年,我国面膜产品的市场渗透率已达到51%. ...

  8. 自学python推荐书籍同时找哪些来实践-机器学习:Python实践 PDF 原书完整版

    给大家带来的一篇关于人工智能相关的电子书资源,介绍了关于机器学习.Python实践方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小124.7 MB,魏贞原编写,目前豆瓣.亚马逊.当当.京 ...

  9. python大神-国内某Python大神自创完整版,系统性学习Python

    很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...

最新文章

  1. 【队列源码研究】消息队列beanstalkd源码详解
  2. 过去一个月发生了什么,C++再次真香了吗?
  3. 解决spring boot+JPA实现操作数据库时编辑时也变成了新增
  4. Symbian开发平台的搭建之VC++6.0Carbide C++ 2.0
  5. lvs-健康检查方式
  6. 【算法学习】堆排序(Heap Sorting)
  7. 简易语音助手—python
  8. Linux内核模块编程
  9. 计算机快捷截图方式,Windows系统电脑快速屏幕截图方式
  10. python转换迅雷地址为http地址
  11. dedecms如何在首页调用会员信息(会员头像和名字等)
  12. mixpanel实验教程(1)
  13. dhtml gantt所有配置_dhtmlx-gantt相关配置
  14. 日语日常信函书信写作范文(6篇)
  15. PDF转CAD在线怎么转换?分享个在线转换的方法
  16. uniapp 引导页 启动页 闪屏页功能介绍及部分功能实现
  17. ImageView(仿QQ图片查看器)
  18. 谁说计算机专业只能去互联网敲代码?国企,公务员,产品经理照样很香|应届生求职指南
  19. 无法从服务器中获取信息,iOS7完美越狱工具evasi0n7越狱出错提示无法从网络服务器获得信息...
  20. 骁龙相机 android8,谷歌相机移植成功,支持骁龙845,小米8小米MIX2S亲测可用

热门文章

  1. 论文代码细读(初学者入门,两张图看懂塔克融合论文代码)MUTAN: Multimodal Tucker Fusion for Visual Question Answering
  2. vue3项目安装使用scss
  3. HTML列表中如何去掉最后一行边框
  4. c语言标准字库,用C语言自造1602中文字库
  5. Star-Transformer
  6. 如何解决各部门之间沟通协作的障碍
  7. 探索支付宝账单的技术实现
  8. 2019年全球主题公园集团排行榜十强公布
  9. 广东省城市环境空气质量状况数据集(2014年1月-2022年5月)
  10. 手机qq邮箱pop3服务器是什么意思,qq邮箱pop3是什么意思怎么弄(邮箱客户端设置中IMAP和POP3有什么区别)...