时间序列预测中的数据分析->周期性、相关性、滞后性、趋势性、离群值等特性的分析方法

时间序列预测 5 大特性分析实战:Python 代码实现 ACF、傅里叶变换与 Z-Score 本文详细解析了时间序列预测的五大核心特性,包括周期性、相关性、滞后性、趋势性和离群值分析,并提供了Python代码实现ACF、傅里叶变换与Z-Score等关键方法。通过工程化实战指南,帮助数据分析师和算法工程师掌握时间序列预测的核心技术,提升预测准确率和业务决策能力。 阅读详情
AI摘要

本文详细介绍了时间序列数据分析中的周期性、相关性、滞后性、趋势性和离群值分析方法,包括自相关图、傅里叶变换、皮尔逊和斯皮尔曼相关系数、滞后性分析以及离群点检测。通过Python代码示例展示了如何在实际项目中应用这些技术。,

本文介绍

本篇文章给大家介绍的是,当我们在进行有关时间序列相关的工作或者实验时,需要对数据进行的一些数据分析操作(包括周期性、相关性、滞后性、趋势性、离群值等等分析)的方法。在本篇文章中会以实战的形式进行讲解,同时提供运行代码和运行结果图片,同时如果大家是数据方面的初学者这篇文章不仅会带你学习一些数据分析的相关操作,也会带大家对于数据分析和时间序列的建模有一个理解。

本文的讲解路径如下->

适用对象->数据相关的工作者或学习者

时间序列分析

时间序列分析是一种统计方法,用于研究随时间变化的数据序列。它涉及收集、观察和分析一系列按时间顺序排列的数据点。时间序列是连续的,例如每小时的气温变化,也可以是离散的,例如每月的销售数量。

时间序列分析的主要目标是揭示数据背后的模式、趋势、季节性以及其他有意义的结构。这种分析有助于预测未来的值、理解过去的变化以及对系统的行为进行建模。

具体大家想要了解可以看我的另一篇博客里面详细介绍了时间序列分析的工作原理和方法总结

15种时间序列预测方法总结(包含多种方法代码实现)

数据分析 

数据分析概念

数据分析是一种通过收集、清洗、转换和解释数据来获得有用信息的过程。它利用一定的方法和技术,探索数据的模式、趋势和关联,并为其它问题提供支持。数据分析通过统计分析、机器学习、数据可视化等手段,揭示数据背后的关联,并将其转化为实际的解决方案。

总结:其实今天的市场上对于数据分析的岗位需求量真的在增多,因为现在是大数据和人工智能的时代,各行各业都需要对数据进行一定的分析,我本人从事的几份算法工作里和做的项目里都离不开数据分析,所以还是建议大家能够掌握数据分析这项技能就算不完全掌握还是要有一个深入的理解的,这对于未来求职是有很大帮助的(以上仅代表个人简介)。

时间序列预测中的数据分析 

大家首先要知道数据分析是一个很大的概念,然后时间序列预测中的数据分析是属于其中的一中的,类似于机器学习和深度学习的关系(深度学习属于机器学习的一种)。时间序列预测中的数据分析涉及到的有以下-> 

  • 周期性分析:周期性分析是在确定时间序列数据是否具有重复出现的模式。常用的周期性分析方法包括自相关函数(ACF)和傅里叶变换等。自相关函数可以显示数据在不同滞后时间下的相关性,如果数据在某个滞后时间点上显示出显著的相关性,那么可能存在周期性。傅里叶变换可以将时间域的数据转换为频域,帮助检测数据中的频率成分。
  • 相关性分析:相关性分析用于衡量时间序列数据之间的相关程度。常用的相关性分析方法包括计算皮尔逊相关系数和斯皮尔曼相关系数。皮尔逊相关系数适用于线性关系的测量,而斯皮尔曼相关系数适用于非线性关系的测量。通过分析相关性,你可以了解各个时间序列之间的关联关系。
  • 滞后性分析:滞后性指的是数据之间的滞后关系。滞后性分析可以帮助你确定数据之间的滞后时间,即一个数据是否受前一时期或几个时期的影响。常用的滞后性分析方法包括自相关函数(ACF)和偏自相关函数(PACF)。自相关函数显示数据与自身在不同滞后时间下的相关性,而偏自相关函数则显示了在剔除其他滞后影响后的部分相关性。
  • 趋势性分析:趋势性分析用于确定数据是否存在明显的趋势或变化。常用的趋势性分析方法包括简单移动平均、加权移动平均和趋势线拟合等。简单移动平均可以平滑数据并显示数据的整体趋势,而加权移动平均则给最近的数据点更大的权重。趋势线拟合可以使用线性回归或其他曲线拟合方法来估计数据的趋势。
  • 离群值分析:离群值是指在时间序列数据中与其他观测值明显不同的异常值。离群值分析有助于确定数据中的异常观测值,并评估这些值对预测模型的影响。常用的离群值分析方法包括箱线图、Z分数、3σ原则和孤立森林等。

