当前位置: 首页 > news >正文

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语言】函数递归调用

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ…...

SPSS如何进行判别分析之案例实训?

文章目录 0.引言1.一般判别分析2.逐步判别分析3.决策树分析 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对判别分析进行阐述。 1…...

Windows 10 字体模糊发虚的问题及解决方法

Windows 10字体模糊发虚! 如何解决?Windows 10是一款常见的操作系统&#xff0c;它拥有各种各样的功能&#xff0c;但是有些用户发现&#xff0c;在使用Windows 10时&#xff0c;字体会变得模糊发虚&#xff0c;这给用户带来了很多不便。下面&#xff0c;我们就来看看如何解决…...

渔人杯部分wp

文章目录 渔人杯神仙姐姐阿拉丁飘啊飘 渔人杯 神仙姐姐 点击拜 &#xff0c;抓包发现get请求了/sx.php 返回如下 {"code":0,"num":1,"flag":"ctfsh0w-f1ag-n0t-h3r3-th1s-msg-just-a-j0ke-}{"}在repeater重复请求&#xff0c;发现…...

测试用例覆盖不全面的解决方法

测试用例覆盖不全面的解决方法 问题分析 在测试用例设计过程中&#xff0c;容易出现思维受限或者需求盲区&#xff0c;我们不可能完全覆盖用户使用的所有场景&#xff0c;编写测试用例的时不可能把所有的场景都能想周全&#xff0c;把所有的场景下的情况都写成测试用例去模拟、…...

AWS Lambda - 第一部分

Hello大家好&#xff0c;我们今天开始讨论AWS Lambda的内容。 SAP认证考试会涉及到很多Lambda的内容&#xff0c;想要通过认证考试虽然不一定非要精通开发&#xff0c;但需要知道Lambda的一些功能和特性、适用场景以及Lambda是如何工作的。 我们开始吧&#xff01; Lambda与…...

Java 基础进阶篇(七)—— 面向对象三大特征之三:多态

文章目录 一、多态的概述二、多态中成员访问特点 ★三、多态的优势与劣势四、多态下的类型转换4.2 自动类型转换&#xff08;从子到父&#xff09;4.2 强制类型转换&#xff08;从父到子&#xff09;4.3 instanceof 关键字 一、多态的概述 多态&#xff1a;是指执行同一个行为…...

day9 实现UDP通信

目录 socket函数拓展 UDP通信实现过程 代码实现 socket函数拓展 send与recv函数&#xff1a; /*用于发送数据*/ 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)在放射学报告评价中的应用:应用和技术进展

自然语言处理&#xff08;NLP&#xff09;在放射学报告评价中的应用&#xff1a;应用和技术进展 写在最前面摘要引言先进的技术BERT算法优点 Applications in Radiology 放射学应用Quality 质量将关键发现通知转诊临床医生放射科关键绩效指标和评估 个别放射科医生的表现同行学…...

日常开发为什么需要做Code Review

日常开发为什么需要做Code Review 一、背景 最近在开始一个新的项目&#xff0c;在查看项目中代码及具体细节时&#xff0c;发现这个项目真实一堆乱麻&#xff0c;没有规律可循&#xff0c;可总结下这个项目的缺陷 没有规律可循&#xff0c;没有结构性设计不做公共封装&#…...

OSPF的优化

O_ASE --- 标志域外路由信息 --- 因为域外的路由信息不可控性较强&#xff0c;所以&#xff0c;信任程度较低&#xff0c;我们将其优先级设置为150。 LSA --- 链路状态通告 --- OSPF协议在不同网络环境下产生的用于携带和传递不同的信息。 LSDB --- 链路状态数据库 SPF --- 最短…...

C++项目中打破循环依赖的锁链:实用方法大全

C项目中打破循环依赖的锁链 一、简介&#xff08;Introduction&#xff09;1.1 循环依赖的定义&#xff08;Definition of Circular Dependencies&#xff09;1.2 循环依赖带来的问题&#xff08;Problems Caused by Circular Dependencies&#xff09;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 源码解析 论文地址&#xff1a;http://arxiv.org/abs/2112.01527 项目地址&#xff1a;https://bowenc0221.github.io/mask2former Mask2Former的整体架构由三个组件组成&#xff1a; 主干特征提取器&#xff…...

【量化课程】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 前言 本篇着重阐述后端怎么实现&#xff0c;前端实现的部分只会粗略阐述。该实现方案是经过生产环境考验的&#xff0c;不是那些拿来练手的小demo。本文阐述的方案可以借鉴用来做毕设或者加到自己玩的项目中去。再次声明&#xff0c;…...

