当前位置: 首页 > news >正文

【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现

1 绪论

1.1 研究背景与意义

在气候变化日益受到全球关注的背景下,天气气温的变化已经对人们的生活各方面都产生了影响,人们在外出时大多都会在手机上看看天气如何,根据天气的变化来决定衣物的穿着和出行的安排。[1]如今手机能提供的信息已经十分精确,已经到了每个小时都有预测的温度和天气状况,还可以看到湿度,能见度,气压等实时信息。然而手机和各个天气网站提供的信息大多都是按星期和月,更长期的预测却是没有的。针对重庆地方地区进行长期预测,重庆位于长江中游的沿岸地区,地势起伏,存在着明显的山地气候变化差异,是很适合进行长期预测的地区,其气候变化对于城市规划、农业、生态保护和人类生活等方面都具有重要影响。因此,研究地方性气温变化趋势具有明显的实践意义[2]。

时间序列模型是一种常用于分析时序数据的方法。它可以根据观测数据中呈现的线性或非线性变化趋势、周期性变化等模式,对未来的某一时刻的变量值进行预测。[3]对重庆历史天气数据进行分析,对部分地区的天气状况,最低气温,最高气温,平均气温和风力风向的数据等方面进行分析,揭示重庆部分地区2021-2022年的平均气温变化趋势通过分析年、季、月或更细粒度的平均气温数据,探索气温的长期变化趋势,如逐年变化、季节性变化等再逐个进行对比分析。[4]研究可能对重庆地区气温变化的驱动因素进行分析,对过去的气温数据进行分析,从而找出气温变化的长期趋势。有助于了解局部气候变化和季节性气候等变化等现象。可以捕捉气温变化的周期性和季节性规律。进而对未来气温变化进行预测,对于短期和长期的气象预报,农业生产,能源需求预测具有重要意义[5]

在中国,目前主要的天气预测技术大致分为静态模型和动态模型静态模型通过历史数据得到的统计学预报方法,比如常规的回归分析,聚类分析,人工神经网络等,这种方法计算简单,速度较快,缺点是无法反映天气形势比纳湖和动态性,范围有限。动态模型主要是通过数值预报的方法,利用率大量的观测资料,理论模型和计算机程序来预测未来天气的形况[6]。用来反映天气形式的动态变化。但同时也存在计算复杂,数据量大和模型有偏差等缺点。

综上,将时间序列模型应用于重庆市部分地区的气温预测,根据大量的历史数据,不仅能提高气温预测的针对性和精度,而且可以更直观的看出不同因素对结果的影响。对于重庆各个方面也具有一定的参考价值。

1.2 研究现状分析

时间序列分析在气象领域中得到了广泛应用,以预测和分析气候变化为目标。特别是针对气温变化趋势的研究,已经有许多国内外学者进行了深入探索。

ARIMA模型是一种常见的时间序列分析方法,被广泛应用于气温预测研究中。高亮[7]等人在研究中使用ARIMA模型对气温数据进行建模和预测,得出了准确的预测结果。研究表明,LSTM模型在捕捉时间序列数据中的长期依赖关系方面具有优势,能够提高气温预测的准确性。

随着深度学习技术的发展,LSTM模型也被广泛应用于气温预测研究中。许红蕾[8]等人针对重庆地区气温的研究表明,LSTM模型相比传统的ARIMA模型,在气温预测的准确性和稳定性方面取得了更好的效果。此外,黄晓芬等人[9]的研究探索了ARIMA和LSTM模型的结合应用,以进一步提高气温预测的精度。

除了模型选择,可视化也是时间序列分析中不可或缺的一部分。Matplotlib是一种常用的Python库,被广泛用于数据可视化[10]。通过绘制折线图、趋势图等形式,可以直观地展示气温变化趋势,以及模型预测结果与实际观测值之间的对比[11]。

根据研究表明,ARIMA和LSTM模型在气温变化趋势分析和预测方面具有良好的性能。随着深度学习技术的发展和数据处理工具(如Pandas)的应用,时间序列分析在气象领域中的应用将更加广泛。同时,结合Matplotlib等可视化工具,可以直观地展示气候变化趋势,为气象决策提供有力支持[12]。

1.3 主要研究方法