总结:以上是一些常见的时间序列数据分析方法,它们可以帮助你深入了解数据的特性,并为时间序列预测建立合适的模型提供重要的指导。在实际应用中,你可以根据数据的特点选择适合的分析方法,并结合可视化工具进行更全面的分析。

数据集介绍 

我们下面分析用到的数据集如下->

数据集的获取方式在我的优快云上传里面有大家可以自行下载。 

数据分析的代码

首先我先将以下用到的所有库放在这里要不然每一个代码都可能用到重复的库,这里就一次性导入了,到家可以自行分析。

import pandas as pd
from statsmodels.tsa.stattools import acf
import matplotlib.pyplot as plt
import seaborn as sns

我们进行分析的是数据集的OT列我们将其导入。

# 读取数据
df = pd.read_csv('ETTh1.csv')  # 替换为您的数据文件路径

# 提取OT列数据进行分析操作
column_data = pd.to_datetime(df['OT'])

周期性分析

自相关图(ACF)  

def acfDataPlot(data):
    # 计算自相关函数
    acf_result = acf(column_data, nlags=20)

    # 设置 seaborn 风格
    sns.set(style='whitegrid')

    # 绘制图表
    plt.figure(figsize=(10, 6))
    plt.stem(acf_result)
    plt.xlabel('Lag')
    plt.ylabel('Autocorrelation')
    plt.title('Autocorrelation Function')

    # 保存图像文件
    plt.savefig('acf_plot.png')

上述代码我们输入某一数据就能绘画出自相关图,我们先来看图片然后教大家如何进行分析自相关图。

在计算acf的时候大家可以看到设置了nlags=20,其是什么意思呢,就是观测我第21个值和过去20个数值的一个关系,可以判断数据是正相关还是负相关,我们可以持续增大这个值知道模式发生改变那个值可能就是你数据的周期性值。

自相关函数的取值范围通常介于-1和1之间,可以用来度量时间序列数据的相关性。

  • 自相关函数的取值为0表示没有相关性,即时间序列中的观测值之间没有线性关系。
  • 当自相关函数的值为正数时,表示时间序列中的观测值之间存在正相关性,一个较大的值往往伴随着较大的邻近值。
  • 当自相关函数的值为负数时,表示时间序列中的值之间存在负相关性,一个较大的值往往伴随着较小的邻近值。

傅里叶变换(FourierTransform)

def FourierDataPlot(column_data):
    # 计算傅里叶变换及频谱

    # 计算傅里叶变换及频谱
    fft = np.fft.fft(column_data)
    freq = np.fft.fftfreq(len(column_data))
    plt.plot(freq, np.abs(fft))
    plt.xlabel('Frequency')
    plt.ylabel('Amplitude')
    plt.title('Frequency Spectrum')
    plt.grid(True)
    plt.savefig('fourier_plot.png')

