时间序列预测建模的完整流程以及数据分析(新手科研必备)

科研技能:数据分析工具和人工智能分享 你只需要告诉 ChatGPT:“我有一组实验数据,包括温度和反应速度,能帮我写个 R 程序分析这两者的关系吗?: 比如,实验数据量太大,你需要用机器学习做分类。我会先用 Python 写一个数据预处理的代码,然后结合 OpenAI API,快速生成一个决策树模型来分类,还能自动调整参数,找到最优解。现在的 AI 工具简直是科研人员的福音,尤其是处理复杂数据或者写论文的时候,用得好就跟开挂一样。:如果你的数据量不大,还是喜欢用 Excel,那 AI 插件可以帮你自动分析数据。本文由博客一文多发平台。 阅读详情
AI摘要

本文详细介绍了时间序列建模的完整流程,包括数据收集、预处理、特征分析、模型选择(如ARIMA)、数据集划分、模型训练和评估。通过ARIMA模型和交通流量数据集实例,展示了每个步骤的重要性,强调了参数调优对模型性能的关键作用。

一、本文介绍

本文给大家带来是时间序列建模的完整流程,大家在接触到这个领域的时候,往往都想将数据直接输入到模型中进行训练和预测,对于其中的一些参数都不太理解,这种情况是不可能得到一个好的结果的(本文的内容是我的专栏基础内容,当你拿到我写的任何一个模型无论是深度学习机器学习还是Transformer模型都需要按照本文的流程取分析才能够得到一个好的结果)无论大家是想要发论文还是将时间序列知识应用于其他领域,通过阅读本文都能够有一定的收获。在开始之前先介绍一下我的专栏,本专栏适用于任何群体其中不仅涉及基础知识的完整流程更有接近上百篇的实战案例(总有一篇适合你)本文通过ARIMA模型进行示例。

专栏目录:时间序列预测目录:深度学习、机器学习、融合模型、创新模型实战案例

专栏: 时间序列预测专栏:基础知识+数据分析+机器学习+深度学习+Transformer+创新模型​​​​​​​

下面的图片是一个读者找我调优之后的模型结果对比,大家可以看到经过处理之后同一个模型的不同结果效果真的是天差地别。 

目录

一、本文介绍

​编辑

二、时间序列建模的完整流程

三、 模型选取和数据集

3.1 ARIMA模型

3.2数据集介绍

​四、时间序列建模

4.1 数据获取

4.2 数据预处理

4.2.1 处理数据中的Nan值

4.2.2 检查数据中的异常值和处理

4.3  数据分析

4.3.1 趋势性分析 

4.3.2 季节性分析 

4.3.3 周期性分析 

4.3.4 ACF和PACF

 4.3.5 平稳性检验

 4.4 模型选择

4.5 划分数据集

4.6 模型训练

4.7 模型评估

五、 完整代码

 六、全文总结


二、时间序列建模的完整流程

时间序列预测建模的完整过程通常包括以下步骤:

1. 数据收集:

  • 首先收集时间序列数据。这些数据应该是按时间顺序排列的连续观察值(有过挺多人问我说我的数据时间不连续可以么,我觉得是不可以如果有这种不连续的情况我建议你提高时间单位从而避免这个情况)。

2. 数据预处理:

  •    数据清洗:处理缺失值。
  •    异常值数据转换:如对数转换,归一化等,以稳定数据的方差(此处应该是两部分包括异常之检测和异常值处理)。

3. 数据分析:分析数据的特征,如季节性、趋势、周期性等,这一步是重要的你的模型的效果好坏可能百分之60来源于模型,另外的百分之40就来源于这一步。

4. 模型选择:

  •    可以选择的模型包括ARIMA(自回归积分滑动平均模型)、季节性ARIMA、指数平滑、Prophet模型、机器学习模型等。
  •    还可以使用深度学习方法,如循环神经网络(RNN)、长短期记忆网络(LSTM)。
  •    同时还有这两年比较流行的Transformer模型,此方法适合想要发论文的同学。

5. 划分数据集:将数据集划分为测试集验证集训练集

6. 模型训练:使用训练数据集来训练选定的模型。

7. 模型评估:

  •     在测试集上评估模型性能。
  •     常用的评估指标包括均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)等。

8. 参数调优:根据模型在测试集上的表现调整参数,以提高预测准确性。

