AI人工智能 时间序列数据介绍

news2024/9/25 9:33:56

AI人工智能 时间序列数据介绍

预测给定输入序列中的下一个是机器学习中的另一个重要概念。 本章为您提供有关分析时间序列数据的详细说明。

时间序列数据介绍

时间序列数据表示处于一系列特定时间间隔的数据。 如果我们想在机器学习中构建序列预测,那么必须处理连续的数据和时间。系列数据是连续数据的摘要。 数据排序是顺序数据的一个重要特征

序列分析或时间序列分析的基本概念

序列分析或时间序列分析是基于先前观察到的预测给定输入序列中的下一个。 预测可以是任何可能接下来的事情:符号,数字,次日天气,下一个演讲等。序列分析在诸如股票市场分析,天气预报和产品推荐等应用中非常有用。

实例

考虑下面的例子来理解序列预测。 这里 A,B,C,D 是给定值,并且必须使用序列预测模型预测值 E。

在这里插入图片描述

安装有用的包

对于使用 Python 进行时间序列数据分析,我们需要安装以下软件包 

Pandas

Pandas 是一个开源的 BSD 许可库,它为 Python 提供了高性能,简便的数据结构使用和数据分析工具。

有关 Pandas 教程,请访问以下网址:https://www.yiibai.com/pandas/

使用以下命令安装 Pandas

pip install pandas

如果您使用的是 Anaconda 并希望使用 conda 软件包管理器进行安装,那么可以使用以下命

conda install -c anaconda pandas
hmmlearn

它是一个开源 BSD 许可的库,它由简单的算法和模型组成,用于学习 Python 中的隐马尔可夫模型(HMM)。 使用以下命令安装它

pip install hmmlearn

如果您使用的是 Anaconda 并希望使用 conda 软件包管理器进行安装,那么可以使用以下命令 -

conda install -c anaconda hmmlearn PyStruct

它是一个结构化的学习和预测库。 在 PyStruct 中实现的学习算法具有诸如条件随机场(CRF),最大值 - 马尔科夫随机网络(M3N)或结构支持向量机等名称。使用以下命令来安装它 -

pip install pystruct CVXOPT

它用于基于 Python 编程语言的凸优化。 它也是一个免费的软件包。 使用以下命令来安装它

pip install cvxopt

如果您使用的是 Anaconda 并希望使用 conda 软件包管理器进行安装,那么可以使用以下命令

conda install -c anaconda cvdoxt

AI人工智能 Pandas

Pandas:从时间序列数据中处理,分割和提取统计信息

Pandas 是一个非常有用的工具。 在 Pandas 的帮助下,可以执行以下操作

使用 pd.date_range 包创建一系列日期
通过使用 pd.Series 包对带有日期数据进行索引
使用 ts.resample 包执行重新采样
改变频率

示例

以下示例显示使用Pandas处理和分割时间序列数据。 请注意,这里使用月度北极涛动数据,可以从 monthly.ao.index.b50.current.ascii 下载并可以转换为文本格式。

处理时间序列数据

要处理时间序列数据,您必须执行以下步骤

第1步 ,导入以下软件包

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

接下来,定义一个函数,它将从输入文件中读取数据,如以下代码所示

def read_data(input_file):
   input_data = np.loadtxt(input_file, delimiter = None)

现在,将这些数据转换为时间序列。 为此,请创建时间序列的日期范围。 在这个例子中,我们保留一个月的数据频率。 文件中是存储从 1950年1月开始的数据。

dates = pd.date_range('1950-01', periods = input_data.shape[0], freq = 'M')

在这一步中,在 Pandas Series 的帮助下创建时间序列数据,如下所示

output = pd.Series(input_data[:, index], index = dates)    
return output


if __name__=='__main__':

如下所示,指定输入文件的路径

input_file = "/Users/admin/AO.txt"

现在,将列转换为时间序列格式,如下所示

timeseries = read_data(input_file)

最后,使用显示的命令绘制并可视化数据

plt.figure()
timeseries.plot()
plt.show()

观察如下图所示

在这里插入图片描述
在这里插入图片描述

切片时间序列数据 切片涉及仅检索时间序列数据的一部分。 作为示例的一部分,我们仅在1980年到1990年间对数据进行分割。请注意以下执行此任务的代码

timeseries['1980':'1990'].plot()
   <matplotlib.axes._subplots.AxesSubplot at 0xa0e4b00>


plt.show()

当您运行切片时间序列数据的代码时,可以观察下图所示的图形

在这里插入图片描述

AI人工智能 从时间序列数据中提取统计信息

平均值,方差,相关性,最大值和最小值是这些统计中的一部分。 如果您想从给定的时间序列数据中提取此类统计信息,则可以使用以下代码

平均值

可以使用 mean()函数来查找平均值,如下所示

timeseries.mean()

例子代码的输出是

-0.11143128165238671

最大值

可以使用 max()函数来查找最大值,如下所示