根据傅里叶变换的频谱图来分析数据的周期性,可以关注频谱图中峰值的位置和集中程度。周期性信号会在频谱图中表现为明显的峰值或集中的能量分布。

  • 峰值位置:观察频谱图中的峰值,即具有较高幅度的频率成分。根据峰值的位置,你可以粗略估计数据中存在的周期或频率。例如,如果某个峰值出现在频率轴的某个点上,你可以认为数据具有该频率的周期性。
  • 集中能量:周期性信号通常会导致能量在频率轴上集中、呈现较窄的频谱峰值。观察频谱图中的能量分布,如果能量较集中,表明数据中存在明显的频率成分,这可能意味着存在周期性信号。
  • 多个峰值:如果频谱图中存在多个峰值,而且它们之间的距离相等或接近相等,那么这些峰值可能对应于数据中的周期性组件。通过测量峰值之间的距离,你可以估计数据中的周期。

相关性分析 

皮尔逊和斯皮尔曼相关系数

def analyze_correlation(data1, data2):
    """
    分析两列数据的相关性

    参数:
    - data1: 第一列数据,可以是一个一维数组或列表
    - data2: 第二列数据,可以是一个一维数组或列表
    """
    # 将数据转换为NumPy数组
    data1 = np.array(data1)
    data2 = np.array(data2)

    # 计算Pearson相关系数
    pearson_corr, _ = stats.pearsonr(data1, data2)

    # 计算Spearman相关系数
    spearman_corr, _ = stats.spearmanr(data1, data2)

    # 打印相关系数
    print("Pearson相关系数: ", pearson_corr)
    print("Spearman相关系数: ", spearman_corr)

上面的代码用于求解两列数据的相关性系数,执行上面的代码,我们的控制台输出如下->

Pearson相关系数:  0.22000371687451462
Spearman相关系数:  0.19464597419325935

我们可以进行如下的分析 :

  • Pearson相关系数:0.22000371687451462,接近于0,表示两列数据之间的线性关系较弱。如果相关系数的绝对值接近于1,表示两列数据之间的线性关系较强,正相关系数表示正向线性关系,负相关系数表示负向线性关系。

  • Spearman相关系数:0.19464597419325935,接近于0,表示两列数据之间的等级关系较弱。Spearman相关系数是一种非参数的相关系数,用于衡量两个变量之间的等级关系,而不仅仅是线性关系。

上面提到了等级关系大家可能不太理解这里用一个例子帮大家理解一下->

等级关系是指在一组数据中,根据数值的大小对数据进行排序并赋予等级或顺序。在等级关系中,每个数据点根据其数值相对于其他数据点的大小,被分配一个等级或排名。

例如,考虑以下一组数据:[7, 3, 9, 2, 5]。在等级关系中,我们首先对数据进行排序:[2, 3, 5, 7, 9]。然后,我们根据数据在排序后的顺序中的位置,为每个数据点分配一个等级或排名:[4, 2, 5, 1, 3]。在这个例子中,数字2在排序后的数据中排名第1,数字3排名第2,以此类推。

等级关系可以用于描述数据之间的相对大小,而不考虑具体的数值差异。它对于处理非线性关系或不符合线性假设的数据非常有用。Spearman相关系数就是基于等级关系计算的,它衡量的是两个变量之间等级的相似程度,而不仅仅是数值的线性关系。

需要注意的是,等级关系并不是适用于所有类型的数据。例如,对于分类变量或离散变量,等级关系可能没有明确的含义。在使用等级关系进行分析时,要确保数据的类型和性质与等级关系的要求相匹配。 

滞后性分析

自相关图和偏相关图

def plot_lag_analysis(data):
    """
    绘制滞后性分析的ACF和PACF图

    参数:
    - data: 时间序列数据,可以是一个一维数组或列表
    """
    # 将数据转换为NumPy数组
    data = np.array(data)

    # 绘制ACF图
    plt.figure(figsize=(12, 4))
    ax1 = plt.subplot(121)
    plot_acf(data, ax=ax1)
    ax1.set_title('Autocorrelation Function (ACF)')

    # 绘制PACF图
    ax2 = plt.subplot(122)
    plot_pacf(data, ax=ax2)
    ax2.set_title('Partial Autocorrelation Function (PACF)')

    # 显示图形
    plt.tight_layout()
    plt.show()

  • 自相关函数(ACF):ACF测量一个变量与其在不同滞后时间点上的过去值之间的相关性。它可以帮助我们确定在给定时间点的观测值与之前的观测值之间的相关程度,这个前面已经讲过了。

  • 偏自相关函数(PACF):PACF测量一个变量与另一个变量在给定滞后时间点上的相关性,同时消除了中间滞后时间点的影响。它可以帮助我们确定在考虑其他滞后期间的影响后,两个变量之间的直接关系。

