6、基于机器学习的预测

应用机器学习的任何预测任务与这四个策略。

文章目录

  • 1、简介
  • 1.1定义预测任务
  • 1.2准备预测数据
  • 1.3多步预测策略
      • 1.3.1多输出模型
      • 1.3.2直接策略
      • 1.3.3递归策略
      • 1.3.4DirRec 策略
  • 2、流感趋势示例
      • 2.1多输出模型
      • 2.2直接策略

1、简介

在第二课和第三课中,我们将预测视为一个简单的回归问题,所有的特征都是从一个输入,即时间索引,衍生出来的。我们可以通过生成我们想要的趋势和季节性特征,轻松地对未来的任何时间进行预测。

但是,当我们在第四课中添加了滞后特征时,问题的性质就发生了变化。滞后特征要求在进行预测时,滞后的目标值是已知的。滞后 1 的特征将时间序列向前移动 1 步,这意味着你可以预测未来的 1 步,但不能预测 2 步。

在第四课中,我们只是假设我们可以一直生成滞后特征,直到我们想要预测的期间(换句话说,每个预测都是向前一步)。然而,现实世界的预测通常需要更多的信息,所以在这一课中,我们将学习如何针对各种情况进行预测。

1.1定义预测任务

在设计预测模型之前,有两件事情需要确定:

  • 在进行预测时,有哪些信息是可用的(特征),以及,
  • 你需要预测值的时间段(目标)。

预测起点是你进行预测的时间。实际上,你可以将预测起点视为你有训练数据的最后一个时间,用于预测正在预测的时间。起点之前的所有内容都可以用来创建特征。

预测范围是你进行预测的时间。我们通常用预测范围内的时间步数来描述一个预测:例如,“1 步”预测或“5 步”预测。预测范围描述了目标。
在这里插入图片描述
一个三步预测范围,有两步的提前时间,使用四个滞后特征。该图表示了一行训练数据的内容,也就是一个预测的数据。

起点和范围之间的时间是预测的提前时间(或有时称为延迟)。预测的提前时间由起点到范围的步数来描述:例如,“1 步前”或“3 步前”的预测。在实践中,由于数据获取或处理的延迟,可能需要一个预测从起点开始多步前进行。

1.2准备预测数据

为了用机器学习算法进行时间序列预测,我们需要将序列转换为一个可以用于这些算法的数据框。(当然,除非你只使用确定性的特征,如趋势和季节性。)

我们在第四课中看到了这个过程的前半部分,当时我们用滞后值创建了一个特征集。后半部分是准备目标值。我们如何做这个取决于预测任务的不同。

数据框中的每一行代表一个单独的预测。行的时间索引是预测范围内的第一个时间,但我们将整个范围内的值都安排在同一行中。对于多步预测,这意味着我们需要一个模型能够产生多个输出,每一步一个。

In [1]:

import numpy as np
import pandas as pdN = 20
ts = pd.Series(np.arange(N),index=pd.period_range(start='2010', freq='A', periods=N, name='Year'),dtype=pd.Int8Dtype,
)# Lag features
X = pd.DataFrame({'y_lag_2': ts.shift(2),'y_lag_3': ts.shift(3),'y_lag_4': ts.shift(4),'y_lag_5': ts.shift(5),'y_lag_6': ts.shift(6),    
})# Multistep targets
y = pd.DataFrame({'y_step_3': ts.shift(-2),'y_step_2': ts.shift(-1),'y_step_1': ts,
})data = pd.concat({'Targets': y, 'Features': X}, axis=1)data.head(10).style.set_properties(['Targets'], **{'background-color': 'LavenderBlush'}) \.set_properties(['Features'], **{'background-color': 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EMNLP 2023精选:Text-to-SQL任务的前沿进展(上篇)——正会论文解读

导语 本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关(通过搜索标题关键词查找得到,可能不全)的论文,共计12篇,包含5篇正会论文和7篇Findings论文,以下是对这些论文的略…

Redis(三)主从架构、Redis哨兵架构、Redis集群方案对比、Redis高可用集群搭建、Redis高可用集群之水平扩展

转自 极客时间 Redis主从架构 redis主从架构搭建,配置从节点步骤: 1、复制一份redis.conf文件2、将相关配置修改为如下值: port 6380 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件 logfile "6380.log" …

FPGA解码MIPI视频:Xilinx Artix7-35T低端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案本方案在Xilinx Artix7-100T上解码MIPI视频的应用本方案在Xilinx Kintex7上解码MIPI视频的应用本方案在Xilinx Zynq7000上解码MIPI视频的应用本方案在Xilinx Zynq UltraScale上解码MIPI视频的应用纯VHDL代码解…

验证码倒计时:用户界面的小细节,大智慧

欢迎来到我的博客,代码的世界里,每一行都是一个故事 验证码倒计时:用户界面的小细节,大智慧 前言为什么需要验证码倒计时防止滥用:用户心理: 设计考量可见性:友好性:适应性&#xff…

打开/关闭请求回显功能的echo命令

echo命令可用来显示或隐藏DOS状态屏幕显示的内容。在*.bat文件第一行加上echo off,以后的屏幕输出命令(包括其他命令产生的提示)都会消失,比如在echo off的下一行使用dir,结果是光标原地闪烁,屏幕无显示。使…

安装PyInstaller的保姆级教程

一、安装PyInstaller之前首先要安装Python,小编这里安装的是Python3.9,目前(2024/2/6)匹配到的最高版本的PyInstaller的版本为6.3.0。需要安装Python的小伙伴可以去这里安装python详细步骤(超详细,保姆级&a…

JavaScript运行机制

在web前端开发中,JavaScript无疑是一种非常重要的编程语言。它能够为网页添加动态交互功能,提升用户体验。然而,要充分发挥JavaScript的威力,我们需要对它的运行机制有一定的了解。 JavaScript是一种解释执行的脚本语言&#xff…

SpringCloud-搭建Nacos服务中心

Nacos 是一个开源的动态服务发现、配置管理和服务管理平台。它支持多种服务发现协议,包括基于 DNS 和 HTTP 的服务发现。Nacos 提供了强大的配置管理和服务发现功能,使得在微服务架构中轻松实现服务注册、发现和配置管理成为可能。在本篇博客中&#xff…

【Web】小白也能看懂的BeginCTF个人wp(全)

纯萌新,贴出自己的wp,一起交流学习QWQ 目录 zupload zupload-pro zupload-pro-plus zupload-pro-plus-max zupload-pro-plus-max-ultra zupload-pro-plus-max-ultra-premium zupload-pro-revenge zupload-pro-plus-enhanced POPgadget sql教…

09_树莓派_树莓派外设板_GPIO_按键的中断与消抖

目录 1.树莓派外设集成板总体介绍 2.第一部分 按键矩阵 GPIO_按键与中断 3.实现效果 1.树莓派外设集成板总体介绍 1)前言:这是一块为了验证树莓派【兼容树莓派多个型号】的40pins的外设接口的外接板,告别复杂的面包板外设搭建。【欢迎各位…

R语言绘图教程 | 双侧条形图绘制教程

写在前面 双侧条形图在我们的文章中也是比较常见的,那么这样的图形是如何绘制的呢? 以及它使用的数据类型是什么呢? 这些都是我们在绘制图形前需要掌握的,至少我们知道绘图的数据集如何准备,这样才踏出第一步。 今天的教程,我们会从数据的准备,以及数据如何整理,以及…

OpenCV+ moviepy + tkinter 视频车道线智能识别项目源码

项目完整源代码,使用 OpenCV 的Hough 直线检测算法,提取出道路车道线并绘制出来。通过tkinter 提供GUI界面展示效果。 1、导入相关模块 import matplotlib.pyplot as plt import numpy as np import cv2 import os import matplotlib.image as mpimg …

Halcon 缺陷检测

文章目录 开闭运算,腐蚀膨胀的亮点问题灰度图像的开闭运算,腐蚀膨胀的亮点问题算子二值化算子 Halcon blob特征处理的方法检测缺陷Halcon Blob特征差分的方法检测缺陷Halcon 极坐标变换(环形先转换坐标)blob特征Halcon Blob局部二…

系统分析师-22年-下午答案

系统分析师-22年-下午答案 更多软考知识请访问 https://ruankao.blog.csdn.net/ 试题一必答,二、三、四、五题中任选其中两题作答 试题一 (25分) 说明 某软件公司拟开发一套博客系统,要求能够向用户提供一个便捷发布自已心得,及时有效的…

公有云服务器:功能与性能的完美融合

在数字化浪潮下,云服务器已经成为企业及个人用户存储数据、运行应用的重要基础设施。其中,公有云服务器凭借其诸多优势,更是受到了市场的广泛欢迎。上海悠远将为您详细介绍公有云服务器的功能特点,以及如何进行性能测试。 一、公有…

npm install express -g报错或一直卡着,亲测可解决

问题描述: 最近学习vue3前端框架,安装Node.js之后,在测试是否可行时,cmd窗口执行了:npm install express -g,发现如下图所示一直卡着不动,最后还报错了,网上找了好久,各…

爬虫实战--人民网

文章目录 前言发现宝藏 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(3.详解String数据结构)

【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)-CSDN博客 【Redis】深入理解 Redis 常用数据类型源码及底层实现(2.版本区别dictEntry & redisObject详解)-CSDN博客 紧接着前两篇的总体介绍,从这篇开始&#x…

LLM是一个向量程序库,提示是查询语言

2013 年,Mikolov 等人在 Google。 注意到一些值得注意的事情。 他们正在构建一个模型,将单词嵌入到向量空间中——这个问题从 20 世纪 80 年代开始就已经有很长的学术历史了。 他们的模型使用了一个优化目标,旨在将单词之间的相关关系转化为…

Nicn的刷题日常之获得月份天数

目录 1.题目描述 描述 输入描述: 输出描述: 示例1 2.解题 1.题目描述 描述 KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。 输入描述: 多组输入,一行有两…