Python趋势外推预测模型实验完整版
趋势外推预测模型实验完整版
实验目的
通过趋势外推预测模型(佩尔预测模型),掌握预测模型的建立和应用方法,了解趋势外推预测模型(佩尔预测模型)的基本原理
实验内容
趋势外推预测模型
实验步骤和过程
(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趋势外推预测模型实验完整版
趋势外推预测模型实验完整版 实验目的 通过趋势外推预测模型(佩尔预测模型),掌握预测模型的建立和应用方法,了解趋势外推预测模型(佩尔预测模型)的基本原理 实验内容 趋势外推预测模型 实验步骤和过程…...
KALI入门到高级【第三章】
预计更新第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 特…...
React Native中防止滑动过程中误触
React Native中防止滑动过程中误触 在使用React Native开发的时,当我们快速滑动应用的时候,可能会出现误触,导致我们会点击到页面中的某一些点击事件,误触导致页面元素响应从而进行其他操作,表现出非常不好的用户体验。 一、问题…...
【c语言】函数递归调用
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ…...
SPSS如何进行判别分析之案例实训?
文章目录 0.引言1.一般判别分析2.逐步判别分析3.决策树分析 0.引言 因科研等多场景需要进行绘图处理,笔者对SPSS进行了学习,本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结,本文对判别分析进行阐述。 1…...
Windows 10 字体模糊发虚的问题及解决方法
Windows 10字体模糊发虚! 如何解决?Windows 10是一款常见的操作系统,它拥有各种各样的功能,但是有些用户发现,在使用Windows 10时,字体会变得模糊发虚,这给用户带来了很多不便。下面,我们就来看看如何解决…...
渔人杯部分wp
文章目录 渔人杯神仙姐姐阿拉丁飘啊飘 渔人杯 神仙姐姐 点击拜 ,抓包发现get请求了/sx.php 返回如下 {"code":0,"num":1,"flag":"ctfsh0w-f1ag-n0t-h3r3-th1s-msg-just-a-j0ke-}{"}在repeater重复请求,发现…...
测试用例覆盖不全面的解决方法
测试用例覆盖不全面的解决方法 问题分析 在测试用例设计过程中,容易出现思维受限或者需求盲区,我们不可能完全覆盖用户使用的所有场景,编写测试用例的时不可能把所有的场景都能想周全,把所有的场景下的情况都写成测试用例去模拟、…...
AWS Lambda - 第一部分
Hello大家好,我们今天开始讨论AWS Lambda的内容。 SAP认证考试会涉及到很多Lambda的内容,想要通过认证考试虽然不一定非要精通开发,但需要知道Lambda的一些功能和特性、适用场景以及Lambda是如何工作的。 我们开始吧! Lambda与…...
Java 基础进阶篇(七)—— 面向对象三大特征之三:多态
文章目录 一、多态的概述二、多态中成员访问特点 ★三、多态的优势与劣势四、多态下的类型转换4.2 自动类型转换(从子到父)4.2 强制类型转换(从父到子)4.3 instanceof 关键字 一、多态的概述 多态:是指执行同一个行为…...
day9 实现UDP通信
目录 socket函数拓展 UDP通信实现过程 代码实现 socket函数拓展 send与recv函数: /*用于发送数据*/ ssize_t send(int sockfd, const void *buf, size_t len,int flags);/*用于接收数据*/ ssize_t recv(int sockfd, void *buf, size_t len,int flags);/*前三个…...
自然语言处理(NLP)在放射学报告评价中的应用:应用和技术进展
自然语言处理(NLP)在放射学报告评价中的应用:应用和技术进展 写在最前面摘要引言先进的技术BERT算法优点 Applications in Radiology 放射学应用Quality 质量将关键发现通知转诊临床医生放射科关键绩效指标和评估 个别放射科医生的表现同行学…...
日常开发为什么需要做Code Review
日常开发为什么需要做Code Review 一、背景 最近在开始一个新的项目,在查看项目中代码及具体细节时,发现这个项目真实一堆乱麻,没有规律可循,可总结下这个项目的缺陷 没有规律可循,没有结构性设计不做公共封装&#…...
OSPF的优化
O_ASE --- 标志域外路由信息 --- 因为域外的路由信息不可控性较强,所以,信任程度较低,我们将其优先级设置为150。 LSA --- 链路状态通告 --- OSPF协议在不同网络环境下产生的用于携带和传递不同的信息。 LSDB --- 链路状态数据库 SPF --- 最短…...
C++项目中打破循环依赖的锁链:实用方法大全
C项目中打破循环依赖的锁链 一、简介(Introduction)1.1 循环依赖的定义(Definition of Circular Dependencies)1.2 循环依赖带来的问题(Problems Caused by Circular Dependencies)1.3 解决循环依赖的重要性…...
IDEA连接HBase
新建maven工程 打开pom.xml添加hbase需要的依赖 <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.3.5</version> </dependency><dependency><groupId>org.apa…...
Mask2Former来了!用于通用图像分割的 Masked-attention Mask Transformer
原理https://blog.csdn.net/bikahuli/article/details/121991697 源码解析 论文地址:http://arxiv.org/abs/2112.01527 项目地址:https://bowenc0221.github.io/mask2former Mask2Former的整体架构由三个组件组成: 主干特征提取器ÿ…...
【量化课程】01_投资与量化投资
文章目录 1.1 什么是投资1.1.1 经济意义上的投资1.1.2 投资的分类1.1.3 金融投资1.1.4 个人投资者投资品种1.1.5 投资VS投机 1.2 股票投资的基本流程1.3 常见的股票投资分析流派1.3.1 投资者分析流派 1.4 什么是量化投资1.4.1 量化投资基本概念1.4.2 量化投资的优势1.4.3 量化投…...
SpringBoot实现导出Excel功能
1 问题背景 需求要做一个导出excel的功能 2 前言 本篇着重阐述后端怎么实现,前端实现的部分只会粗略阐述。该实现方案是经过生产环境考验的,不是那些拿来练手的小demo。本文阐述的方案可以借鉴用来做毕设或者加到自己玩的项目中去。再次声明,…...
NSSCTF之Misc篇刷题记录⑧
NSSCTF之Misc篇刷题记录 [MMACTF 2015]welcome[广东强网杯 2021 团队组]欢迎参加强网杯[虎符CTF 2022]Plain Text[SWPUCTF 2021 新生赛]原来你也玩原神[SWPUCTF 2021 新生赛]我flag呢?[鹤城杯 2021]New MISC NSSCTF平台:https://www.nssctf.cn/ PS&…...
从零开始学习Linux运维,成为IT领域翘楚(七)
文章目录 🔥Linux下常用软件安装_JDK和Tomcat安装🔥Linux下常用软件安装_MySQL安装🔥Linux下常用软件安装_MySQL卸载 🔥Linux下常用软件安装_JDK和Tomcat安装 Jdk 安装 解压jdk安装包 tar -zxvf jdk-8u201-linux-x64.tar.gz -C/…...
优漫动游设计APP的UI界面需要注意哪些问题?
一、加载 加载时间的长短,很大程度的决定了用户体验是否有所提升,虽然理想中的页面加载出来应该一秒就够了,但是设计师不要忽略网络问题!如果网速不够的话,页面加载三五秒都算是快的了,所以在用户等待的过程中&a…...
面试 004
什么是 Java 内存结构 Java 内存结构就是 JVM 的运行书数据区的内存结构: 里面有堆、虚拟机栈、本地方法栈、程序计数器; 虚拟机栈:里面的数据结构是栈帧,存放了方法名,局部变量等信息 方法区在 1.8 的时候…...
CCF-202206-2-寻宝!大冒险!
目录 题目背景 问题描述 一、思路: 二、实现方法(C) 2.1、方法一(int储存) 思路: C实现如下: 2.2、方法二(结构体储存) 思路: 注意:边界…...
二叉搜索树中的众数
1题目 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST 满足如下定义&…...
认识JSP
什么是JSP? JSP(Java Server Pages)是一种类似于HTML的标记语言,用于创建动态Web页面。与HTML不同的是,JSP页面中可以嵌入Java代码,由Web服务器在动态页面中生成HTML代码,从而实现Web应用程序的前端交互效…...
MySQL数据管理
一、MySQL数据库管理 1、库和表 行(记录):用来描述一个对象的信息 列(字段):用来描述对象的一个属性 2、常用的数据类型 int :整型 float :单精度浮点 4字节32位 double &…...
第十九章 Unity 其他 API
本节介绍一些其他经常使用的Unity类。首先,我们回顾一下Vector3向量类,它既可以表示方向,也可以表示大小。它在游戏中可以用来表示角色的位置,物体的移动/旋转,设置两个游戏对象之间的距离。在我们之前的课程中&#x…...
sha256算法详解,用C语言模拟sha256算法
SHA-256是一种加密算法,它可以将任意长度的数据块计算出一个固定长度的输出值,通常是256位。SHA-256具有以下特点: 1. 固定输出长度:SHA-256的输出长度为256位,不受输入数据的长度限制。 2. 不可逆性:SHA-256采用单向哈希函数,即无法从输出值反向推出输入数据。 3. 抗…...
前端技术未来发展展望
前端技术在未来的发展中将继续保持快速、变化多样和创新性强的趋势。以下是我认为前端技术未来发展的几个方向: 框架和库的演进:框架和库的更新换代将继续加速。React、Vue、Angular等主流框架的更新周期将会缩短,同时各自的生态系统也将更加…...
公司做网站 优帮云/百度推广网址是多少
2013 lost connection to mysql server during query navicat 导入sql大脚本到mysql数据库报错 解决办法: 修改mysql.ini配置文件: max_allowed_packet256M wait_timeout5000posted on 2016-06-18 17:12 NET未来之路 阅读(...) 评论(...) 编辑 收藏 转载于:https://…...
网站标识代码怎么加/厦门百度竞价开户
根据你的系统选择你需要下载的jdk,32位系统对应x86,64位系统对应x64下载完后得到一个可执行文件,点击运行进入安装二、安装1.安装JDK选择你要安装到的路径,注意这个路径不能包含中文名这里我们可以通过“更改”选择自己想要安装到…...
如何做网站服务器映射/bt磁力搜索
什么是WinRT? 首先WinRT是微软为了方便开发者编写Metro风格的程序而提供的一个开发平台。对于广大普通开发者而言,WinRT就是一堆Storage, Pickers, Controls,network,Media等组件的可供调用的API函数。开发者可以调用微软通过W…...
discuz 做的网站/百家号排名
最近学WebGL需要读取本地图片,研究了一下Debbuger for chrome的拓展,发现可以传递执行参数"runtimeArgs": [" --disable-web-security"]来允许读取本地文件,以下是Json配置文件{"version": "0.2.0",…...
flash网站用什么做/网站快速排名的方法
http://www.swfdiy.com/?p842 AMF3 AS 3.0 ASP.NET 完整配置过程 啥是AMF AMF是Action Message Format的简写,它是一种二进制的数据格式, 它的设计,是为了把actionscript里面的数据(包括Object, Array, Boolean, Number等)序列化成 一段你…...
wordpress主题中文主题下载/百度手机助手下载正版
一、什么是Set 1)Set是一种叫做集合的数据结构。这句话的重点在于集合,那么什么是集合的?它又有什么特点呢?集合是由一组无序且唯一的项组成的,即是一个没有重复元素也没有顺序概念的数组 2)Set本身是一个…...