这里在详细讲讲PACF图如何看->

在 PACF 图中,横坐标表示滞后阶数,纵坐标表示对应的偏相关系数。每个垂直线或标记表示一个滞后阶数的偏相关系数,而其他滞后阶数的影响已经被控制住。

通过观察 PACF 图,你可以得出以下结论:

  1. 如果 PACF 图上的滞后阶数的偏相关系数在垂直线之外都接近于零,而在垂直线上有一个显著的峰值,表明该滞后阶数对时间序列具有重要的影响,可能是一个合适的 AR 模型的滞后阶数。

  2. 如果 PACF 图上的滞后阶数的偏相关系数都接近于零,没有显示出显著的峰值,表明时间序列不需要考虑该滞后阶数,可以考虑其他模型。

  3. 如果 PACF 图上的滞后阶数的偏相关系数在多个滞后阶数上都有显著的峰值,可能存在多个合适的滞后阶数,需要进一步分析和选择。

趋势性分析

线性回归模型检测趋势性 

def calculate_trend(data1,data2):
    # 创建 DataFrame

    # 提取自变量和因变量
    x = np.array(data1).reshape(-1, 1)
    y = np.array(data2).reshape(-1, 1)

    # 使用线性回归模型拟合数据
    model = LinearRegression()
    model.fit(x, y)

    # 提取斜率和截距
    slope = model.coef_[0]
    intercept = model.intercept_



    # 返回趋势性分析结果
    result = {
        'slope': slope,
        'intercept': intercept,
    }
    print(result)

运行以上代码我们输出如下结果->

其中slope为斜率、intercept为截距,我们可以进行如下的分析->

  • 如果斜率明显为正且截距为正,表示数据呈现明显的上升趋势,且存在一个正的基准水平。
  • 如果斜率明显为负且截距为负,表示数据呈现明显的下降趋势,且存在一个负的基准水平。
  • 如果斜率接近零且截距接近零,表示数据呈现平稳趋势,波动在零附近。

离群点分析

箱线图检测离群点 

import matplotlib.pyplot as plt

def detect_outliers(data):
    # 绘制箱线图
    plt.boxplot(data)

    # 计算上下须范围
    q1, q3 = np.percentile(data, [25, 75])
    iqr = q3 - q1
    upper_threshold = q3 + 1.5 * iqr
    lower_threshold = q1 - 1.5 * iqr

    # 标记离群点
    outliers = [x for x in data if x > upper_threshold or x < lower_threshold]
    plt.plot(range(1, len(outliers) + 1), outliers, 'ro', label='Outliers')

    # 显示图例和标签
    plt.legend()
    plt.xlabel('Data')
    plt.ylabel('Values')
    plt.title('Box Plot with Outliers')

    # 显示箱线图
    plt.show()

箱线图是传统的检测离群点的方法,其超过的它的箱须都称之为利群点,因为数据集表较大,可能离群点很多,看着不太直观,绘画箱线图的方法有很多,Excel都可以画大家不一定使用上面的方法。

Z分数(Z-score)

def zscore_detect_outlier(data, threshold):
    q1 = np.percentile(data, 25)
    q3 = np.percentile(data, 75)
    iqr = q3 - q1

    lower_threshold = q1 - threshold * iqr
    upper_threshold = q3 + threshold * iqr

    for i in range(len(data)):
        if data[i] < lower_threshold or data[i] > upper_threshold:
            print(i, data[i])

我推荐用这种方法来检测离群点,因为检测出来以后我们可以直接对这些离群点进行处理,可以用平均值、最大值、最小值代替都可以。