大家需要注意的是时间序列预测是一个动态过程,可能需要多次迭代来优化模型,我在某些实际应用中一个模型甚至要调优上百次才能最终上到实际生产中。

三、 模型选取和数据集

3.1 ARIMA模型

我给大家讲解用的模型是ARIMA模型,这个模型可以算是时间序列领域最重要的模型之一了,先取这个模型的原因是因为它对于参数的设定是十分敏感的,不同的参选择效果可能差异很大后面会有对比给大家看。

3.2数据集介绍

我们本文用到的数据集是某个领域的交通流量数据集 ,该数据集是一个用于时间序列预测交通流量情况的,。

数据内容:该数据集通常包含高峰期和非高峰期的交通流量情况记录。

时间范围和分辨率:数据按半小时为单位进行获取和记录,

以下是该数据集的部分截图->

​四、时间序列建模

4.1 数据获取

这一部分省略了估计大家都都有数据了,我们在这里就讲一下将数据读取进来的代码。

data = pd.read_csv("系统——车流量.csv", index_col=['Date'], parse_dates=['Date'])

在上面的代码中将数据集csv文件读取进来,然后将索引用'Date'列进行替代,替换为的效果为下图,可以看到我们的数据已经变成了一列,原先的Date列变为了索引,这是pandas的基础操作。

4.2 数据预处理

4.2.1 处理数据中的Nan值

moving_avg = data['Volume'].rolling(window=5, min_periods=1).mean()
data['Volume'] = data.fillna(moving_avg)

上面这两句代码是用来处理数据中存在的Nan值,如果数据中存在Nan值是不可以的往往都会导致报错或者结果异常的情况。 

4.2.2 检查数据中的异常值和处理

# 假设 data 是你的 DataFrame,column_name 是需要处理的列名
data['moving_avg'] = data['Volume'].rolling(window=5, min_periods=1).mean()

# 计算 Z-Score
data['z_score'] = (data['Volume'] - data['Volume'].mean()) / data['Volume'].std()

# 将异常值替换为移动平均值
data.loc[data['z_score'].abs() > 1.5, 'Volume'] = data['moving_avg']

这一部分代码是用Z-score检测出异常值同时用移动平均的思想将异常值进行了替换,从而保证我们数据的正常,不受那些因为异常事件导致的特殊值影响。 

4.3  数据分析

这一步就是十分重要的了,分析数据的特征,如季节性、趋势、周期性等(这一步是重要的你的模型的效果好坏可能百分之60来源于模型,另外的百分之40就来源于这一步)。

首先我们来看经过上面的处理之后的数据图像为下图所示->

# 可视化原始数据
data.plot()
plt.title('original data')
plt.show()

 总结:从这张原始的图片上我们可以看出数据又明显的周期性存在单位大概是50个数据左右为一个单位。

4.3.1 趋势性分析 

我们再来看去趋势性分析的图像如下->

# 趋势分析
decomposition = seasonal_decompose(data['Volume'], model='multiplicative', period=50)  # 或者model='multiplicative'取决于数据
trend = decomposition.trend
trend.plot()
plt.title('trend')
plt.show()

 总结:从这张趋势图上其中显示数据存在波动,但无明显的长期上升或下降趋势。我们看到数据点在某个水平线附近上下波动,这可能表示一个周期性的波动模式,而不是线性或单调的趋势。

4.3.2 季节性分析 

下面的图片是季节性分析图像-> 

# 季节性分析
seasonal = decomposition.seasonal
seasonal.plot()
plt.title('season')
plt.show()

总结:基于季节性分量图像,我们可以使用横坐标的数字来估计一个季节周期。通常,一个季节周期是指从一个峰值到下一个相同峰值的距离,或者从一个谷值到下一个相同谷值的距离。

通过观察季节性分量图像,我们可以估计:

  • 从一个峰值到下一个峰值(或谷值到谷值)的距离看起来相对一致。
  • 如果我们可以从图像上精确读取两个相邻峰值或谷值的横坐标值,就可以通过它们的差来估算周期长度。

比如,如果第一个峰值在横坐标50处,下一个峰值在横坐标100处,那么季节周期就是100 - 50 = 50个数据点。

4.3.3 周期性分析 

下面的图片是周期性分析图像->