NSSCTF之Misc篇刷题记录⑧

NSSCTF之Misc篇刷题记录 [MMACTF 2015]welcome[广东强网杯 2021 团队组]欢迎参加强网杯[虎符CTF 2022]Plain Text[SWPUCTF 2021 新生赛]原来你也玩原神[SWPUCTF 2021 新生赛]我flag呢&#xff1f;[鹤城杯 2021]New MISC NSSCTF平台&#xff1a;https://www.nssctf.cn/ PS&…...

FanControl终极指南:Windows风扇智能控制完全手册

FanControl终极指南&#xff1a;Windows风扇智能控制完全手册 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fan…...

告别臃肿!用Debootstrap从零打造一个极简Debian系统(保姆级分区+配置指南)

告别臃肿&#xff01;用Debootstrap从零打造一个极简Debian系统&#xff08;保姆级分区配置指南&#xff09; 在资源有限的环境中&#xff0c;一个臃肿的操作系统往往会成为性能瓶颈。无论是老旧电脑、嵌入式设备还是轻量级服务器&#xff0c;系统冗余不仅占用宝贵的存储空间&a…...

5分钟掌握暗黑破坏神2存档编辑:免费Web工具完整指南

5分钟掌握暗黑破坏神2存档编辑&#xff1a;免费Web工具完整指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2中反复刷装备而烦恼吗&#xff1f;想快速体验不同职业的build却不想从头练级&#xff1f;d2s-ed…...

为什么顶尖投行/律所/药企已将Perplexity设为默认搜索端口?:拆解其底层Provenance Graph引擎与ChatGPT RAG架构的7层信任差

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity与ChatGPT搜索范式的根本性分野 Perplexity 和 ChatGPT 代表两种截然不同的信息交互哲学&#xff1a;前者以**可验证的溯源驱动**为核心&#xff0c;后者以**生成连贯性优先**为设计原则。这…...

告别手工账!用SAP自动记账处理采购价差与发票价差(附MIRO/MIGO操作截图)

SAP自动记账实战&#xff1a;采购价差与发票价差的智能处理方案 1. 采购业务中的价格差异痛点 财务部门每月最头疼的莫过于月底对账时发现采购订单价格、收货价格和发票价格三者不一致。传统手工记账模式下&#xff0c;财务人员需要反复核对采购订单、收货单和发票&#xff0c;…...

SDR++:跨平台无线电接收软件入门实战指南

SDR&#xff1a;跨平台无线电接收软件入门实战指南 【免费下载链接】SDRPlusPlus Cross-Platform SDR Software 项目地址: https://gitcode.com/GitHub_Trending/sd/SDRPlusPlus 想要探索软件定义无线电的奇妙世界却不知从何入手&#xff1f;SDR作为一款轻量级、跨平台的…...

储能出海架构重构:摒弃传统x86工控机,基于ARM边缘节点的EMS策略下沉实战

摘要&#xff1a; 随着储能系统在全球范围的大规模部署&#xff0c;出海项目的硬件BOM成本压力与恶劣环境下的维护成本日益凸显。传统的“x86工控机下发控制 透传网关上传数据”的双体架构显得极度臃肿且易引发单点故障。本文从底层研发架构师视角出发&#xff0c;深度拆解符合…...

机器学习40讲-13:线性降维主成分的使用

分享一个大牛的人工智能 教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击人工智能教程​​​​​​https://www.captainai.net/troubleshooter 在前一篇文章中,我以岭回归和LASSO为例介绍了线性回归的正则化处理。这两种方法都属于收缩方法(shr…...

到极限了吗?优化算法APP9.0,再加入228个车间调度案例!

我又来更新啦&#xff01;这次在优化算法APP8.0的基础上再次大更新&#xff01;加入了4大经典车间调度数据集&#xff0c;共228个实例开箱即用。这个案例的加入非常适合写论文哦&#xff01;当你以为我黔驴技穷的时候&#xff0c;不好意思&#xff0c;我的表演才刚刚开始~ 哈哈…...

如何用EPPlus 8快速实现.NET Excel自动化处理

如何用EPPlus 8快速实现.NET Excel自动化处理 【免费下载链接】EPPlus EPPlus-Excel spreadsheets for .NET 项目地址: https://gitcode.com/gh_mirrors/epp/EPPlus 如果你正在寻找一个强大且易用的.NET Excel处理库&#xff0c;那么EPPlus 8绝对值得你深入了解。这个功…...