运行以上代码输出如下->

 

可以看到将我们的离群点全部打印出来了同时还有对应的索引,所以就很方便我们的处理。 

执行代码

最后吧执行代码发给大家。

if __name__ == '__main__':
    # 读取数据框(DataFrame)
    df = pd.read_csv('ETTh1.csv')  # 替换为您的数据文件路径

    # 提取某一列数据并转化为时间序列数据
    column_data = df['OT']
    column_data2 = df['MULL']
    # 调用方法

    acfDataPlot(column_data)
    FourierDataPlot(column_data)
    plot_boxplot(column_data)
    calculate_trend(column_data,column_data2)
    detect_outliers(column_data)
    zscore_detect_outlier(column_data,0.9)
    analyze_correlation(data1=column_data,data2=column_data2)

总结 

到此本文已经全部讲解完成了,希望能够帮助到大家,在这里也给大家推荐一些我其它的博客的时间序列实战案例讲解。

时间序列预测模型实战案例(八)(Informer)个人数据集、详细参数、代码实战讲解

时间序列预测模型实战案例(七)(TPA-LSTM)结合TPA注意力机制的LSTM实现多元预测

时间序列预测模型实战案例(六)深入理解机器学习ARIMA包括差分和相关性分析

时间序列预测模型实战案例(五)基于双向LSTM横向搭配单向LSTM进行回归问题解决

时间序列预测模型实战案例(四)(Xgboost)(Python)(机器学习)图解机制原理实现时间序列预测和分类(附一键运行代码资源下载和代码讲解)

时间序列预测模型实战案例(三)(LSTM)(Python)(深度学习)时间序列预测(包括运行代码以及代码讲解)

【全网首发】(MTS-Mixers)(Python)(Pytorch)最新由华为发布的时间序列预测模型实战案例(一)(包括代码讲解)实现企业级预测精度包括官方代码BUG修复Transform模型

时间序列预测模型实战案例(二)(Holt-Winter)(Python)结合K-折交叉验证进行时间序列预测实现企业级预测精度(包括运行代码以及代码讲解)

如果大家有不懂的也可以评论区留言一些报错什么的大家可以讨论讨论看到我也会给大家解答如何解决!

最后希望大家工作顺利学业有成!

多个时间序列的滞后相关性 分析多个时间序列之间的滞后相关性,可以通过以下几种方法进行,尤其是关注各个时间序列之间的交叉相关性(Cross-correlation)、多元格兰杰因果关系,以及基于滞后模型的分析。它可以判断多个时间序列之间的因果关系,并可以检验某个时间序列能否被另一个时间序列的滞后值所预测。对于多个时间序列的滞后相关性分析,选用适当的方法取决于时间序列的结构、滞后效应的显著性以及是否想构建预测模型。对于多个时间序列,可以计算多个序列间的相关性矩阵,并可视化为热力图,展示不同滞后期下的相关性大小。 阅读详情

相关推荐

时间序列之周期性

针对时间序列的趋势和季节性,我们可以很容易地利用“时间相关”的属性进行建模,即直接从时间索引中得出特征。但是有些情况下,一些时间序列只能利用“序列相关”属性,即使用序列的历史值作为特征。如下图所示,随着时间的推移,这些时间序列的结构可能并不明显,但如果与历史进行对比的话,结构就会很清晰。

一蓑烟雨任平生 3239

常用经典数据分析方法之趋势分析法

在信息时代,数据已成为我们生活和工作中不可或缺的一部分。数据的收集和分析有助于我们洞察问题、预测趋势以及做出明智的决策。而在众多数据分析方法中,趋势分析法被广泛应用于各个领域,其能够帮助我们识别数据的演变趋势,揭示出背后的规律和规律性变化。本文将带您深入了解常用经典数据分析方法之趋势分析法,包括其基本概念、原理和实际应用。

DataEase的博客 2万+

【文章学习-1】交叉相关性(Cross-correlation)——滞后性相关

滞后性相关

记录学习 2236