# 周期性分析(残差)
residual = decomposition.resid
residual.plot()
plt.title('Periodicity (residual)')
plt.show()

总结:周期性残差的波动表明除了季节性之外,可能还存在其他非固定周期的影响因素,这些可能是因为其他因素引起的所以我们最好可以增加一些其它变量。 

4.3.4 ACF和PACF

下面的图片是ACF和PACF的图像->

# 自相关和偏自相关图
fig, ax = plt.subplots(2, 1, figsize=(12,8))
sm.graphics.tsa.plot_acf(data['Volume'].dropna(), lags=40, ax=ax[0])
sm.graphics.tsa.plot_pacf(data['Volume'].dropna(), lags=40, ax=ax[1])
plt.show()

 总结:从自相关函数(ACF)和偏自相关函数(PACF)图中,我们可以得出以下结论:

 自相关函数 (ACF):

  •   ACF 图显示出显著的逐渐减小的尾部。这通常表明时间序列可能是非平稳的,并可能包含趋势或季节性成分。
  •   随着滞后数的增加,自相关系数逐渐下降,但在整个图上仍然显著不为零,这意味着时间序列数据可能具有长期依赖关系。

偏自相关函数 (PACF):

  •   PACF 图在第一个滞后处显示了一个显著的尖峰,之后迅速下降至不显著,这是典型的AR(1)过程的特征,意味着一个数据点主要受到它前一个数据点的影响。
  •   在第一滞后之后,大多数滞后的PACF值都不显著(即在蓝色置信区间内),这表明一个阶的自回归模型可能足以捕捉时间序列的相关结构。

综上所述,ACF和PACF的形态表明,时间序列可能适合采用带有差分的自回归模型来建模,如我们本文说的ARIMA模型。通常,这种ACF和PACF的组合会建议我们首先尝试差分时间序列以获得平稳性,然后基于PACF的结果拟合一个AR(1)模型或者根据ACF的衰减模式可能需要考虑更多的AR或MA项。

 4.3.5 平稳性检验

# 平稳性检测
adf_test = adfuller(data['Volume'])
print('ADF 统计量: ', adf_test[0])
print('p-值: ', adf_test[1])

总结: Augmented Dickey-Fuller (ADF) 测试的结果提供了是否拒绝时间序列具有单位根的依据,即时间序列是否是非平稳的。ADF测试的两个关键输出是:

1. ADF 统计量:这是一个负数,它越小,越有可能拒绝单位根的存在。
2. p-值:如果p-值低于给定的显著性水平(通常为0.05或0.01),则拒绝单位根的假设,表明时间序列是平稳的。

在我们的本次测试上的ADF测试结果中:

  • ADF 统计量为 -4.8454501013044675,这是一个相对较小的负值。
  • p-值为 4.4482852446677935e-05,即大约为 0.0000445。

因为 p-值远小于0.05,我们有强有力的证据拒绝单位根的存在假设,表明时间序列是平稳的。这意味着时间序列数据中很可能不存在随时间变化的趋势或季节性成分,或者已经通过适当的变换(如差分)被去除。

结合前面的ACF和PACF图,我们可以推断这个时间序列数据经过差分或其他转换后可能已经是平稳的,并且可能适合使用ARIMA或类似的自回归模型来进行建模和预测。

 4.4 模型选择

经过前面的分析,结合ACF和PACF图,我们可以推断这个时间序列数据经过差分或其他转换后可能已经是平稳的,并且可能适合使用ARIMA或类似的自回归模型来进行建模和预测,所以我们选择ARIMA模型来进行预测,同时我们选用autoarima进行自动拟合。

4.5 划分数据集

train_ds = data['Volume'][:int(0.9 * len(data))]
test_ds = data['Volume'][-int(0.1 * len(data)):]

我们将9成的数据用来训练模型进行拟合,1成的数据用来测试我们的模型拟合效果。 

4.6 模型训练

我们将从上面分析过来的结果输入的auto_arima里面进行模型的拟合,控制台的拟合效果如图所示。

model = auto_arima(train_ds, trace=True, error_action='ignore', suppress_warnings=True, seasonal=True, m=50,
                   stationary=False, D=2)

model.fit(train_ds)

4.7 模型评估

我们训练完模型拟合后我们进行预测和结果可视化,如下图所示->

forcast = model.predict(n_periods=len(test_ds))
# forcast = pd.DataFrame(forcast, index=test_ds.index, columns=['Prediction'])