1. 数据收集与整理:收集重庆地区2021-2022年的气温数据,包括最高气温、最低气温和平均气温等。对收集的数据进行整理和清洗,确保数据有效、准确和完整,便于进行后续分析[13]。

2. 描述性统计分析:对重庆地区2021-2022年的气温数据进行描述性统计分析,包括计算均值、中位数、标准差等统计指标,以直观地了解气温数据的基本分布情况。

3. 时间序列模型建立:根据气温数据的特征,选择合适的时间序列模型(如AR、MA、ARMA或ARIMA等)进行建模。通过模型识别、参数估计和模型检验等步骤,得到一个较为满意的模型[14]。

4. 模型预测与验证:利用建立的时间序列模型对重庆地区未来一段时间内的气温进行预测,并与实际情况进行对比,评估模型的预测准确性和可靠性[15]。

4 时间序列模型分析

4.1 ARIMA模型预测实现

4.1.1ARIMA模型原理

ARIMA(Autoregressive Integrated Moving Average)模型是一种常用的时间序列预测模型,它结合了自回归(AR)模型、差分(I)和移动平均(MA)模型的特点。ARIMA模型适用于具有一定趋势和季节性的时间序列数据。

ARIMA模型的原理可以概括为以下几个步骤:

差分(Differencing):如果时间序列数据存在明显的趋势或季节性,首先需要对其进行差分,以消除这些特征。通过计算当前值与前一个值之间的差异来实现差分。如果仍然存在趋势,则可能需要多次差分。

自回归(Autoregression):AR部分是基于过去的观测值来预测当前值。AR模型的阶数p表示使用的过去观测值的数量。每个观测值与前p个观测值的线性组合有关。

移动平均(Moving Average):MA部分是基于残差(观测值与通过AR模型预测的值之间的差异)来预测当前值。MA模型的阶数q表示使用的残差的数量。

整合(Integration):I部分是对差分后的数据进行反向操作,将预测值转换为原始数据的尺度。整合的阶数d表示进行差分的次数。

ARIMA模型的公式可以表示为:

ARIMA(p, d, q):Y(t) = c + φ(1)*Y(t-1) + φ(2)*Y(t-2) + ... + φ(p)*Y(t-p) + θ(1)*ε(t-1) + θ(2)*ε(t-2) + ... + θ(q)*ε(t-q) + ε(t)

其中,Y(t) 是时间序列在时刻t的观测值,c 是常数项,φ(i) 是自回归系数,i=1,2,...,p,Y(t-i) 是时间序列在时刻t-i的观测值,θ(j) 是移动平均系数,j=1,2,...,q,ε(t-j) 是残差,在时刻t-j的残差,ε(t) 是白噪声误差,在时刻t的误差。

4.1.2ARIMA模型实现步骤思路

ARIMA模型被成功应用于重庆的温度预测,通过数据预处理、平稳性检验、自相关和偏自相关分析、参数选择和模型拟合,得到了具有最小AIC和BIC值的最佳ARIMA模型,并使用该模型对未来5天的最高温度和最低温度进行了预测。这样的温度预测结果有助于理解重庆的气温趋势和变化,并为决策和规划提供参考。

4.1.3数据预处理

通过将日期字段的时间部分去除,并按日期对数据进行排序和索引设置,确保日期被正确解析和排序。然后,对最高温度和最低温度字段进行数据清洗和转换,将温度值中的度符号"°"去除并将字符串类型转换为数值类型。

随后,通过调用matplotlib库的plot方法,创建了一个14x7英寸大小的图形,并在图表中绘制了最高温度和最低温度的曲线。图表的横轴表示日期,纵轴表示温度,其中最高温度用实线表示,最低温度用虚线表示。此图表展示了重庆的温度趋势。如图4.1.3所示:

4.1.3  重庆的温度趋势图

4.1.4平稳性检验

使用statsmodels库的adfuller函数,对最高温度和最低温度数据进行ADF检验,以评估它们的平稳性。ADF检验的结果包括ADF统计量、p-value和关键值。通过这些结果,可以判断温度数据是否平稳。如表5.1.4所示:

4.1.4 ADF检验结果

检验

最高温数据

最低温数据

ADF Statistic for Temperature

-4.513908

-2.620858

p-value

    0.000186

0.088763

Critical Values

1%: -3.431