文献总结——气象中的滞后相关应用举例

气象中的滞后相关应用举例

yiweixiaomiandui的博客 2697

时间序列—显著相关性和滞后性分析_python

本文讲述了两个时间序列(信号)的相关性分析,可以利用相关性分析进行特征筛选。此外本文还讲了怎么判断时间序列的滞后性的方法。

qq_34229228的博客 2万+

【信息科学与工程学】【数据科学】 第四十四篇 数据湖 系列二 函数库01

2. 近似最近邻搜索(ANN): 通过HNSW等图索引模型加速,模型定义为构建一个层次化导航小世界图。依赖于消息队列(Kafka/Pulsar)、分布式文件系统(HDFS/S3)的客户端及连接库。依赖专门的向量检索库(如FAISS, Milvus)。管控目标: 召回率(Recall@K) > 95%,查询延迟 < 100ms。管控目标: < 1% (核心业务字段) 或 < 5% (一般字段)依赖数据处理框架(如Spark, Pandas)的核心统计函数。,通过牺牲精确性(ANN)来换取搜索速度的大幅提升。

weixin_49199313的博客 346

时间序列预测专栏目录 | 深度学习、机器学习、融合模型、创新模型实战案例(附代码+数据集+原理介绍)

给大家推荐一下我的时间序列预测专栏,本专栏平均质量分98分,而且本专栏目前免费阅读,其中涉及机器学习、深度学习、融合模型、个人创新模型、数据分析等一系列有关时间序列的专栏,其中的实战的案例不仅有简单的模型类似于机器学习的ARIMA、Xgboost也有复杂的类似于深度学习的TPA-LSTM,还有个人创新的模型堆叠CNN-GRU-LSTM,同时本专栏的实战案例后期会持续的进行更新,复现各种最新的时间序列预测模型。时间序列预测的初学者、时间序列预测的工作者、数据分析的初学者。

Snu77的博客 1万+

交叉相关分析图 - 利用 Python 对时间序列滞后性进行可视化

在时间序列分析中,了解时间序列之间的滞后性非常重要。交叉相关分析能够帮助我们确定两个时间序列之间的具体滞后程度,进而用来预测未来的趋势和行为。在本文中,我们将介绍如何使用 Python 中的交叉相关分析图进行滞后性的可视化。本文介绍了如何使用 Python 中的交叉相关分析图进行时间序列滞后性的可视化。通过这种方法,我们可以更好地理解不同时间序列之间的关系,进而帮助我们做出更准确的预测和决策。函数来计算每个时间序列的不同时期滞后情况,并将其存放到新的数据框中。在上面的代码中,我们首先定义了最大的滞后时间。

uote_e的博客 2025

拿捏!相关性分析,一键出图!皮尔逊、斯皮尔曼、肯德尔、最大互信息系数(MIC)、滞后相关性分析,直接运行!独家可视化程序!

降维的方法:皮尔逊(Pearson)、斯皮尔曼(Spearman)、肯德尔(Kendall)、最大互信息系数(MIC)、滞后相关性。分别绘制出相关性矩阵,并且矩阵中每个值我们都用饼图表示,看着更加高大上!加深审稿人对文章的好感。

weixin_48747334的博客 4991

用R语言绘制时间序列数据的滞后相关性图表

根据滞后相关性图表,我们可以分析滞后相关性。如果峰值位于正滞后期(向右)或负滞后期(向左),表示一个时间序列的变化在另一个时间序列中有一定的滞后影响。通过分析滞后相关性图表,我们可以初步了解两个时间序列之间的相关性,并发现它们之间的滞后关系。在本文中,我们将使用R语言中的forecast包来绘制两个时间序列数据的滞后相关性图表,并根据可视化结果进行分析。运行上述代码后,将生成一个滞后相关性图表,显示x和y之间在不同滞后期之间的相关性。图表中的峰值表示两个时间序列之间的最大相关性,而峰值的位置表示滞后期。

ScriptCharm的博客 1273

Mac版UltraEdit 18.00.0.19破解教程:终端一行命令搞定(附版本适配指南)