rms = sqrt(mean_squared_error(test_ds, forcast))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(15, 7))
# plt.figure('Forecast')
plt.title("forecast value as real")
plt.plot(range(len(train_ds)), train_ds, label='Train')
plt.plot(range(len(train_ds), len(train_ds) + len(test_ds)), test_ds.values, label='Test')
plt.plot(range(len(train_ds), len(train_ds) + len(test_ds)), forcast.values, label='Prediction')
plt.legend()
plt.show()

五、 完整代码

项目的完整代码如下,复制粘贴修改文件之后即可运行。

from math import sqrt
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
from pmdarima import auto_arima
from sklearn.metrics import mean_squared_error
from statsmodels.tsa.seasonal import seasonal_decompose
from statsmodels.tsa.stattools import adfuller

data = pd.read_csv("系统——车流量.csv", index_col=['Date'], parse_dates=['Date'])

moving_avg = data['Volume'].rolling(window=5, min_periods=1).mean()
data['Volume'] = data.fillna(moving_avg)

# 假设 data 是你的 DataFrame,column_name 是需要处理的列名
data['moving_avg'] = data['Volume'].rolling(window=5, min_periods=1).mean()

# 计算 Z-Score
data['z_score'] = (data['Volume'] - data['Volume'].mean()) / data['Volume'].std()
data.reset_index(drop=True,inplace=True)
# 将异常值替换为移动平均值
data.loc[data['z_score'].abs() > 1.5, 'Volume'] = data['moving_avg']

# 可视化原始数据
data.plot()
plt.title('original data')
plt.show()

# 趋势分析
decomposition = seasonal_decompose(data['Volume'], model='multiplicative', period=50)  # 或者model='multiplicative'取决于数据
trend = decomposition.trend
trend.plot()
plt.title('trend')
plt.show()

# 季节性分析
seasonal = decomposition.seasonal
seasonal.plot()
plt.title('season')
plt.show()

# 周期性分析(残差)
residual = decomposition.resid
residual.plot()
plt.title('Periodicity (residual)')
plt.show()

# 自相关和偏自相关图
fig, ax = plt.subplots(2, 1, figsize=(12,8))
sm.graphics.tsa.plot_acf(data['Volume'].dropna(), lags=40, ax=ax[0])
sm.graphics.tsa.plot_pacf(data['Volume'].dropna(), lags=40, ax=ax[1])
plt.show()

# 平稳性检测
adf_test = adfuller(data['Volume'])
print('ADF 统计量: ', adf_test[0])
print('p-值: ', adf_test[1])

train_ds = data['Volume'][:int(0.9 * len(data))]
test_ds = data['Volume'][-int(0.1 * len(data)):]



model = auto_arima(train_ds, trace=True, error_action='ignore', suppress_warnings=True, seasonal=True, m=50,
                   stationary=False, D=2)

model.fit(train_ds)
forcast = model.predict(n_periods=len(test_ds))
# forcast = pd.DataFrame(forcast, index=test_ds.index, columns=['Prediction'])

rms = sqrt(mean_squared_error(test_ds, forcast))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(15, 7))
# plt.figure('Forecast')
plt.title("forecast value as real")
plt.plot(range(len(train_ds)), train_ds, label='Train')
plt.plot(range(len(train_ds), len(train_ds) + len(test_ds)), test_ds.values, label='Test')
plt.plot(range(len(train_ds), len(train_ds) + len(test_ds)), forcast.values, label='Prediction')
plt.legend()
plt.show()

 六、全文总结

到此本文已经全部讲解完成了,希望能够帮助到大家,在这里也给大家推荐一些我其它的博客的时间序列实战案例讲解,其中有数据分析的讲解就是我前面提到的如何设置参数的分析博客,最后希望大家订阅我的专栏,本专栏均分文章均分98,并且免费阅读。

专栏回顾->时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测

​

时间序列模型步骤教程(ARIMA) 什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值。在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的(这里不考虑含外生变量的时间序列)。 时间序列的分析的步骤是先对数据进行平稳性和非白噪声检验(如不满足需对数据进行平滑或差分等预处理),然后才是模型调参跟预测,因此本文分为2大部分介绍,答题思路见脑图。 一、数据准备&探索 1、平稳性 序列平稳性是进行时间序列分析的前提条件为什么要满足平稳性的要求呢?在大数 阅读详情

