Python统计实战:时间序列分析之二阶曲线预测和三阶曲线预测
为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。
(以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。)
练习题
下表是某只股票连续35个交易日的收盘价格(前3行和后3行)。
(1)分别采用m=5和m=10对收盘价格进行平滑,并绘制实际值和平滑值的图形进行比较。
(2)分别采用以下方法进行预测,并绘制预测图和残差图,对结果进行比较。
(a)简单指数平滑和Holt指数平滑;
(b)一元线性回归和指数曲线;
(c)二阶曲线和三阶曲线。
图形绘制与分析
本文就(2c)题展开分析。
(2c)收盘价的二阶和三阶曲线预测
有些现象的变化形态比较复杂,它们不是按照某种固定的形态变化,而是有升有降,在变化过程中可能有几个拐点,这时就需要拟合多项式函数。当只有一个拐点时,可以拟合二阶曲线,即抛物线;当有两个拐点时,需要拟合三阶曲线;当有k一1个拐点时,需要拟合k阶曲线。
建立二阶曲线模型和三阶曲线模型
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from statsmodels.formula.api import ols
plt.rcParams['font.sans-serif'] = ['Songti SC']
plt.rcParams['axes.unicode_minus'] = False
df = pd.read_csv('exercise11_1.csv')# 拟合二阶曲线模型(model2)和三阶曲线模型(model3)
df['t'] = df['时间']-1
model2 = ols('收盘价 ~ t + pow(t, 2)', data = df).fit() # 拟合二阶曲线
model3 = ols('收盘价 ~ t + pow(t, 2) + pow(t, 3)', data = df).fit() # 拟合三阶曲线# 计算二阶曲线和三阶曲线的预测值和残差
df_pre = pd.DataFrame({'时间':df['时间'], '收盘价':df['收盘价'], '二阶曲线预测值':model2.fittedvalues, '二阶曲线残差':model2.resid,'三阶曲线预测值':model3.fittedvalues, '三阶曲线残差':model3.resid})
df_pre.loc[35, '时间'] = 36
df_pre = df_pre.astype({'时间':int})
df_pre.loc[35, '二阶曲线预测值'] = model2.predict(exog = dict(t = 36)).values
df_pre.loc[35, '三阶曲线预测值'] = model3.predict(exog = dict(t = 36)).values
round(df_pre,2)
显示前16行结果
绘制实际值和预测值曲线
# 实际值和预测值曲线
# 图(a)预测图
plt.subplots(1, 2, figsize = (11, 4))
plt.subplot(121)
l1 = plt.plot(df_pre['收盘价'], marker = 'o', linewidth = 1)
l2 = plt.plot(df_pre['二阶曲线预测值'], marker = '+', ls = '-', linewidth = 1)
l3 = plt.plot(df_pre['三阶曲线预测值'], marker = '*', ls = '-.', linewidth = 1)plt.axvline(34, ls = '--', c = 'grey', linewidth = 1)
plt.xticks(range(0, 35, 2), df_pre['时间'][::2])
plt.xlabel('时间', size = 12)
plt.ylabel('收盘价', size = 12)
plt.legend(['收盘价', '二阶曲线预测值', '三阶曲线预测值'], prop = {'size':11})
plt.title('(a)收盘价的二阶和三阶曲线预测', size = 13)# 图(b)残差图
plt.subplot(122)
plt.scatter(range(len(df_pre['二阶曲线预测值'])), df_pre['二阶曲线残差'], marker = '+')
plt.scatter(range(len(df_pre['二阶曲线预测值'])), df_pre['三阶曲线残差'], marker = '*', linewidth = 1)
plt.hlines(0, 0, 35, linestyle = '--', color = 'red', linewidth = 1)plt.xticks(range(0, 35, 2), df_pre['时间'][::2])
plt.xlabel('时间', size = 12)
plt.ylabel('残差', size = 12)
plt.legend(['二阶曲线残差', '三阶曲线残差'], prop = {'size':11})
plt.title('(b)二阶曲线和三阶曲线预测残差', size = 13)
plt.tight_layout()
左图展示了收盘价的实际值和二阶和三阶曲线的拟合值。从图形上看,三阶曲线拟合效果较少。右图显示,二阶曲线的预测残差和三阶曲线的预测残差总体上看没有明显的固定模式。同时,三阶曲线的预测残差较二阶曲线残差小一些,说明三阶曲线预测更加合理。
都读到这里了,不妨关注、点赞一下吧!
相关文章:

Python统计实战:时间序列分析之二阶曲线预测和三阶曲线预测
为了解决特定问题而进行的学习是提高效率的最佳途径。这种方法能够使我们专注于最相关的知识和技能,从而更快地掌握解决问题所需的能力。 (以下练习题来源于《统计学—基于Python》。请在Q群455547227下载原始数据。) 练习题 下表是某只股票…...

Drools开源业务规则引擎(三)- 事件模型(Event Model)
文章目录 Drools开源业务规则引擎(三)- 事件模型(Event Model)1.org.kie.api.event2.RuleRuntimeEventManager3.RuleRuntimeEventListener接口说明示例规则文件规则执行日志输出 4.AgentaEventListener接口说明示例监听器实现类My…...