本文为Mac用户提供了UltraEdit的合法替代方案与授权指南,强调破解软件的法律风险和安全隐忧。推荐使用VS Code、Sublime Text等开源或商业编辑器,结合终端工具如Vim/Neovim,实现高效文本编辑。同时详细介绍了UltraEdit的官方授权选项,帮助开发者在遵守软件许可的前提下提升工作效率。

k9l0m1的博客 357

时间序列的基本知识

1、时间图 对于时间序列数据而言,我们从最简单的时间图开始。时间图是用将观测值与观测时间点作图,散点之间用直线连接。例如图2.1表示在澳大利亚两个最大的城市之间,Ansett航空公司的每周客流量。 例如以下图形: 该时间图直观地展现出数据具有的一些特征: 由于1989年当地的工业纠纷,当年的客流量为0. 在1992年中,由于一部分经济舱被商务舱取代,导致客流量大幅减少。 1991年下半年客流量...

步步心愿的博客 4380

QSPI Flash的原理与QSPI时序的Verilog实现

本节主要是讨论QSPI(Quad SPI,四线SPI总线)的相关内容。我的开发板上有一片型号是W25Q128BV的Quad SPI Flash存储器,本文将以它为例子来说明QSPI操作的一些内容。

Go Forward Forever! 4166

【时间序列】周期性检测算法及其 Python 实践

背景任何事物在两个不同时刻都不可能保持完全相同的状态,但很多变化往往存在着一定的规律,例如 24 小时日出日落,潮起潮落,这些现象通常称为「周期」。周期性,指时间序列中呈现出来的围绕长期趋...

AI蜗牛车 1万+

AutoLisp文件(.lsp)从编写到加载运行:一份给CAD新手的避坑指南

本文为CAD新手提供了一份AutoLisp文件(.lsp)从编写到加载运行的完整指南,涵盖编写环境配置、文件加载流程、调试技巧及工程化实践建议。通过详细的步骤和常见错误解决方案,帮助用户避免常见陷阱,提升AutoLisp脚本的开发效率和应用效果。

weixin_29228203的博客 903

操作系统原理:【优麒麟】linux内核添加系统调用

在底端添加如下代码。

Joyce_zz的博客 2711

[时序波动关联]模型CoFLUX论文要点整理

时序波动关联模型CoFLUX论文要点整理 简介 在互联网公司里面,通常都会监控成千上万的时间序列,用于保障整个系统或者平台的稳定性。在这种情况下,如果能够对多条时间序列之间判断其是否相关,则对于监控而言是非常有效的。基于以上的实际情况,清华大学与 Alibaba 集团在2019年一起合作了论文《CoFlux: Robustly Correlating KPIs by Fluctuations for Service Troubleshooting》,并且发表在 IWQos 2019 上。CoFlux 这个方

Ray_awakepure的博客 3038

【FOC无刷电机控制】六步换向、FOC,STM32cubemx从零开始搭建BLDC六步换相代码、FOC代码(基于霍尔传感器)

FOC、六步换相,无刷电机控制

xifan的博客 3万+

延时相关及其在生物医学中的应用

延时相关及其在生物医学中的应用

Planck_meteora的博客 1041

详细教程:如何使用elasticsearch 8.x进行向量搜索

大模型的热度使得向量数据库和embedding也成了ai领域的热门话题,有别于从头开始训练一个大模型或基于基础模型进行微调的方式,embedding检索相关上下文是对大模型进行定制的各种方法中成本最低、技术实现最便捷的方式。从技术实现的角度,

qq_50790981的博客 1万+

LVS 负载均衡面试题及参考答案

什么是 LVS 负载均衡?它的主要作用是什么? LVS(Linux Virtual Server)是一个基于 Linux 内核的开源负载均衡项目。它通过将请求流量按照一定的算法分发到后端的多个真实服务器(Real Server)上,从而实现负载均衡的功能。 从原理上来说,LVS 工作在网络层和传输层之间。当客户端发起请求时,请求首先到达 LVS 服务器,LVS 会根据预先设定的规则和算法,比如轮询(Round - Robin)、加权轮询(Weighted Round - Robin)、最少连