相关推荐

时间序列模型(含python程序实现)

常用按时间顺序排列的一组随机变量来表示一个随机事件的时间序列,简记为用表示该随机序列的n个有序观察值,称之为序列长度为n的观察值序列。

qq_56891068的博客 5069

时间序列模型 (七): 时间序列建模的基本步骤

时间序列建模的基本步骤 时间序列建模的基本步骤 习题 时间序列经典教材推荐 时间序列模型 (一):模型概述 时间序列模型 (二):移动平均法 时间序列模型 (三):指数平滑法 时间序列模型 (四):差分指数平滑法、 自适应滤波法v 时间序列模型 (五): 趋势外推预测方法 时间序列模型 (六):平稳时间序列模型 :自回归AR 、移动平均 MA 、ARMA 模型 时间序列模...

冷月无声的博客 6万+

时间序列分析与建模

文章目录1 时间序列的分解1.1 wold分解定理1.2 Cramer分解定理1.3 确定性因素分析1.4 趋势分析1.5 趋势拟合法1.5.1 线性拟合1.5.2 曲线拟合1.6 平滑法1.6.1 移动平均法1.6.2 指数平滑法1.7 综合分析2 非平稳序列的随即分析2.1 差分运算2.1.1序列蕴含显著的线性趋势,1阶差分可以实现平稳2.1.2 序列蕴含曲线趋势,通常使用低阶差分运算就可以提取出曲线趋势的影响2.1.3 蕴含固定周期的序列2.2 ARIMA模型2.2.1 平稳性2.2.2 方差齐性2.

m0_56444893的博客 5317

时间序列建模流程

时间序列建模流程时间序列的建模分析流程时间序列可视化序列平稳严平稳、平稳的区别差分法处理非平稳数据模型自回归模型(AR)移动平均模型(MA)自回归平均模型(ARMA)差分自回归移动平均模型(ARIMA)通过ACF/PACF找最优参数自相关函数ACF(autocorrelation function)偏自相关函数PACF(partial autocorrelation function)ARIMA(p,d,q)阶数确定拖尾和截尾的概念BIC的定义模型建立和评价 时间序列的建模分析流程 时间序列可视化 直接画

Sendren的博客 6728

组合创新,原创模型!多类型需求响应负荷标准化建模+共享储能(附matlab代码实现)

首先综合考虑3个园区的不同用户侧柔性负荷的可平移、可转移、可削减的负荷特性,进行多类型差异性负荷需求响应标准建模。然后将共享储能电站应用到园区负荷的经济优化调度中,通过协调各用户使用共享储能电站进行充电和放电的功率,实现园区群日运行成本最优。研究了各园区调度结果,以及不同共享储能服务费下的储能使用率和运行成本变化趋势。《考虑用户侧柔性负荷的社区综合能源系统日前优化调度_刘蓉晖》《考虑需求响应的社区综合能源系统两阶段优化调度_刘蓉晖》《基于共享储能电站的工业用户日前优化经济调度》

2302_81053261的博客 676

2021最全数学建模必备资料

一、数学建模各种软件对比 (1)MATLAB【综合】 最为全面的数学建模软件,用处绝对不仅仅限于数学建模竞赛,在科研和工程中都有很多的应用,说是世界第一科学软件也不为过。无论是数值计算,还是运筹优化,亦或是数据分析,使用MATLAB都可以完成。不过越全面的软件,往往有一个缺点都不可避免,就是做任何一个方面都不是很方便,MATLAB也是如此,除了矩阵运算,其他方面的功能虽然都有,但都比不上相关的专业软件。比如,运筹优化不如Lingo,数据分析不如SAS等。 (2)Lingo【运筹优化】 运筹优化问题的推荐软件

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 5338

回归模型评价指标

回归模型评价指标 越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好 越接近0,表明模型拟合的越差 经验值:>0.4, 拟合效果好 缺点: 数据集的样本越大,R²越大,因此,不同数据集的模型结果比较会有一定的误差 参考此博客: https://www.jianshu.com/p/9ee85fdad150 ...

wj1298250240的博客 1万+

SAP S4HANA F-02报错:更正统一日记账分类账的定制设置