5%: -2.862

10%: -2.567

1%: -3.431

5%: -2.862

10%: -2.567

4.1.5自相关和偏自相关分析

对最低温度数据进行一阶差分,并再次使用ADF检验对差分后的数据进行平稳性检验。通过打印ADF统计量、p-value和关键值,可以评估差分后的最低温度数据是否平稳。如表4.1.5所示:

4.1.5 ADF一阶差分检验结果

检验

最低温数据

ADF Statistic for Temperature

 -44.659409

p-value

0.000000

Critical Values

1%: -3.431

5%: -2.862

10%: -2.567

接下来,使用statsmodels库的plot_acf和plot_pacf函数,绘制了最高温度和差分后的最低温度的自相关图(ACF)和偏自相关图(PACF)。这些图表有助于确定ARIMA模型中的参数。如图4.1.5所示:

4.1.5  自相关图(ACF)和偏自相关图(PACF)图

4.1.6参数选择和模型拟合

在完成数据预处理和分析后,使用一个名为best_arima_model的函数来计算最佳的ARIMA模型。该函数遍历指定的p和q范围,尝试不同的参数组合,选择具有最小AIC和BIC值的模型作为最佳模型。

使用最佳ARIMA模型对最高温度数据进行拟合,并通过调用get_forecast方法对未来5天的最高温度进行预测,获取预测结果的平均值。同时,对差分后的最低温度数据也使用最佳ARIMA模型进行拟合,并根据差分后的数据得到预测结果。为了将差分后的最低温度还原到原始尺度,累积预测结果并加上最后一个实际观测值。

最后,使用pd.date_range函数创建了未来5天的时间序列索引,并使用matplotlib库绘制了温度预测的结果图表。在图表中,实线表示实际的最高温度和最低温度,虚线表示预测的最高温度和最低温度。通过这个图表,可以直观地比较实际温度和预测温度,从而评估模型的准确性。如图4.1.6所示:

4.1.6  温度预测的结果图

4.1.7结论

根据给出的ADF检验结果和最佳ARIMA模型的AIC和BIC值,可以得出以下结论:

对于最高温度数据,ADF统计量的值为-4.513908,p-value为0.000186。与临界值进行比较,可以发现ADF统计量小于1%的临界值,因此可以拒绝原假设,即最高温度数据是非平稳的。这表明最高温度数据具有趋势或季节性变化。

对于最低温度数据,ADF统计量的值为-2.620858,p-value为0.088763。与临界值进行比较,可以发现ADF统计量大于1%的临界值,因此无法拒绝原假设,即最低温度数据可能是非平稳的。这意味着最低温度数据存在一定的随机性。

对于差分后的最低温度数据,ADF统计量的值为-44.659409,p-value为0.000000。与临界值进行比较,可以发现ADF统计量远小于1%的临界值,因此可以拒绝原假设,即差分后的最低温度数据是平稳的。这说明通过一阶差分,成功地消除了最低温度数据中的趋势和季节性。

根据AIC和BIC的值,最佳ARIMA模型为ARIMA(3, 0, 1)对于最高温度数据,AIC值为134424.798,BIC值为134474.638。对于差分后的最低温度数据,最佳ARIMA模型为ARIMA(1, 0, 1),AIC值为122014.725,BIC值为122047.951。

综上所述,根据ADF检验结果和最佳ARIMA模型的AIC和BIC值,可以得出以下结论:最高温度数据是非平稳的,具有趋势或季节性变化;最低温度数据是非平稳的,存在一定的随机性;经过一阶差分处理后,最低温度数据变得平稳;对于最高温度数据,最佳ARIMA模型为ARIMA(3, 0, 1);对于差分后的最低温度数据,最佳ARIMA模型为ARIMA(1, 0, 1)。

4.2 LSTM模型预测实现

4.2.1 LSTM模型原理

LSTM(Long Short-Term Memory)模型是一种常用的循环神经网络(RNN)变体,用于处理和预测时间序列数据。相比传统的RNN模型,LSTM模型能够更好地解决长期依赖问题,并且能够捕捉到更长时间范围内的上下文信息。

LSTM模型的原理可以概括为以下几个关键组件:

细胞状态(Cell State):LSTM中引入了一个细胞状态,用于存储和传递长期的记忆。细胞状态在整个时间序列中保持不变,可以通过门控机制来决定是否更新和重置。

输入门(Input Gate):输入门控制着将什么信息加入到细胞状态中。它使用sigmoid函数来决定输入门的打开程度,以及tanh函数来产生一个新的候选值。

遗忘门(Forget Gate):遗忘门决定了从细胞状态中删除哪些信息。它使用sigmoid函数来决定遗忘门的打开程度,控制着细胞状态中的旧信息被保留还是被遗忘。

输出门(Output Gate):输出门决定从细胞状态中提取出哪些信息。它使用sigmoid函数来决定输出门的打开程度,并使用tanh函数将细胞状态的值进行缩放。最后,通过输出门来生成LSTM单元的输出。

LSTM模型的公式可以表示为:

输入门:i(t) = sigmoid(W(i) * [h(t-1), x(t)] + b(i))

遗忘门:f(t) = sigmoid(W(f) * [h(t-1), x(t)] + b(f))

更新细胞状态:C(t) = f(t) * C(t-1) + i(t) * tanh(W(c) * [h(t-1), x(t)] + b(c))

输出门:o(t) = sigmoid(W(o) * [h(t-1), x(t)] + b(o))

输出隐藏状态:h(t) = o(t) * tanh(C(t))

其中,i(t) 是输入门的输出,f(t) 是遗忘门的输出,o(t) 是输出门的输出,C(t) 是细胞状态的值,h(t) 是隐藏状态(LSTM单元的输出)的值,W(i),W(f),W(c),W(o) 是权重矩阵,b(i),b(f),b(c),b(o) 是偏置项向量,x(t) 是当前时间步的输入数据,h(t-1) 是上一时间步的隐藏状态。

4.2.2 LSTM模型实现步骤思路

LSTM模型被应用于温度预测。通过数据预处理、序列创建、模型定义、训练、评估和预测等步骤,可以得到准确的温度预测结果,并通过评估指标来评估模型的性能。这样的温度预测结果对于气象预测和决策制定具有重要意义。

4.2.3 数据预处理

通过将日期字段的时间部分去除,并按日期对数据进行排序和索引设置,确保日期被正确解析和排序。然后,使用StandardScaler对最高温度数据进行标准化。

4.2.4 序列创建

定义了一个create_sequences函数,用于创建序列数据。该函数根据给定的序列长度,将输入数据切割成输入序列和目标序列,并返回这些序列的数组形式。使用create_sequences函数将训练集和测试集数据划分成输入序列和目标序列,并将其转换为张量类型。

4.2.5 模型定义训练

Attention类和DeepBiLSTMWithAttention类。Attention类用于计算注意力权重和上下文向量,DeepBiLSTMWithAttention类是深度双向LSTM模型,带有注意力机制。创建了最佳参数best_params,并使用这些参数创建了最佳模型best_model。同时,定义了优化器和损失函数。开始训练模型,在每个epoch中,遍历训练数据集,将输入数据传入模型进行前向传播和反向传播,并更新模型的参数。在每个epoch结束后,计算并打印训练损失。

4.2.6 模型评估和预测

使用测试数据集对训练好的模型进行评估。使用MSE损失函数计算测试损失,并打印出平均测试损失。使用best_model对测试数据集进行预测,并将预测结果和真实值反缩放回原始尺度。绘制了真实值和预测值之间的折线图,用于可视化模型的性能。

在此基础上,使用sklearn库的mean_squared_error、mean_absolute_error和r2_score函数计算了不同的评估指标,包括均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)和决定系数(R2)。如图4.2.7.1所示:

4.2.7.1评估指标结果图

最后,使用best_model对未来时间的温度进行预测,并将预测结果绘制成折线图。这些预测结果展示了从2021年1月到2023年10月的温度趋势。同理,最低温度预测也是如此。如图5.2.7.2所示:

4.2.7.2 2021年1月到2023年12月的温度预测的结果图

5 总结与展望

5.1 总结

基于时间序列模型分析重庆2021-2022年气温变化趋势的研究为提供了对该地区气温变化的深入理解。通过使用ARIMA和LSTM这两种常用的时间序列模型,可以得出以下结论:

首先,通过ARIMA模型分析,发现最高温度数据在2021年到2022年期间呈现出明显的季节性和趋势性变化。根据ADF检验结果,可以确认最高温度数据是非平稳的,并且需要进行差分处理才能达到平稳性。经过一阶差分后,最高温度数据变得平稳,然后选择最佳ARIMA模型为(3, 0, 1),对未来5天的最高温度进行了预测。预测结果显示了温度的整体趋势和变化。

其次,通过LSTM模型分析,可以捕捉到更复杂的时间序列特征。使用LSTM模型对最高温度数据进行训练和预测,得到了与ARIMA模型相似的结果。LSTM模型具有记忆单元和隐藏状态的结构,能够更好地捕捉时间序列中的长期依赖关系。通过引入注意力机制,LSTM模型还能够聚焦于关键的时间步,进一步提高了预测性能。

这两种模型的特色在于它们都可以根据历史数据进行预测,并且能够灵活地处理不同的时间序列特征。ARIMA模型适用于具有明显季节性和趋势性变化的数据,而LSTM模型能够更好地捕捉复杂的时间序列模式。此外,还对预测结果进行了评估,计算了常见的评估指标,如均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE),以评估模型的准确性。

5.2 展望

然而,这些模型也存在一些不足之处。首先,ARIMA模型对数据的平稳性要求较高,如果数据不满足平稳性条件,则需要进行差分或其他转换方法来处理。其次,LSTM模型对于参数的选择和调优比较困难,需要通过实验和经验来确定最佳的模型结构和超参数设置。此外,时间序列数据可能受到多种因素的影响,如季节性、趋势性、周期性和异常值等,模型在处理这些复杂情况时可能会出现挑战。

基于时间序列模型分析重庆2021-2022年气温变化趋势的研究实现了对气温数据的预测和分析。其特色在于能够根据历史数据捕捉时间序列的特征,并提供了关于未来气温变化的预测结果。然而,这些模型在处理非平稳数据和复杂时间序列模式时仍然存在一定的局限性,需要进一步的改进和调优。

相关文章:

【优秀python算法毕设】基于python时间序列模型分析气温变化趋势的设计与实现

1 绪论 1.1 研究背景与意义 在气候变化日益受到全球关注的背景下,天气气温的变化已经对人们的生活各方面都产生了影响,人们在外出时大多都会在手机上看看天气如何,根据天气的变化来决定衣物的穿着和出行的安排。[1]如今手机能提供的信息已经…...

掌握 Symfony 路由系统:配置与管理

掌握 Symfony 路由系统:配置与管理 Symfony 是一个非常流行的 PHP 框架,而路由系统是 Symfony 框架的核心组件之一。通过理解和掌握 Symfony 的路由系统,开发者可以更高效地配置和管理应用程序的 URL 结构,从而更好地控制应用程序…...

OpenTeleVision复现及机器人迁移

相关信息 标题 Open-TeleVision: Teleoperation with Immersive Active Visual Feedback作者 Xuxin Cheng1 Jialong Li1 Shiqi Yang1 Ge Yang2 Xiaolong Wang1 UC San Diego1 MIT2主页 https://robot-tv.github.io/链接 https://robot-tv.github.io/resources/television.pdf代…...

气膜足球馆:经济高效的室内足球场馆解决方案—轻空间

如果你有一片足球场,想要建一个室内的足球馆,为什么不考虑一下气膜建筑呢?气膜建筑以其独特的优势和高性价比,成为现代体育场馆建设中的一匹黑马。它不仅具有传统建筑无法比拟的经济效益和快速施工优势,还在智能控制、…...

Vue3二次封装axios

官网: https://www.axios-http.cn/docs/interceptors steps1: 安装 npm install axios -ssteps2: /src/api/request.js 文件 >>> 拦截器 import axios from axios // 如果没用element-plus就不引入 import { ElMessage } from element-plusconst service axios.cre…...

【MetaGPT系列】【MetaGPT完全实践宝典——多智能体实践】

目录 前言一、智能体1-1、Agent概述1-2、Agent与ChatGPT的区别 二、多智能体框架MetaGPT2-1、安装&配置2-2、使用已有的Agent(ProductManager)2-3、多智能体系统介绍2-4、多智能体案例分析2-4-1、构建智能体团队2-4-2、动作/行为 定义2-4-3、角色/智…...