大模型大数据攻城狮的专栏 1469

使用自相关求周期性

以由办公楼内温度计采集的一组温度数据为例。这是意料之中的,因为大楼内在人们工作时间温度较高,晚上和周末温度较低。周期信号的自相关序列与信号本身具有相同的周期特征。因此,自相关可以帮助验证周期的存在并确定其持续时间。要找到长周期,请将 findpeaks 限制为只寻找间隔时间超过短周期且最小高度为 0.3 的峰值。测量不确定性和噪声有时会导致难以发现信号中的振荡行为,即使该震荡行为是预期存在的。通过找到峰值位置并确定它们之间的平均时间差来确定短周期和长周期。温度似乎确实有震荡特性,但周期的长度并不容易确定。

jk_101的博客 1619

YOLOv8/v9轻量化优化:剪枝30%+蒸馏提精,模型体积缩至4MB还能跑Jetson

剪枝:用敏感度分析找到“可牺牲的30%”,不碰核心特征;蒸馏:借大模型的“经验”补回精度,甚至反超原始小模型;量化:针对边缘设备特性优化量化策略,把体积和延迟压到最低。如果你的项目卡在边缘部署(速度慢/体积大),按“剪枝→蒸馏→量化”三步走,90%能在Jetson上跑通30FPS+的实时检测。需要轻量化模型文件(v8s/v9s剪枝蒸馏后权重)、剪枝工具和Jetson部署脚本的,评论区扣“轻量化”,直接发你可运行版本~

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 669

时间序列分析的周期性特征:识别与预测

1.背景介绍 时间序列分析是一种分析方法,主要用于研究时间序列数据的变化规律。时间序列数据是指随着时间的推移而变化的数值序列,例如股票价格、人口数量、气温等。在现实生活中,我们经常需要对时间序列数据进行分析,以便更好地理解其变化规律,并基于这些规律进行预测。 周期性特征是时间序列分析中的一个重要概念,它指的是数据序列中存在一定周期性变化的现象。例如,气温变化、商品价格波动等都可以被认为是具有周...

AI天才研究院 5367

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Matlab 粒子群优化双向长短期记忆网络(PSO-BILSTM)的时间序列预测(时序)

引言: 时间序列数据预测是许多领域中的重要问题,如金融、气象、交通等。为了提高预测准确性,研究者们一直在寻找更有效的预测模型。近年来,深度学习模型在时间序列预测中取得了显著的成果。其中,长短时记忆网络(LSTM)是一种广泛应用的模型,能够捕捉时间序列中的长期依赖关系。本文将介绍一种基于粒子群算法优化的双向长短时记忆(PSO-biLSTM)模型,用于时间序列数据预测,并与传统的单向LSTM模型进行对比。LSTM模型简介 LSTM是一种递归神经网络(RNN)的变种,专门用于处理序列数据。

qq_59747472的博客 421

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

时间序列预测任务,预测值相对比真实值趋势滞后问题

我们在采用LSTM,GRU等深度模型进行时间序列预测任务时,通常会采用滑动窗口策略,即将训练集和测试集划分为若干个滑动时间窗口,利用N个历史时间窗口的数据(xt−N,...,xtx_{t-N},...,xtxt−N​,...,xt)去预测未来H个时间窗口的数据(xt+1,,...,xt+Hx_{t+1},,...,x_{t+H}xt+1​,,...,xt+H​)。 按照上述步骤,我们用了某种算法做出来的测试集的平均绝对误差率或者r2系数都很好,但是把测试集的真实值及预测值画出来对比一下,就会发现t时刻的预测

酒酿小圆子呀~ 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 时间序列预测模型实战案例(八)(Informer)个人数据集、详细参数、代码实战讲解
下一篇: 时间序列预测模型实战案例(十)(个人创新模型)通过堆叠CNN、GRU、LSTM实现多元预测和单元预测
Snu77
Snu77 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄5年 11万+粉丝 934原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Snu77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值