消息号 FINS_ACDOC_CUST201 使用FINS_CUST_CONS_CHK_P去检查公司代码和分类账的设置 提示:过账期间变式为空(分类账 E1/公司代码 7500) 检查了表FINSC_LD_CMP 显示有分类账未分配过账期间变式 解决:后台配置定义分类账和货币类型的设置把过账变式维护下 路径:财务会计→财务会计全局设置→分类账→分类账→定义分类账和货币类型的设置 选中需要维护的分类账双击左侧的“分类账的公司代码设置”,找到对应的公司代码维护上即可。

qq_45068743的博客 6448

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

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

Snu77的博客 1万+

CANoe: Panel的上位机控制方法

本文介绍了不同于IG的报文控制方法,实现了Panel面板的控制模式。

Jonsnow3zz的博客 1410

DEM边界数值爆炸?用ArcGIS空间分析工具链搞定异常值过滤全流程

本文针对DEM数据处理中常见的边界数值爆炸问题,提供了一套完整的ArcGIS空间分析解决方案。文章深入剖析了异常值产生的根源,并详细介绍了从诊断、定位到使用栅格计算器、重分类等工具进行精准过滤与修复的全流程工作流,帮助用户彻底解决由插值误差、数据拼接及坐标系转换引发的数值异常。

weixin_29269441的博客 149

【ICLR 2023】时间序列预测实战Crossformer(附代码+数据集+详细讲解)

本篇文章给大家带来的实战讲解是Crossformer模型,其是一个针对多变量时间序列预测的新型深度学习模型,发表ICLR 2023上并且排名前5%,所以这个模型的质量还是能够有一定保证的(但是我用官方的代码真的是Bug一堆改的让人头大)。Bug多是很多但是其效果还是可圈可点的,Crossformer的主要思想是:通过维度-段式嵌入技术将时间序列数据转换为二维向量数组,同时使用两阶段注意力层来高效地捕获这两种依赖关系。Crossformer采用分层编码器-解码器结构,在不同层次上利用信息进行预测。

Snu77的博客 2万+

Qt C++:跨平台开发利器

摘要: Qt C++是基于C++的跨平台开发框架,通过元对象系统、信号槽机制及模块化架构实现"一次编写,多端部署"。核心特性包括: 跨平台能力:覆盖桌面(Windows/macOS/Linux)、移动端(iOS/Android)、嵌入式及WebAssembly; 信号与槽:替代传统回调,实现对象间高效通信; UI组件库:200+预制组件支持QSS样式定制; 工具链:Qt Creator集成开发环境提供可视化设计、调试及多平台编译。 广泛应用于工业控制、车载系统、医疗设备及跨平台应用开发,

2202_75382767的博客 1683

Python 数据分析全流程实战:从基础到进阶

在数字化浪潮席卷全球的当下,海量数据如潮水般涌来,数据分析已然成为企业洞察市场趋势、制定精准决策的核心驱动力。Python 凭借其丰富且强大的第三方库资源,以及简洁直观的语法结构,在数据分析领域脱颖而出,成为众多数据分析师、科研工作者和技术爱好者的首选工具。本文将深度结合 Python 数据分析课程的核心要点,带领大家全方位、深层次地探索从数据处理到模型构建的全流程实战细节

2501_92585044的博客 1192

Flink 作业报错——TaskManager连接不上

Flink 作业报错——TaskManager连接不上

lm223的博客 1901

CCF201803-2 碰撞的小球 python

一些话:已经不知道是第几次做这道题了(大概第三次吧),真的常做常新,每次都有新的细节想法。虽然方法简单粗暴,但好在方便理解,对于我这种菜鸟选手而言。 但在做的过程中,最开始还忽略了输入的小球初始位置有可能是无序的,输出的时候要保持相对位置。CCF真的考验细节,希望上考场时能够认真仔细一点。就酱… #碰撞的小球 #当小球坐标为0或L时,会朝相反方向移动 #当两个小球坐标相等时,会分别转向相反的方向 #计算t秒之后小球的位置 n,L,t = map(int,input().split()) location .

tanya_dre的博客 351

高创新性!风光负荷、电价、碳价、故障诊断、用电模式识别等任意预测,时间序列/回归/分类预测创新性matlab代码,助力科研!

分享新型电力系统预测和优化领域的理论研究成果,包括优秀论文、工程应用、仿真代码等。

2302_81053261的博客 613