C#中GridControl的数据源双向绑定

1. 什么是双向数据绑定? 双向数据绑定是一种允许我们创建持久连接的技术,使模型数据和用户界面(UI)之间的交互能够自动同步。这意味着当模型数据发生变化时,UI会自动更新,反之亦然。这种双向数据绑定极大地简化了UI和模型数据之间…...

sklearn详细基础教程(科普篇)

Scikit-learn(简称sklearn)是Python中一个强大且易于使用的机器学习库,它基于NumPy、SciPy和matplotlib等Python库构建,提供了丰富的工具集,包括数据预处理、特征选择、模型训练、评估和预测等功能。以下是sklearn的详…...

el-table列的显示与隐藏

需求:实现 表字段的显示与隐藏。效果图 代码实现 写在前面 首先 我部分字段有自定义的排序逻辑,和默认值或者 数据的计算 所以是不能简单的使用 v-for 循环column 。然后 我需要默认展示一部分字段,并且 当表无数据时 提示不能 显示隐藏 …...

使用命令快速删除项目中的node_modules

描述 直接调用了系统自带的命令行工具,无需额外安装任何第三方库或工具。 同时,这些命令经过优化,能够快速处理大量文件,从而实现快速删除。 步骤 1、进入项目文件夹; 2、如果是Mac/Linux 环境下,执行&a…...

leetCode15三数之和(双指针)

目录 1、题目 2、思路 3、代码 4、总结 1、题目 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为…...

数据挖掘-数据预处理

来自🥬🐶程序员 Truraly | 田园 的博客,最新文章首发于:田园幻想乡 | 原文链接 | github (欢迎关注) 文章目录 3.3.1 数据的中心趋势平均数和加权平均数众数,中位数和均值描述数据的离散程度 &a…...

【调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gitee 仓库的 URL】

调试笔记-系列文章目录 调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gitee 仓库的 URL 文章目录 调试笔记-系列文章目录调试笔记-20240723-Linux-gitee 仓库同步 github 仓库,并保持所有访问链接调整为指向 gite…...

《GPT-4o mini:开启开发与创新的新纪元》

在科技发展的快速进程中,OpenAI 推出的 GPT-4o mini 模型如同一阵春风,给开发者们带来了新的希望和机遇。它以其卓越的性能和极具吸引力的价格,成为了行业内热议的焦点。 当我首次听闻 GPT-4o mini 的消息时,内心充满了好奇与期待…...

生成树协议配置与分析

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、相关知识 1、生成树协议简介 生成树协议(STP)是一种避免数据链路层逻辑环路的机制,它通过信息交互识别环路并…...

Golang | Leetcode Golang题解之第287题寻找重复数

题目: 题解: func findDuplicate(nums []int) int {slow, fast : 0, 0for slow, fast nums[slow], nums[nums[fast]]; slow ! fast; slow, fast nums[slow], nums[nums[fast]] { }slow 0for slow ! fast {slow nums[slow]fast nums[fast]}return s…...

【音视频SDL2入门】创建第一个窗口

文章目录 前言创建窗口的流程需要使用的函数1. 初始化 SDL 库2. 创建 SDL 窗口3. 获取与窗口关联的表面SDL_FillRect 函数介绍4. 更新窗口表面5. 延迟一定时间6. 销毁窗口并退出 SDL 库示例代码总结 前言 SDL2(Simple DirectMedia Layer)是一个跨平台的…...

《置身事内:中国政府与经济发展》生活过得好一点,比大多数宏伟更宏伟

《置身事内:中国政府与经济发展》生活过得好一点,比大多数宏伟更宏伟 兰小欢,复旦大学中国社会主义市场经济研究中心、经济学院副教授,上海国际金融与经济研究院研究员。美国弗吉尼亚大学经济学博士。 上海人民出版社 文章目录 《…...

MongoDB教程(十八):MongoDB MapReduce

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MapRed…...

HTML前端面试题之<iframe>标签

面试题:iframe 标签的作用是什么?有哪些优缺点 ? 讲真,刷这道面试题之前我根本没有接触过iframe,网课没讲过,项目实战没用过,但却在面试题里出现了!好吧,我只能说:前端路漫漫&…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

爬虫基础学习day2

# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

日常一水C

多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...