《开源时间序列数据:探索与应用》
《开源时间序列数据:探索与应用》
- 一、开源时间序列数据概述
- 二、热门的开源时间序列数据库
- 1. InfluxDB
- 2. TimescaleDB
- 3. Prometheus
- 4. OpenTSDB
- 5. Graphite
- 6. Druid
- 三、开源时间序列数据的应用场景
- 1. 物联网领域
- 2. 金融领域
- 3. 运维监控领域
- 4. 能源领域
- 四、开源时间序列数据集有哪些
- 1. UCR Time Series
- 2. FigShare
- 3. Awesome Public Datasets
- 4. 服务监控数据集
- 5. 音乐数据库
- 6. 国家经济数据库
- 7. 政府开放数据
- 8. 数据竞赛平台
- 五、如何获取开源时间序列数据
- 1. 通过特定数据集网站获取
- 2. 利用数据竞赛平台获取
- 3. 从国家经济数据库和政府开放数据获取
- 六、开源时间序列数据分析方法
- 1. TimeGPT
- 2. Prophet
- 七、开源时间序列数据的未来发展趋势
一、开源时间序列数据概述
时间序列数据是一种按照时间顺序排列的数据形式,在众多领域中都有着广泛而重要的应用。从金融市场的股价波动到气象领域的气温变化,从工业生产中的设备监测到医疗健康领域的生理信号记录,时间序列数据无处不在。开源时间序列数据为广大研究者和开发者提供了丰富的资源宝库,使他们能够更加高效地进行数据分析和模型构建。这些开源数据不仅降低了数据获取的成本,还促进了知识的共享和创新的加速。
在当今数据驱动的时代,时间序列数据的价值愈发凸显。通过对时间序列数据的深入分析,我们可以洞察事物的发展趋势、发现潜在的规律和模式,从而为决策提供有力的支持。无论是预测未来的市场需求、优化生产流程,还是监测环境变化、保障公共安全,时间序列分析都发挥着至关重要的作用。开源时间序列数据的出现,为时间序列分析领域带来了新的机遇和挑战。一方面,丰富的开源数据使得研究者和开发者能够接触到更多的实际案例和应用场景,拓宽了研究视野和思路。另一方面,如何有效地利用这些数据,选择合适的分析方法和工具,成为了摆在大家面前的重要课题。
多变量时间序列数据项目,为数据科学家和工程师提供了一站式的解决方案。该项目涵盖了多种领域的应用,包括能源消耗、天气预报、股票市场等。数据以 CSV 格式存储,易于读取和处理,且每个数据集都有详细的信息描述和清晰的文档说明,方便用户理解和使用。同时,项目的多元化特点使其适用于学术研究和企业实际问题的解决,如优化运营、提高效率或者预测市场趋势等。
通过构建大规模且多样化的公共时间序列数据集 ——Time-series Pile,为时间序列分析提供了强大的支持。其独特的架构设计和预训练策略,使得模型能够在有限的监督条件下表现出色,支持多种任务的微调,应用场景广泛,涵盖了从医疗健康到金融分析的多个领域。
将大型语言模型引入时间序列分析的前沿。通过收集和整理关于 LLMs 在时间序列分析中的应用的研究论文,揭示了如何将 LLMs 应用于输入、量化、对齐、视觉桥梁和工具集成五个关键阶段。该项目涵盖了广泛的实用场景,从城市流动性的预测到金融市场的分析,再到医疗信号的理解,为研究者、开发者和任何寻求时间序列分析新视角的人提供了宝贵的资源。
二、热门的开源时间序列数据库
1. InfluxDB
-
特点:
- 高效的数据写入和查询性能:InfluxDB 在设计上针对时间序列数据进行了优化,采用 TSM(Time-Structured Merge Tree)存储引擎,可以高效地处理大量的时间序列数据。同时,它还支持数据压缩和自动降采样,以减少存储空间占用和提高查询性能。
- 支持灵活的查询语言 Flux:InfluxDB 提供了丰富的查询语言 Flux,支持多种数据操作,包括过滤、聚合、变换等,用户可以轻松地编写复杂的查询语句。
- 丰富的生态系统和工具支持:InfluxDB 支持与 Grafana 等可视化工具集成,方便用户进行数据可视化和监控。此外,它还拥有活跃的社区和丰富的生态系统,提供了各种工具和插件,以满足不同的需求。
-
优势:
- 采用 TSM 存储引擎,处理大量时间序列数据高效:TSM 存储引擎是 InfluxDB 的核心优势之一,它可以高效地处理大量的时间序列数据。TSM 存储引擎采用了一种特殊的存储结构,可以快速地写入和查询数据,同时还支持数据压缩和自动降采样,以减少存储空间占用和提高查询性能。
- 支持数据压缩和自动降采样:InfluxDB 支持数据压缩和自动降采样,可以有效地减少存储空间占用和提高查询性能。数据压缩可以将数据压缩到更小的存储空间中,而自动降采样可以将高频率的数据降采样为低频率的数据,以减少存储空间占用和提高查询性能。
- 提供丰富查询语言,易与 Grafana 等可视化工具集成:InfluxDB 提供了丰富的查询语言 Flux,可以方便地进行数据查询和分析。同时,它还支持与 Grafana 等可视化工具集成,方便用户进行数据可视化和监控。
2. TimescaleDB
-
特点:
- 基于 PostgreSQL,高效的数据写入和查询性能:TimescaleDB 是基于 PostgreSQL 的一款时间序列数据库,它通过分区和索引机制优化了时间序列数据的存储和查询性能。同时,它还支持自动数据压缩和降采样,以减少存储空间占用和提高查询性能。
- 兼容 SQL 查询语言,强大的数据管理和分析功能:TimescaleDB 兼容 PostgreSQL 的 SQL 查询语言,用户可以使用熟悉的 SQL 语法进行数据查询和分析。它还支持多种数据操作,包括窗口函数、时间聚合、数据变换等,方便用户进行复杂的数据分析。
-
优势:
- 采用 hypertable 分区策略,提高查询效率:TimescaleDB 采用了一种名为 “hypertable” 的分区策略,将时间序列数据按时间范围进行分区存储,从而提高查询效率。这种分区策略可以将数据分散到多个物理存储设备上,从而提高查询性能。
- 支持自动数据压缩和降采样:TimescaleDB 支持自动数据压缩和降采样,可以有效地减少存储空间占用和提高查询性能。数据压缩可以将数据压缩到更小的存储空间中,而自动降采样可以将高频率的数据降采样为低频率的数据,以减少存储空间占用和提高查询性能。
- 兼容 PostgreSQL,方便用户使用熟悉的 SQL 语法:TimescaleDB 兼容 PostgreSQL 的 SQL 查询语言,用户可以使用熟悉的 SQL 语法进行数据查询和分析。这使得用户可以更加方便地使用 TimescaleDB,同时也可以利用 PostgreSQL 的丰富功能,例如事务处理、ACID(原子性、一致性、隔离性和持久性)支持等。
3. Prometheus
-
特点:
- 高效的数据采集和存储:Prometheus 通过拉取方式采集数据,可以高效地处理大量的监控指标数据。它采用了一种名为 TSDB(Time Series Database)的存储引擎,可以高效地存储和查询时间序列数据。同时,它还支持数据压缩和降采样,以减少存储空间占用和提高查询性能。
- 灵活的查询语言 PromQL:Prometheus 提供了灵活的查询语言 PromQL,可以方便地进行数据查询和分析。PromQL 支持多种数据操作,包括过滤、聚合、变换等,用户可以轻松地编写复杂的查询语句。
- 丰富的报警和可视化功能:Prometheus 支持丰富的报警规则和通知方式,方便用户进行监控和报警。同时,它还与 Grafana 等可视化工具集成,提供了丰富的数据可视化功能。
-
优势:
- 通过拉取方式采集数据,处理大量监控指标数据高效:Prometheus 通过拉取方式采集数据,可以高效地处理大量的监控指标数据。这种方式可以避免数据的重复采集和传输,从而提高数据的采集效率和准确性。
- 采用 TSDB 存储引擎:Prometheus 采用了一种名为 TSDB(Time Series Database)的存储引擎,可以高效地存储和查询时间序列数据。TSDB 存储引擎采用了一种特殊的存储结构,可以快速地写入和查询数据,同时还支持数据压缩和降采样,以减少存储空间占用和提高查询性能。
- 提供灵活查询语言和丰富报警规则:Prometheus 提供了灵活的查询语言 PromQL,可以方便地进行数据查询和分析。同时,它还支持丰富的报警规则和通知方式,方便用户进行监控和报警。
4. OpenTSDB
-
特点:
- 开源的分布式时间序列数据库,基于 HBase 构建:OpenTSDB 是一款开源的分布式时间序列数据库,它基于 HBase 构建,支持大规模的数据存储和查询。HBase 是一种分布式的列存储数据库,具有高可靠性、高可扩展性和高性能等特点,可以满足 OpenTSDB 对大规模数据存储和查询的需求。
- 支持大规模数据存储和查询:OpenTSDB 通过 HBase 提供了高效的分布式存储和查询功能,可以处理大量的时间序列数据。它采用了一种名为 UID 的机制,用于高效地存储和索引时间序列数据。同时,它还支持数据压缩和降采样,以减少存储空间占用和提高查询性能。
-
优势:
- 通过 HBase 提供高效分布式存储和查询功能:OpenTSDB 通过 HBase
提供了高效的分布式存储和查询功能,可以处理大量的时间序列数据。HBase 是一种分布式的列存储数据库,具有高可靠性、高可扩展性和高性能等特点,可以满足 OpenTSDB 对大规模数据存储和查询的需求。 - 采用 UID 机制高效存储和索引数据:OpenTSDB 采用了一种名为 UID 的机制,用于高效地存储和索引时间序列数据。UID 机制可以将时间序列数据的标签和时间戳转换为唯一的标识符,从而提高数据的存储和查询效率。
- 支持数据压缩和降采样:OpenTSDB 支持数据压缩和降采样,可以有效地减少存储空间占用和提高查询性能。数据压缩可以将数据压缩到更小的存储空间中,而自动降采样可以将高频率的数据降采样为低频率的数据,以减少存储空间占用和提高查询性能。
- 通过 HBase 提供高效分布式存储和查询功能:OpenTSDB 通过 HBase
5. Graphite
-
特点:
- 开源的时间序列数据存储和可视化工具,专为监控和报警设计:Graphite 是一款开源的时间序列数据存储和可视化工具,它专为监控和报警设计,支持多种数据采集方式和可视化功能。Graphite 通过推送方式采集数据,可以高效地处理大量的监控指标数据。
- 支持多种数据采集方式和可视化功能:Graphite 支持多种数据采集方式,包括推送方式、拉取方式和文件导入方式等。同时,它还提供了丰富的可视化功能,包括图表、仪表盘和报警等,可以方便地进行数据可视化和监控。
-
优势:
- 通过推送方式采集数据,处理大量监控指标数据高效:Graphite 通过推送方式采集数据,可以高效地处理大量的监控指标数据。这种方式可以避免数据的重复采集和传输,从而提高数据的采集效率和准确性。
- 采用 Whisper 存储引擎:Graphite 采用了一种名为 Whisper 的存储引擎,可以高效地存储和查询时间序列数据。Whisper 存储引擎采用了一种特殊的存储结构,可以快速地写入和查询数据,同时还支持数据压缩和降采样,以减少存储空间占用和提高查询性能。
- 提供灵活查询语言和丰富报警规则:Graphite 提供了灵活的查询语言,可以方便地进行数据查询和分析。同时,它还支持丰富的报警规则和通知方式,方便用户进行监控和报警。
6. Druid
-
特点:
- 高性能的实时分析数据库,专为大规模数据分析设计:Druid 是一款高性能的实时分析数据库,它专为大规模数据分析设计,支持实时数据摄取、交互式查询和数据可视化。Druid 通过分布式架构提供了高效的数据摄取和查询功能,可以处理大量的实时和历史数据。
- 支持实时数据摄取、交互式查询和数据可视化:Druid 支持实时数据摄取,可以快速地处理大量的实时数据。同时,它还支持交互式查询,可以快速地响应用户的查询请求。此外,它还提供了丰富的数据可视化功能,可以方便地进行数据可视化和分析。
-
优势:
- 通过分布式架构提供高效的数据摄取和查询功能:Druid 通过分布式架构提供了高效的数据摄取和查询功能,可以处理大量的实时和历史数据。Druid 采用了一种名为 Segment 的分区机制,用于高效地存储和索引时间序列数据。同时,它还支持数据压缩和降采样,以减少存储空间占用和提高查询性能。
- 采用 Segment 分区机制:Druid 采用了一种名为 Segment 的分区机制,用于高效地存储和索引时间序列数据。Segment 分区机制可以将数据分散到多个物理存储设备上,从而提高查询性能。
- 提供灵活的数据聚合和分析功能:Druid 提供了灵活的数据聚合和分析功能,可以方便地进行数据查询和分析。Druid 支持多种数据聚合方式,包括时间聚合、维度聚合和指标聚合等。同时,它还支持数据过滤、排序和分组等操作,可以满足不同用户的需求。
三、开源时间序列数据的应用场景
1. 物联网领域
在物联网领域,开源时间序列数据有着广泛的应用场景。其中,智能家居公司的智能门锁数据存储与分析就是一个典型的案例。
随着智能家居的普及,智能门锁成为了家庭安全的重要保障。智能门锁可以记录用户开锁时间、次数等信息,这些数据对于用户了解家庭安全状况、优化家庭安全策略具有重要意义。为了方便用户查看和管理这些数据,智能家居公司选择使用 InfluxDB 作为数据存储。
解决方案如下:首先,将智能门锁产生的数据以 Line Protocol 格式发送到 InfluxDB。Line Protocol 格式是一种简洁高效的数据格式,能够快速地将数据写入 InfluxDB。其次,在 InfluxDB 中创建数据库,并设置相应的数据类型和索引。通过设置数据类型和索引,可以提高数据的查询效率,方便用户快速地找到所需的数据。最后,通过 InfluxDB 的查询语言,实现对门锁数据的实时监控和分析。InfluxDB 的查询语言 Flux 功能强大,支持多种数据操作,用户可以轻松地编写复杂的查询语句,实现对门锁数据的实时监控和分析。
2. 金融领域
在金融领域,开源时间序列数据同样有着重要的应用。银行对客户交易数据的实时监控和分析就是一个典型的案例。
银行需要对客户交易数据进行实时监控和分析,以防范风险。客户交易数据是一种典型的时间序列数据,记录了客户交易的时间、金额、交易类型等信息。这些数据对于银行了解客户交易行为、防范风险具有重要意义。
解决方案如下:首先,将客户交易数据以时间序列格式存储到 InfluxDB。InfluxDB 采用 TSM 存储引擎,处理大量时间序列数据高效,能够快速地存储客户交易数据。其次,利用 InfluxDB 的查询语言对交易数据进行实时监控,如交易金额、交易时间等。InfluxDB 的查询语言 Flux 支持多种数据操作,用户可以轻松地编写复杂的查询语句,实现对交易数据的实时监控。最后,通过数据可视化工具展示监控结果。数据可视化工具可以将监控结果以直观的图表形式展示给相关人员,方便他们快速地了解客户交易情况,及时发现风险。
3. 运维监控领域
在运维监控领域,开源时间序列数据也发挥着重要作用。企业对服务器性能的实时监控就是一个典型的案例。
企业需要对服务器性能进行实时监控,以保障业务稳定运行。服务器性能数据是一种典型的时间序列数据,记录了服务器的 CPU 使用率、内存使用率、网络流量等信息。这些数据对于企业了解服务器运行状况、及时发现问题、保障业务稳定运行具有重要意义。
解决方案如下:首先,将服务器性能数据以时间序列格式发送到 InfluxDB。InfluxDB 的高效数据写入性能能够快速地将服务器性能数据写入数据库。其次,在 InfluxDB 中创建数据库并设置数据类型和索引。通过设置数据类型和索引,可以提高数据的查询效率,方便用户快速地找到所需的数据。最后,通过 InfluxDB 的查询语言对服务器性能数据进行实时监控和分析。InfluxDB 的查询语言 Flux 功能强大,支持多种数据操作,用户可以轻松地编写复杂的查询语句,实现对服务器性能数据的实时监控和分析。
4. 能源领域
在能源领域,开源时间序列数据也有着广泛的应用。电力公司对电力消耗数据的实时监控和分析就是一个典型的案例。
电力公司需要对电力消耗数据进行实时监控和分析,以优化电力调度。电力消耗数据是一种典型的时间序列数据,记录了电力用户的用电时间、用电量等信息。这些数据对于电力公司了解电力需求、优化电力调度具有重要意义。
解决方案如下:首先,将电力消耗数据以时间序列格式发送到 InfluxDB。InfluxDB 的高效数据写入性能能够快速地将电力消耗数据写入数据库。其次,利用 InfluxDB 的查询语言对电力消耗数据进行实时监控和分析。InfluxDB 的查询语言 Flux 支持多种数据操作,用户可以轻松地编写复杂的查询语句,实现对电力消耗数据的实时监控和分析。最后,通过数据可视化工具展示监控结果。数据可视化工具可以将监控结果以直观的图表形式展示给相关人员,方便他们快速地了解电力消耗情况,及时调整电力调度策略。
四、开源时间序列数据集有哪些
1. UCR Time Series
介绍:UCR 时间序列数据集在时序领域有着重要地位,犹如 “Imagnet” 一般。它涵盖了医疗、电力、地理等众多领域,目前全量数据有 128 种。该数据集涉及时间序列预测、回归、聚类等诸多任务,是发 Paper 必跑的数据集。它由加州大学河滨分校计算机系的教授 Eamonn Keogh 所在的课题组维护。
数据获取方法:通过 pyts 库的 dataset 模块获取。具体代码为:from pyts import datasetsprint (datasets.ucr_dataset_list ()) data_train, data_test, target_train, target_test=datasets.fetch_ucr_dataset (“GunPoint”,return_X_y=True)。并且,UCR 时间序列数据集在 2018 版的官网页面上可以直接下载整个 128 个数据集,密码为 someone,下载网址为:Welcome to the UCR Time Series Classification/Clustering Page。
2. FigShare
介绍:FigShare 是一个研究成果共享平台,向全世界开放免费的研究成果及科学数据。它涵盖的领域广泛,包括但不限于农业、兽医和食品科学、生物科学、生物医学和临床科学等多个领域,如 Virology 中的新型冠状病毒 2019-nCoV 蛋白酶 Mpro 的比较模型就由 Christian Gruber 在此平台分享。FigShare 致力于简化研究工作流程,接受任何文件格式,并旨在在浏览器中预览所有文件,是一个集论文、FAIR 数据和非传统研究输出于一体的易于使用的存储库。随着政府和研究资助者看到开放内容的好处,FigShare 一直引领着学术界、出版商和机构以最直观和高效的方式轻松遵守这些原则。
网址:https://figshare.com/
3. Awesome Public Datasets
介绍:Awesome Public Datasets 项目提供了一个非常全面的数据获取渠道,包含各个细分领域的数据库资源,自然科学和社会科学的覆盖都很全面,适合做研究和数据分析的人员。它托管在 GitHub 上,由社区维护和更新。
网址:https://github.com/awesomedata/awesome-public-datasets
4. 服务监控数据集
介绍:该数据集是由人工神经网络公司 Numenta 所提供的,包含互联网服务场景下的各种流式数据与评测脚本。NAB 是用于评估数据流实时应用中异常检测算法的新颖基准,它由 50 多个带有标签的真实世界和人工时间序列数据文件以及为实时应用程序设计的新颖评分机制组成。
网址:https://github.com/numenta/NAB
5. 音乐数据库
介绍:这个数据集包含了海量的公开音乐数据库,适用于包含音乐推荐、分类在内的各种任务。例如,中华传统音乐资源数据库是中国数字文化集团推出的传统音乐资源数据库平台,收录大量传统音乐经典以及相关学术资料,内容丰富,主要包括中华民族音乐资源数据库、中华戏曲老唱片数据库、中华曲艺老唱片数据库、丝绸之路上的民族音乐赏析数据库等。中国音乐数据库(中国音网)内容依托于华韵档案馆自身收藏的近十余万张老唱片,并整合了海内外音响档案馆、独立藏家和艺术家的私人资源,涵盖中国戏曲数据库、中国曲艺数据库、民族歌曲数据库、歌舞音乐数据库、民族器乐数据库、红色音乐文化基因库、人类口头和非物质文化遗产专题库、草原音乐库等 8 个专题子库。库客音乐数据库是以互联网音频、视频在线服务为核心的平台,汇集来自世界各地数百家优秀唱片厂牌的音视频资源,涵盖古典音乐、世界民族民间音乐、爵士、视频、有声读物等内容。
网址:http://millionsongdataset.com/
6. 国家经济数据库
介绍:国家统计局经常会统计涉及经济民生等多个方面的指标,提供了非常丰富的开源时间序列数据。包括国家数据、CEIC、万得、中国统计信息网等渠道都可以获取这些数据。国家数据数据来源中华人民共和国国家统计局,包含了我国经济民生等多个方面的数据,并且在月度、季度、年度都有覆盖,较为全面。CEIC 涵盖超过 195 个国家 400 多万个时间序列的数据源,最完整的一套超过 128 个国家的经济数据,能够精确查找 GDP、CPI、进口、出口、外资直接投资、零售、销售以及国际利率等深度数据。万得被誉为中国的 Bloomberg,在金融业有着全面的数据覆盖,金融数据的类目更新非常快,据说很受国内的商业分析者和投资人的亲睐。中国统计信息网国家统计局的官方网站,汇集了全国各级政府各年度的国民经济和社会发展统计信息,建立了以统计公报为主,统计年鉴、阶段发展数据、统计分析、经济新闻、主要统计指标排行等。
渠道:国家数据(https://data.stats.gov.cn/)、CEIC(https://www.ceicdata.com/zh-hans)、万得(https://www.wind.com.cn/)、中国统计信息网(http://www.tjcn.org/)等。
7. 政府开放数据
介绍:各地方政府开放数据,包含竞技、交通、医疗、天气等数据。
渠道:北京市政务数据资源网(https://data.beijing.gov.cn/)、深圳市政府数据开放平台(https://opendata.sz.gov.cn/)、上海市政务数据服务网(https://data.sh.gov.cn/)、贵州省政府数据开放平台(http://data.guizhou.gov.cn/)、美国政府开放数据 Data.Gov(https://www.data.gov/)等。
8. 数据竞赛平台
介绍:获取针对特定任务的时间序列数据,数据集干净且科研性高。
平台:DataCastle(https://js.dclab.run/v2/index.html)、Kaggle(https://www.kaggle.com/)、天池(https://tianchi.aliyun.com/)、Datafountain(https://www.datafountain.cn/)等。
五、如何获取开源时间序列数据
1. 通过特定数据集网站获取
- 如 UCR Time Series、FigShare、Awesome Public Datasets 等。
- UCR Time Series:UCR 时间序列数据集在时序领域有着重要地位,涵盖医疗、电力、地理等众多领域,目前全量数据有 128
种。涉及时间序列预测、回归、聚类等诸多任务,由加州大学河滨分校计算机系的教授 Eamonn Keogh 所在的课题组维护。可以通过
pyts 库的 dataset 模块获取,具体代码为:from pyts import datasetsprint
(datasets.ucr_dataset_list ()) data_train, data_test, target_train,
target_test = datasets.fetch_ucr_dataset (“GunPoint”,
return_X_y=True)。并且,在 2018 版的官网页面上可以直接下载整个 128 个数据集,密码为
someone,下载网址为:Welcome to the UCR Time Series
Classification/Clustering Page。 - FigShare:FigShare
是一个研究成果共享平台,向全世界开放免费的研究成果及科学数据。涵盖的领域广泛,包括但不限于农业、兽医和食品科学、生物科学、生物医学和临床科学等多个领域。网址为:https://figshare.com/。 - Awesome Public
Datasets:该项目提供了一个非常全面的数据获取渠道,包含各个细分领域的数据库资源,自然科学和社会科学的覆盖都很全面,适合做研究和数据分析的人员。托管在
GitHub
上,由社区维护和更新。网址为:https://github.com/awesomedata/awesome-public-datasets。
- UCR Time Series:UCR 时间序列数据集在时序领域有着重要地位,涵盖医疗、电力、地理等众多领域,目前全量数据有 128
2. 利用数据竞赛平台获取
- 如 DataCastle、Kaggle、天池、Datafountain 等。
- DataCastle:专业的数据科学竞赛平台,网址为:https://js.dclab.run/v2/index.html。通过该平台可以获取针对特定任务的时间序列数据,数据集干净且科研性高。
- Kaggle:全球最大的数据竞赛平台,网址为:https://www.kaggle.com/。提供丰富的时间序列数据集,用于各种科研和实践项目。
- 天池:阿里旗下数据科学竞赛平台,网址为:https://tianchi.aliyun.com/。为用户提供高质量的时间序列数据,促进数据科学的发展。
- Datafountain:CCF
制定大数据竞赛平台,网址为:https://www.datafountain.cn/。在该平台上可以找到具有针对性的时间序列数据集,助力科研和实际应用。
3. 从国家经济数据库和政府开放数据获取
- 国家统计局及各地方政府开放的数据平台。
- 国家经济数据库:国家统计局经常会统计涉及经济民生等多个方面的指标,提供了非常丰富的开源时间序列数据。包括国家数据、CEIC、万得、中国统计信息网等渠道都可以获取这些数据。
- 国家数据:数据来源中华人民共和国国家统计局,包含了我国经济民生等多个方面的数据,并且在月度、季度、年度都有覆盖,较为全面。网址为:https://data.stats.gov.cn/。
- CEIC:涵盖超过 195 个国家 400 多万个时间序列的数据源,最完整的一套超过 128 个国家的经济数据,能够精确查找
GDP、CPI、进口、出口、外资直接投资、零售、销售以及国际利率等深度数据。网址为:https://www.ceicdata.com/zh-hans。 - 万得:被誉为中国的
Bloomberg,在金融业有着全面的数据覆盖,金融数据的类目更新非常快,据说很受国内的商业分析者和投资人的亲睐。网址为:https://www.wind.com.cn/。 - 中国统计信息网:国家统计局的官方网站,汇集了全国各级政府各年度的国民经济和社会发展统计信息,建立了以统计公报为主,统计年鉴、阶段发展数据、统计分析、经济新闻、主要统计指标排行等。网址为:http://www.tjcn.org/。
- 政府开放数据:各地方政府开放数据,包含竞技、交通、医疗、天气等数据。
- 北京市政务数据资源网:网址为:https://data.beijing.gov.cn/。
- 深圳市政府数据开放平台:网址为:https://opendata.sz.gov.cn/。
- 上海市政务数据服务网:网址为:https://data.sh.gov.cn/。
- 贵州省政府数据开放平台:网址为:http://data.guizhou.gov.cn/。
- 美国政府开放数据 Data.Gov:网址为:https://www.data.gov/。
六、开源时间序列数据分析方法
1. TimeGPT
- 介绍:
TimeGPT 是专门为预测时间序列数据而设计的生成式预训练模型。它按顺序处理数据,采用窗口技术分析历史数据点并识别其中的模式,通过推断这些已识别的模式来预测时间序列的未来值。
- 功能和优势:
- 异常检测:利用预测建模技术,能够识别时间序列数据中的异常模式或异常值,通常表明发生了重大且意外的事件。这对于企业和分析师快速检测和响应异常事件至关重要,即使存在异常,模型仍能保持准确和可靠。
- 外源变量处理:可以将外部因素或外部变量(例如零售预测中的天气条件)纳入分析。通过考虑外部因素的影响,能够进行更细致和准确的预测,在外部因素显著影响数据趋势的情况下尤为有用。
- 微调:尽管是一个预训练模型,但它提供了微调的能力,以适应特定数据集或独特的预测需求。用户可以根据特定要求定制模型,从而提高在特定环境中的预测准确性和相关性。
- 历史预测功能:可以分析过去的数据,生成历史预测,让用户了解模型如何预测过去的事件。这对验证模型的准确性和可靠性特别有益,让用户对其未来预测充满信心。
TimeGPT 适合处理节假日等复杂场景,能够检测异常并结合外部变量,准确预测特殊日期前后的情况,并考虑到其对数据产生的独特影响。同时,它的复杂算法可以处理不规则时间戳,即使在数据不一致的情况下也能确保一致且准确的预测结果。
- 在 MindsDB 中的部署:
- 创建 TimeGPT ML 引擎:使用以下语句创建 TimeGPT ML 引擎,并提供 TimeGPT API 密钥。CREATE ML_ENGINE timegpt_engine FROM timegpt USING timegpt_api_key
=‘timegpt-api-key’; - 创建、训练和部署模型:用户可以使用CREATE MODEL语句来创建、训练和部署 TimeGPT 模型。CREATE MODEL model_table FROM data_source(SELECT * FROM data_table) PREDICT column_to_be_predicted ORDER BY date_column GROUP BY column_name, column_name,… HORIZON 3 – model forecasts the next 3 rows USING ENGINE = ‘timegpt_engine’;
- 查询模型获取预测结果:现在可以查询模型以获取预测。SELECT m.date_column, m.column_to_be_predicted FROM data_table AS d JOIN model_table AS m WHERE d.date_column > LATEST;
- 根据最新数据微调模型:使用 MindsDB,可以自动化预测流程,并持续为任何下游应用生成预测。当有定期更新的动态数据时,应该利用这些最新数据对模型进行微调,以确保预测的准确性。
- 创建 TimeGPT ML 引擎:使用以下语句创建 TimeGPT ML 引擎,并提供 TimeGPT API 密钥。CREATE ML_ENGINE timegpt_engine FROM timegpt USING timegpt_api_key
2. Prophet
- 简介:
Prophet 是 Facebook 开源的时间序列预测算法,支持自定义季节和节假日。它将时间序列分解成趋势项、季节项和假日项,并在此基础上使用加法模型进行预测。
- 算法原理: Prophet 的输入包含两列数据:ds 和 y。ds 列为日期(YYYY-MM-DD)或者是具体的时间点(YYYY-MM-DD HH:MM:SS)。y 列是数值变量,即预测量。
- 通过拟合趋势项、周期项、节假日项和误差项进行预测。趋势项表示时间序列在非周期上面的变化趋势;周期项,也称为季节项,一般以周或者年为单位;节假日项表示在当天是否存在节假日;误差项表示剩余项。
- 趋势项模型:基于逻辑回归函数或分段线性函数拟合趋势项。逻辑回归函数形式为:如果增加一些参数的话,那么逻辑回归就可以改写成:这里的分别为曲线的最大渐近值,曲线的增长率,曲线的中点。当时,恰好就是大家常见的 sigmoid 函数的形式。在现实环境中,参数不可能都是常数,而很有可能是随着时间的迁移而变化的,因此,在 Prophet 里面,作者考虑把这三个参数全部换成了随着时间而变化的函数。
- 季节项模型:周期性的变化因子是时间序列预测模型都会考虑的因素,为了拟合并预测季节的效果,Prophet
基于傅里叶级数提出了一个灵活的模型。季节效应 S (t) 根据以下方程进行估算:表示时间序列的周期,表示以年为周期,表示以周为周期。季节效应 S (t) 傅立叶级数形式是:对季节性建模时,需要在给定 N 的情况下,估计参数傅里叶阶数 N 是一个重要的参数,它用来定义模型中是否考虑高频变化。 - 节假日成分:还有一些和时间紧密相关的事件,比如某些节假日,从漫长的时间尺度上来说,并不是周期性出现的,但是符合一定的出现规则。这样的重要影响则通过数据表的形式喂入模型,如一张列名为 [节假日的名字,国家,年份,日期] 的表。prophet 统计每个节假日出现的时间,给每种节假日都附加一个影响值 k (从正态分布采样),在每个节假日对应时刻(或节假日为中心的一个窗口内的所有时刻)都增加一个节假日的影响值,作为 h (t) 的值。
- 趋势项模型:
- 基于逻辑回归函数或分段线性函数拟合趋势项。
- 逻辑回归函数形式为:如果增加一些参数的话,那么逻辑回归就可以改写成:这里的分别为曲线的最大渐近值,曲线的增长率,曲线的中点。当时,恰好就是大家常见的 sigmoid 函数的形式。在现实环境中,参数不可能都是常数,而很有可能是随着时间的迁移而变化的,因此,在 Prophet 里面,作者考虑把这三个参数全部换成了随着时间而变化的函数。
- 分段线性函数增长:分段线性函数则简单许多,同样确定changepoints 之后,只是在 changepoints 之间构建线性函数,保证它们连续即可,整体就是 y = kx + b。趋势成分的预测涉及到 changepoints 的话,未来也同样是有 changepoints 的,同样地,可以通过人为给出,也可以依赖 prophet 的自动寻找能力。prophet 的自动寻找是以 “未来的 changepoints 和过去差不多” 为前提的,比如我们的时序一共有 T 个点,其中有 S 个 changepoints,那么在预测未来的 H 个点时,每个点都有 S/T 的概率被标记为 changepoint,其相应的变化值也是从 Laplace 分布上采样而来,只是这里的 Laplace 分布的方差,则通过历史中 S 个 changepoints 的方差计算而来,当然也可以用其他更严谨的统计方法,计算历史 changepoints 对应 k 变化值的 Laplace 分布方差。此时,如果采样多组,那么就能计算得到多个可能的趋势,这些趋势能够构成一定的区间,通过不同时刻的区间的相对宽窄,能够反映该时刻的预测的置信程度。
七、开源时间序列数据的未来发展趋势
随着大数据时代的不断发展,开源时间序列数据将在更多领域发挥重要作用。未来,可能会出现更加高效、智能的开源时间序列数据库和分析工具,为数据分析和决策提供更强大的支持。
一方面,技术的不断进步将推动开源时间序列数据库的性能提升。例如,像 GreptimeDB 这样的统一时间序列数据库,将继续优化其云原生分布式架构,分离计算和存储,提高处理高基数问题的能力,并通过兼容多种数据库协议实现无缝集成到现有技术栈中。同时,Apache IoTDB 等开源项目在工业物联网场景下的卓越表现也预示着未来时间序列数据库在性能和成本效益方面将不断突破,为企业提供更高效、更经济的数据存储和管理解决方案。
另一方面,分析工具也将变得更加智能。以 TimeGPT、Lag-Llama 等为代表的开源时间序列预测基础模型,不断创新和发展,通过先进的概率建模方法、零样本预测能力、动态调整上下文长度等特性,为用户提供更准确、更灵活的预测服务。此外,像 WoTan、tsai、mcfly、Khiva 等项目也在各自的领域为时间序列数据处理和分析提供了丰富的算法和技术支持,未来这些工具可能会进一步融合和发展,形成更强大的综合分析平台。
在应用领域方面,开源时间序列数据将继续拓展到更多新兴领域。随着物联网、人工智能、5G 等技术的普及,智能城市、智能制造、医疗健康等领域对时间序列数据的需求将不断增加。例如,在智能城市中,交通流量预测、环境监测等方面可以利用时间序列数据进行更精准的规划和管理;在智能制造中,设备状态监测、生产效率跟踪等环节需要高效的时间序列数据库和分析工具来支持。
同时,社区的力量也将在开源时间序列数据的发展中发挥重要作用。众多开源项目的成功离不开活跃的社区支持,开发者和研究者可以通过社区分享经验、提出问题、贡献代码,共同推动项目的发展和进步。这种开放合作的模式将加速技术的创新和应用,为开源时间序列数据的未来发展注入源源不断的动力。
相关文章:
《开源时间序列数据:探索与应用》
《开源时间序列数据:探索与应用》 一、开源时间序列数据概述二、热门的开源时间序列数据库1. InfluxDB2. TimescaleDB3. Prometheus4. OpenTSDB5. Graphite6. Druid 三、开源时间序列数据的应用场景1. 物联网领域2. 金融领域3. 运维监控领域4. 能源领域 四、开源时间…...
三相异步电动机跳闸的原因是什么?
三相异步电动机是现代工业生产和日常生活中广泛应用的一种电动机,因其结构简单、维护方便和功率范围广泛而受到广泛青睐。然而,在实际使用过程中,电动机的跳闸现象时有发生,这不仅影响了设备的正常运行,甚至可能导致经…...
连续思维链Coconut ,打开LLM推理新范式
语言与推理之间有着什么样内涵上的联系与本质上的差别? 系统二的长链复杂分步推理与系统一分别在训练时与推理时的正/反向传播链路、模型神经网络内部的潜在机制(虽然是黑盒)以及网络链路对应的模型训练过程中“压缩”的数据(认知)流形所映射出的隐含碎片化泛化分布…...
阿里云数据库MongoDB版助力极致游戏高效开发
客户简介 成立于2010年的厦门极致互动网络技术股份有限公司(以下简称“公司”或“极致游戏”),是一家集网络游戏产品研发与运营为一体的重点软件企业,公司专注于面向全球用户的网络游戏研发与运营。在整个产业链中,公…...
ESP32-S3模组上跑通ES8388(29)
接前一篇文章:ESP32-S3模组上跑通ES8388(28) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析到了es8388_init函数中的第11段也是最后一段代码,没有解析完,本回继续解析。为了便于理解和回顾,再次贴出该片段,在components\audio_hal\driver\es8388\es8388.c中,如下…...
使用ElasticSearch实现全文检索
文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…...
通过k-means对相似度较高的语句进行分类
本文介绍了如何使用K-Means算法对相似度较高的语句进行分类,并附上java案例代码 import java.util.ArrayList; import java.util.List; import java.util.Random;public class KMeansTextClustering {public static void main(String[] args) {// 初始化语句数据集…...
国信华源科技赋能长江蓄滞洪区水闸管护项目验收成果报道
“碧水悠悠绕古城,闸启长江万象新。”近日,由北京国信华源科技有限公司倾力打造的万里长江蓄滞洪区水闸管护项目,圆满通过验收,为这片鱼米之乡的防洪安全注入了新的科技活力。 长江之畔,水闸挺立,犹如干堤上…...
HTML:表格重点
用表格就用table caption为该表上部信息,用来说明表的作用 thead为表头主要信息,效果加粗 tbody为表格中的主体内容 tr是 table row 表格的行 td是table data th是table heading表格标题 ,一般表格第一行的数据都是table heading...
wine的使用方法
wine版本 所有分支,新的主要版本: wine-x.0 All branches, release candidates:各分支、候选版本: wine-x.0-rcn Stable branch updates: 稳定分支更新: wine-x.0.z Development branch updates: wine-x.y wine *.exe “更改目…...
Linux服务器离线安装unzip包
Linux服务器离线安装unzip包 1. 安装unzip包的目的 解压Docker部署包和服务部署包。 2. 查看当前环境是否已经安装unzip rpm -qa | grep --color unzip3. 下载对应的离线包 地址:http://www.rpmfind.net/linux/rpm2html/search.php?query&submitSearch 例…...
Excel拆分脚本
Excel拆分 工作表按行拆分为工作薄 工作表按行拆分为工作薄 打开要拆分的Excel文件,使用快捷键(AltF11)打开脚本界面,选择要拆分的sheet,打开Module,在Module中输入脚本代码,然后运行脚本 Su…...
Mybatis---事务
目录 引入 一、事务存在的意义 1.事务是什么? 2.Mybatis关于事务的管理 程序员自己控制处理的提交和回滚 引入 一、事务存在的意义 1.事务是什么? 多个操作同时进行,那么同时成功,那么同时失败。这就是事务。 事务有四个特性…...
企业直播间媒体分发新闻转播拉流推广名单(金融财经科技类)
【本篇由 言同数字媒体直播分发 原创】随着直播与短视频成为各大企业营销的重要手段,如何选择合适的视频平台进行内容分发与拉流成为了企业关注的焦点。对于财经和科技类企业而言,选择具有专业受众群体和广泛传播能力的平台尤为重要。下面是一些可以帮助…...
华为FreeBuds Pro 4丢了如何找回?(附查找功能使用方法)
华为FreeBuds Pro 4查找到底怎么用?华为FreeBuds Pro 4有星闪精确查找和离线查找,离线查找功能涵盖播放铃声、导航定位、星闪精确查找、上线通知、丢失模式、遗落提醒等。星闪精确查找是离线查找的子功能,当前仅华为FreeBuds Pro 4充电盒支持…...
若依微服务登录密码加密传输解决方案
文章目录 一、需求提出二、应用场景三、解决思路四、注意事项五、完整代码第一步:前端对密码进行加密第二步:后端工具类实现 RSA 加解密功能第三步:登录接口中添加解密逻辑 六、运行结果总结 一、需求提出 在默认情况下,RuoYi 微…...
NVR小程序接入平台/设备EasyNVR深度解析H.265与H.264编码视频接入的区别
随着科技的飞速发展和社会的不断进步,视频压缩编码技术已经成为视频传输和存储中不可或缺的一部分。在众多编码标准中,H.265和H.264是最为重要的两种。今天我们来将深入分析H.265与H.264编码的区别。 一、H.265与H.264编码的区别 1、比特率与分辨率 H.…...
Redisson常用方法
Redisson 参考: 原文链接 定义:Redisson 是一个用于与 Redis 进行交互的 Java 客户端库 优点:很多 1. 入门 1.1 安装 <!--redission--> <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifa…...
html自带的input年月日(date) /时间(datetime-local)/星期(week)/月份(month)/时间(time)控件
年月日期控件 type"date" <input type"date" id"StartDate" valueDateTime.Now.ToString("yyyy-MM-dd") /> //设置值 $("#StartDate").val("2024-12-12"); //获取值 var StartDate$("#StartDate&quo…...
CSS系列(12)-- 响应式设计详解
前端技术探索系列:CSS 响应式设计详解 📱 致读者:掌握响应式设计的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS 响应式设计,学习如何创建适应各种设备的网页布局。 响应式基础 🚀 视口设…...
filecoin boost GraphQL API 查询
查询示例 查询失败交易 curl -X POST \ -H "Content-Type: application/json" \ -d {"query":"query { deals(limit: 10, query: \"failed to get size of imported\") { deals { ID CreatedAt Message } } }"} \ http://localhost:…...
SAS - Subtractive Port
在SAS(串行连接SCSI,Serial Attached SCSI)协议中,subtractive port 是一种特殊类型的端口,主要用于设备间的路由功能。它的作用是在路径选择过程中充当默认路径,以处理未明确指定路径的请求。以下是它的定…...
TCP客户端模拟链接websocket服务端
因一些特殊原因研究了下TCP模拟链接websocket。原理上可以连接但具体怎么连接怎么操作就不知道了,需要研究下,以下是个人研究的方案。 用线上和本地地址来做例子: 线上wss地址:wss://server.cs.com/cs/vido/1 本地地址ws://127…...
TypeScript 的崛起:全面解析与深度洞察
一、背景与起源 (一)JavaScript 的局限性 类型系统缺失 难以在编码阶段发现类型相关错误,导致运行时错误频发。例如,将字符串误当作数字进行数学运算,可能在运行时才暴露问题。函数参数类型不明确,容易传入…...
c#笔记2024
Ctrl r e自动添加get和set CompositeCurve3d 复合曲线 List<Entity> entS listline.Cast<Entity>().ToList();//list类型强转 前面拼上\u0003,就可以实现,不管有没有命令都能打断当前命令的效果 取消其他命令:Z.doc.SendStri…...
Hadoop一课一得
Hadoop作为大数据时代的奠基技术之一,自问世以来就深刻改变了海量数据存储与处理的方式。本文将带您深入了解Hadoop,从其起源、核心架构、关键组件,到典型应用场景,并结合代码示例和图示,帮助您更好地掌握Hadoop的实战…...
AI生成图表化:深入探索Mermaid
引言 在使用生成式AI时,只要你提出让AI帮你生成mermaid图,AI的生成就会出现丰富的图形! 在现代文档编写中,图表的使用不仅能增强文档的可读性,还能更直观地表达复杂的概念和流程。Mermaid 作为一款开源的图表绘制工具…...
25.DDD数量关系
学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 关系型数据库的数量关系领域模型的数量关系实现聚合数量关系聚合内聚合间具体说明代码 数量关系是本质吗?领域对象之…...
Linux应用开发————线程池
线程池 定义:简单来说,就是存放多个线程的池子。当创建线程池时,就给池中存放一些线程,如果有任务要执行,就从池中取出一个线程执行任务,依次类推;当所有线程都在执行任务时,其他任务…...
Spring Boot 集成阿里云OSS 完成文件上传下载
前言: 文件上传下载在项目开发中是一个非常常见的业务场景,在云服务上还没有兴起的时候,一般来说都会把文件单独存放到文件服务器上,随着云服务的兴起,各类云服务厂商都提供了 OSS 服务,本篇我们分享 Spri…...
北京住房城乡建设部网站首页/推广策略有哪些方法
用户界面套包DevExpress v17.2日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了Bootstrap Controls v17.2 的CardView、Charts、Editors、GridView、Layout等新功能,快来下载试用新版本! CardView Bootstrap Card…...
潍坊设计网站建设/网页制作软件dw
问题:read_csv()读取csv文件后,dataframe数据表只有一列。CSV原文件样例,包含3列 代码: import pandas as pd df pd.read_csv(D:\数据源字段列表.csv, encodingutf-8) #包含中文路径名和文件名 运行后报错:OSError: I…...
网站建设介绍怎么写/鄂州网站seo
今天 我看见 向日葵 天空鹅卵石 开坑了 大大 问了一个问题 (吐槽:为什么ACG汉化组手里啥游戏都有10MB文本,ACG汉化组最好能公布一下他们的计算方法。。。。。。。。。。公布以后ACG组绝对能统治汉化界。。。。我也该回家种田了 )…...
云服务器 可以做网站吗/自动推广工具
有些事情看起来是不可能的,但是偏偏就有一些有点异想天开的人去做了,没想到通过努力和坚持最后成功了。就是这样,点点滴滴、带着兴趣、带着努力、带着友情和大家的支持、一步一个脚印,成功了~~~~ 一生短短几十年,做一两…...
vue做网站好吗/新浪博客seo
目录 ceph的网络通信 ceph网络通信模式分类 simple框架 message数据格式 Ceph通信模块代码分析 ceph网络通信模块类说明 1. Async通信模块角色 2. Async通信模式 Ceph日志和调试 现在ceph的网络是async,simple不用,建议只做了解不不必花太多时间…...
长沙做网站找哪家好/站长工具ip地址查询域名
一、简介Flink 1.9以后新增一个SQL DDL 的新特性,本文介绍从kafka消费基本操作如下。二、版本及创建表插件版本: flink 1.10.1 kafka 0.9DDL建表:CREATE TABLE source_table (id BIGINT, name STRING, score BIGINT) WITH (connector.type kafk…...