HDMI调试避坑指南:从AVI InfoFrame到通用控制包,这些DataIsland Packet细节千万别忽略

本文深入解析HDMI调试中DataIsland数据包的关键细节,包括AVI InfoFrame、通用控制包和音频时钟再生包(ACR)的配置与故障排查。通过实际案例和寄存器配置示例,帮助工程师快速定位显示异常、色彩失真和音频中断等问题,提升HDMI接口调试效率。

weixin_30897233的博客 637

MATLAB下载安装全攻略:科研工作者的必备指南

MATLAB是一款功能强大的工具,通过实战案例库应用,我们可以更高效地学习和应用它。无论是工程、金融还是生物领域,MATLAB都能帮助我们解决复杂的计算问题。希望这个案例库能成为你科研路上的得力助手。如果你对MATLAB或这个案例库应用感兴趣,可以访问。

AgatePanther34的博客 831

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法

keil工程After Build/Rebuild添加带参.exe实现全流程(2):带参调用.exe的几种方法。

kevin1499的博客 1617

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【R语言生态环境建模】:5大模型评估技巧揭秘,提升科研效率的必备指南

掌握R语言生态环境建模中的模型评估关键技巧,提升科研效率。涵盖交叉验证、残差分析、AIC比较等5大方法,适用于物种分布、生态系统预测等场景,确保结果科学可靠。实用指南值得收藏。

ByteGlow的博客 735

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

《巧用 DeepSeek 快速搞定数据分析》:数据科学时代的效率革命

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

R语言临床数据建模全流程:从数据清洗到Cox回归与SARIMA预测

在数据科学领域,R语言凭借其丰富的统计分析包和强大的可视化能力,成为临床与健康数据建模的重要工具。它提供了一套从数据导入、清洗、探索到建模的完整分析流水线,尤其适合生存分析、风险预测等科研场景。通过tidyverse、survival、survminer等核心包,研究者可以高效地处理真实临床数据,并构建可解释的Cox比例风险回归模型,评估影响生存预后的关键因素。同时,R也支持扩展至时间序列预测,例如利用SARIMA模型分析门诊量或流行病趋势。无论是初学者还是从Python转来的数据分析师,掌握R语言的数据建

weixin_34289454的博客 244

基于PSO(粒子群算法)-BP神经网络的时间序列预测算法matlab代码

每个粒子代表一组可能的权重和偏置组合,通过迭代更新每个粒子的速度和位置,整个粒子群不断探索参数空间以找到最优解。这样做的优势在于能够提高寻优效率,避免局部极小点,从而提升BP神经网络的训练效率和模型的泛化能力。虽然在许多复杂的学习任务中表现优异,但在解决非凸优化问题时,由于其梯度下降训练机制,往往会在损失函数曲面上陷入局部最优解,而非全局最优解,特别是在处理高维度和复杂结构的数据集时这一问题尤为明显。转发本条推文至朋友圈,所有分组,保留6小时,截图发送给VX号:gongkewenkesheng,

2302_81053261的博客 585

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力与项目科研水平研修

以科研及项目角度解决您的数据分析问题及热点问题,为您的论文写作及项目推进挖掘更好的创新点与数据支持,培养科研团队科研素质能力。

WangYan2022的博客 1186

数学建模竞赛全流程实战指南:从建模思维到论文写作

数学建模是将现实世界复杂问题抽象为数学语言并求解的核心方法,其关键在于构建问题解决体系而非套用固定模型。其原理在于运用数学工具与编程能力,通过模型假设、算法实现与结果分析,将模糊问题转化为清晰结论。这一过程的技术价值在于培养系统性思维、团队协作与快速学习能力,是解决工程优化、数据分析与科学仿真等跨领域问题的通用框架。在应用场景上,它广泛应用于资源分配、路径规划、经济预测及传播动力学分析等领域。本文聚焦全国大学生数学建模竞赛,深入剖析优化模型、预测评估及机理分析等经典建模套路,并结合Python科学计算生态与

weixin_34037173的博客 310
上一篇: 时间序列中的6大类10种异常值处理方法(从根源上提高预测精度)
下一篇: YOLOv8改进 | 细节涨点篇 | CARAFE提高精度的上采样方法(助力细节长点)
Snu77
Snu77 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄5年 11万+粉丝 934原创
评论 24
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值