timeseries.max()

那么在讨论的例子中观察的输出是

3.4952999999999999

最小值

可以使用 min() 函数来查找最小值,如下所示

timeseries.min()

那么在讨论的例子中观察的输出是

-4.2656999999999998

一次性获得所有

如果您想一次计算所有统计数据,则可以使用 describe() 函数,如下所示

timeseries.describe()

那么观察上面例子的输出是

count   817.000000
mean     -0.111431
std       1.003151
min      -4.265700
25%      -0.649430
50%      -0.042744
75%       0.475720
max       3.495300
dtype: float64

重新取样

可以将数据重新采样到不同的时间频率。 执行重新采样的两个参数是

时间段
方法

使用 mean()重新采样

以下代码使用 mean() 方法重新采样数据,这是默认方法

timeseries_mm = timeseries.resample("A").mean()
timeseries_mm.plot(style = 'g--')
plt.show()

然后,可以观察下面使用 mean() 重采样输出的图形 -
在这里插入图片描述

使用median()重新采样

使用以下代码使用 median() 方法重新采样数据 -

timeseries_mm = timeseries.resample("A").median()
timeseries_mm.plot()
plt.show()

然后,观察下面的图形是使用 median() 重新采样的输出

在这里插入图片描述

滚动平均值

使用下面的代码来计算滚动(移动)的平均值

timeseries.rolling(window = 12, center = False).mean().plot(style = '-g')
plt.show()

然后,观察滚动(移动)平均值的输出图表

在这里插入图片描述

AI人工智能 隐马尔可夫模型(HMM)分析顺序数据

HMM 是一种统计模型,广泛用于时间序列股市分析,健康检查和语音识别等具有延续性和可扩展性的数据。 本节详细介绍使用隐马尔可夫模型(HMM)分析顺序数据。

隐马尔可夫模型(HMM)
HMM 是一个基于马尔可夫链概念的随机模型,它基于未来统计量的概率仅取决于当前过程状态而非其之前的任何状态的假设。 例如,当扔硬币时,不能说第五次抛掷的结果是正面。 这是因为硬币没有任何记忆,下一个结果不依赖于以前的结果。

在数学上,HMM 由以下变量组成

状态(S) 它是 HMM 中存在的一组隐藏或潜在状态。 它由 S 表示。

输出符号(O) 它是 HMM 中存在的一组可能的输出符号。 它由 O 表示。

状态转移概率矩阵(A) 这是从一个状态过渡到其他状态的可能性。 它由 A 表示。

观测发射概率矩阵(B) 它是在特定状态下发射/观测符号的概率。 它由 B 表示。

先验概率矩阵(Π) 这是从系统的各种状态开始处于特定状态的概率。 它由Π表示。 因此,HMM 可以被定义为 λ=(S,O,A,B,π), 其中,

S = {s1,s2,,sN}是一组 N 个可能的状态,
O = {o1,o2,…,oM}是一组 M 个可能的观察符号,
A是N×N状态转移概率矩阵(TPM),
B是N

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

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

相关文章

DDei在线设计器-加载数据

加载数据 本示例演示了怎样加载已有的JSON到设计器中。 如需了解详细的API教程以及参数说明&#xff0c;请参考DDei文档 外部数据JSON demo.vue <script setup lang"ts"> import DDeiEditorView from "ddei-editor"; import { DDeiCoreStandLayou…

魔塔社区程序的`datasets.utils`导入`_datasets_server`错误问题的解决办法

运行魔塔社区的的一个识别图像文件中文字的模型程序&#xff1a; 出现如下的错误提示&#xff1a; from datasets.utils import _datasets_server,file_utils ImportError: cannot import name _datasets_server from datasets.utils (D:\PycharmProjects\minicpm_cuda_test\ve…

C语言指针详解(三)目录版

C语言指针详解&#xff08;三&#xff09;目录版 1、字符指针变量1.1、字符指针变量的一般应用1.2、常量字符串1.3、常量字符串与普通字符串的区别1.3.1 常量字符串的不可修改性1.3.2 常量字符串的存储 2、数组指针变量2.1、数组指针变量定义2.2、数组指针变量的初始化 3、二维…

数据科学家必须掌握的12个Python功能

Python 已经成为数据科学家的必选语言&#xff0c;从数据处理到机器学习&#xff0c;它几乎无所不能。本文将探讨一些Python特性&#xff0c;这些特性不仅能帮助你编写更高效、更易读、更易维护的代码&#xff0c;还特别适合数据科学的需求&#xff0c;使你的代码简洁且优雅。 …

选择 websim网站:一个用自然语言快速构建生成功能齐全的网站

Websim AI 是一个前沿的网站创建平台&#xff0c;旨在通过人工智能技术彻底改变网页设计流程。用户只需用自然语言描述他们的愿景&#xff0c;即可快速生成功能齐全的网站。该工具非常适合从初学者到经验丰富的开发人员使用&#xff0c;可以快速生成应用程序、网站原型或试验网…

