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&…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