智慧校园行政办公升级,日程监控不可或缺
在智慧校园的行政办公场景下,日程监控功能扮演了一个核心协调者的角色,它细腻地编织起时间管理的网络,确保各项活动与任务在井然有序中高效推进。这一功能通过以下几个方面,展现了其在提升工作效率与团队协作方面的独特价值。 首先…...
RedHat运维-Linux SSH基础3-sshd守护进程
1. sshd这个守护进程提供了OpenSSH服务,请问可以通过编辑哪些配置文件,来配置这个服务呢?________________________ 2. sshd这个守护进程提供了OpenSSH服务,请问可以通过编辑哪些配置文件,来配置这个服务呢?…...

医院产科信息化管理系统源码,智慧产科管理系统,涵盖了从孕妇到医院初次建档、历次产检、住院分娩、统计上报到产后42天全部医院服务的信息化管理。
医院产科信息化管理系统源码,智慧产科管理系统,产科专科电子病历系统 技术架构:前后端分离Java,Vue,ElementUIMySQL8.0.36 医院产科信息化管理系统,通过构建专科病例系统实现临床保健一体化,涵…...

Softmax作为分类任务中神经网络输出层的优劣分析
Softmax作为分类任务中神经网络输出层的优劣分析 在深度学习领域,Softmax函数作为分类任务中神经网络的输出层,被广泛应用并展现出强大的优势。然而,任何技术都有其两面性,Softmax函数也不例外。本文将从多个角度深入分析Softmax…...

404白色唯美动态页面源码
404白色唯美动态页面源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 404白色唯美动态页面源码...

细说MCU的ADC模块单通道连续采样的实现方法
目录 一、工程依赖的硬件及背景 二、设计目的 三、建立工程 1、配置GPIO 2、选择时钟源和Debug 3、配置ADC 4、配置系统时钟和ADC时钟 5、配置TIM3 6、配置串口 四、代码修改 1、重定义TIM3中断回调函数 2、启动ADC及重写其回调函数 3、定义用于存储转换结果的数…...

H2 Database Console未授权访问漏洞封堵
背景 H2 Database Console未授权访问,默认情况下自动创建不存在的数据库,从而导致未授权访问。各种未授权访问的教程,但是它怎么封堵呢? -ifExists 很简单,启动参数添加 -ifExists ,它的含义:…...

基于java+springboot+vue实现的药店管理系统(文末源码+Lw)285
摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,药品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广…...
网络爬虫基础
网络爬虫基础 网络爬虫,也被称为网络蜘蛛或爬虫,是一种用于自动浏览互联网并从网页中提取信息的软件程序。它们能够访问网站,解析页面内容,并收集所需数据。Python语言因其简洁的语法和强大的库支持,成为实现网络爬虫…...
js数组方法归纳——push、pop、unshift、shift
以下涉及到的数组的四个基础方法均会改变原数组!!! 1、 push() 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾该方法会将数组新的长度作为返回值返回 //创…...
VPN是什么?
VPN,全称Virtual Private Network,即“虚拟私人网络”,是一种在公共网络(如互联网)上建立加密、安全的连接通道的技术。简单来说,VPN就像是一条在公共道路上铺设的“秘密隧道”,通过这条隧道传输…...
浅析DDoS高防数据中心网络
随着企业业务的持续拓展和数智化转型步伐的加快,数据中心已逐渐演变为企业数据存储、处理和应用的关键部署场地,这也使得数据中心面临着日益严峻的网络安全风险,其中DDoS攻击以其高效性依旧是数据中心面临的主要威胁之一。伴随着数智化的发展…...

《安全行业大模型技术应用态势发展报告(2024)》
人工智能技术快速迭代发展,大模型应用场景不断拓展,随着安全行业对人工智能技术的应用程度日益加深,大模型在网络安全领域的应用潜力和挑战逐渐显现。安全行业大模型技术的应用实践不断涌现,其在威胁检测、风险评估和安全运营等方…...

【基于R语言群体遗传学】-4-统计建模与算法(statistical tests and algorithm)
之前的三篇博客,我们对于哈代温伯格遗传比例有了一个全面的认识,没有看的朋友可以先看一下前面的博客: 群体遗传学_tRNA做科研的博客-CSDN博客 1.一些新名词 (1)Algorithm: A series of operations executed in a s…...

Java springboot校园管理系统源码
Java springboot校园管理系统源码-014 下载地址:https://download.csdn.net/download/xiaohua1992/89364089 技术栈 运行环境:jdk8 tomcat9 mysql5.7 windows10 服务端技术:Spring Boot Mybatis VUE 使用说明 1.使用Navicati或者其它工…...
Lianwei 安全周报|2024.07.01
新的一周又开始了,以下是本周「Lianwei周报」,我们总结推荐了本周的政策/标准/指南最新动态、热点资讯和安全事件,保证大家不错过本周的每一个重点! 政策/标准/指南最新动态 01 出于安全考虑,拜登下令禁用卡巴斯基杀毒…...

柯桥职场英语学习商务英语口语生活英语培训生活口语学习
辣妹用英语怎么说? 辣妹在英语中通常被翻译为“hot girl”或“spicy girl”,但更常见和直接的是“hot chick”或简单地使用“hot”来形容。 举个例子: Shes a real hot girl with her trendy outfit and confident attitude. 她真是个辣妹࿰…...

Spring与Quartz整合
Quartz框架是一个轻量级的任务调度框架,它提供了许多内置的功能,包括:支持作业的调度、集群调度、持久化、任务持久化、任务依赖、优先级、并发控制、失败重试等。同时也支持自定义作业类型和触发器类型。与Spring整合步骤如下: …...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...