【LLM大模型】“提示工程”的技术分类

尽管大模型非常强大&#xff0c;但仍然有着自身的局限。大模型可以生成看起来非常值得信赖的内容并引用外部资源&#xff0c;但是&#xff0c;大模型本身并不能直接访问互联网也不能访问互联网的资源。偏见往往会使大模型产生某些定型的内容。当被问到一个不知道答案的问题时&a…

在Pxe环境下使用kickstart自动化批量安装Linux系统

一、环境准备 1.rhel7.9操作系统 2.开启主机图形 systemctl set-default graphical.target reboot 如果你的服务器安装了图形&#xff0c;直接切换启动级别5&#xff1a; init 5 3.配置好ip&#xff0c;网关&#xff0c;dns地址 nmcli connection add ifname eth0 con-na…

初学Ubuntu及遇到的问题

初学Ubuntu及遇到的问题 Ubuntu的安装 1.安装VMware Workstation Pro&#xff08;网上有很多资料&#xff0c;本文就不细说啦~~~&#xff09; 2.在Ubuntu官网下载iso文件>https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/ iso文件随便放在哪个位置&#xff…

免费【2024】springboot 电影院订票信息管理系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

计算机毕业设计选题推荐-教务管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

六点建议有效防止晶振老化

晶振作为电子设备中的关键元件&#xff0c;其稳定性直接影响到整个系统的性能。晶振老化是导致其性能下降的主要原因之一。为了延长晶振的使用寿命&#xff0c;以下六点建议将帮助您有效防止晶振老化。 防止晶振老化的六点建议 1.避免裸手触碰&#xff1a; 不要用裸手直接触…

蓝牙耳机哪个品牌质量最好最耐用?4款主流品牌开放式耳机测评

开放式蓝牙耳机现在确实是很火爆啊。2023年期间&#xff0c;中国蓝牙耳机市场的整体销量约为8552万台&#xff0c;同比增长了7.5%。其中&#xff0c;开放式耳机市场销量达到了652万台&#xff0c;同比增长了130.2%。那其实这些数据就表明了开放式蓝牙耳机在中国市场正迅速增长&…

java.net.BindException: 地址已在使用

java.net.BindException: 地址已在使用&#xff0c;也可以说是端口被占用&#xff0c;通常出现在启动服务的时候。 安装netstat&#xff1a; sudo yum install net-tools 1、出错地方如图所示&#xff1a; 2、执行netstat -alnp | grep 8125 3、kill - 9 1899

Linux学习第58天:Regmap API 实验

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章思维导图如下&#xff1a; 一、Regmap API简介 1、什么是Regmap 寄存器设置 Linux 下使用 i2c_transfer 来读写 I2C 设备中的寄存器&#xff0c; SPI 接口的话使…

Java:设计模式(单例,工厂,代理,命令,桥接,观察者)

模式是一条由三部分组成的通用规则&#xff1a;它代表了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题&#xff0c;以及该问题解决方案的核心设计。 软件领域的设计模式定义&#xff1a;设计模式是对处于特定环境下&#xff0c;经常…

Spring统一功能处理:拦截器、响应与异常的统一管理

目录 一.拦截器 二.统一数据返回格式 三.统一异常处理 一.拦截器 拦截器是Spring框架提供的核⼼功能之⼀&#xff0c;主要⽤来拦截⽤⼾的请求&#xff0c;在指定⽅法前后&#xff0c;根据业务需要执⾏预先设定的代码。 也就是说&#xff0c;允许开发⼈员提前预定义⼀些逻辑…

全球情境感知计算市场规划预测:未来六年CAGR为17.0%

随着全球数字化转型的加速和物联网技术的广泛应用&#xff0c;情境感知计算作为一种能够理解和响应环境变化的智能技术&#xff0c;正逐渐受到更多关注。本文旨在通过深度分析情境感知计算行业的各个维度&#xff0c;揭示行业发展趋势和潜在机会。 【市场趋势的演变】 1. 市场…

C++——string类及其使用

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件iostream的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;Yan. yan.                        …

体系结构论文导读(三十一)(上):Soft errors in DNN accelerators: A comprehensive review

Soft errors in DNN accelerators: A comprehensive review DNN 加速器中的软错误&#xff1a;全面回顾 一、文章核心 深度学习任务覆盖了广泛应用。DNN算法被实现于不同系统上&#xff0c;从小型嵌入式设备到数据中心。DNN加速器&#xff08;例如GPU、FPGA、ASIC&#xff0…

JetBrains:Wrong tag。注释告警

报错信息如下&#xff1a; Wrong tag ‘copyright:’ &#xff0c;这个是alt enter 选择 Add copyright:to custom tags&#xff0c;虽然能解决问题&#xff0c;如果创建一个新项目又回出现这个告警提示。 其实这个问题的就是这个在Java Doc里面不存在&#xff0c;才会出现这…