时间序列分析2|ARIMA模型|SARIMA模型

ARMA模型的定阶

自相关和偏自相关系数法

通过观察样本的自相关系数(ACF)和偏自相关系数(PACF),进行大体的判断
![[Pasted image 20240820155402.png]]

模型定阶的经验方法

截尾:

  1. 最初的d阶样本(偏)自相关系数明显在2倍标准差范围外
  2. 95%的(偏)自相关系数都落在2倍标准差的范围以内
  3. 非零自相关系数衰减为小值波动的过程非常突然
    这时,通常视为d阶截尾
    ![[Pasted image 20240820165338.png]]

拖尾:

  1. 有超过5%的相关系数落在2倍标准差范围之外
  2. 显著非零的相关系数衰减为小值波动的过程比较缓慢或者非常连续
    通常视为相关系数拖尾
    ![[Pasted image 20240820165638.png]]

缺点

  1. 由于样本随机性,§ACF是截尾还是拖尾有时仍然会难以准确判断
  2. ARMA(p.,q)模型阶数p和q一般难以准确判断,主观性强
信息准则函数定阶法

基于相关系数图形的定阶法具有很强的主观性,是一种较为粗略的方法
信息准则定阶法则可以帮助我们在一定标准下从待定模型中选择相对最优的模型

  1. AIC信息准则
    AIC准测函数(最小化)
    A I C ( K ) = − 2 ln ⁡ ( L ) + 2 K AIC(K)=-2\ln(L)+2K AIC(K)=2ln(L)+2K
    L是似然函数,K是模型参数个数
    简化为
    A I C ( K ) = n ln ⁡ ( σ ^ 2 ) + 2 K AIC(K)=n\ln(\hat{\sigma}^{2})+2K AIC(K)=nln(σ^2)+2K
    s i a m g ^ 2 \hat{siamg}^{2} siamg^2是模型误差方差的ML估计(每一个样本的对应的拟合的误差的平方和再除以自由度),n是样本个数
    说明:
  • 既考虑模型预测准确性(第一项),也考虑模型本身的复杂程度(第二项)
  • 在一定程度上避免过拟合
  • 但是,当样本数量n较大时,更倾向于选择更高阶模型。
  1. BIC信息准则
    BIC准测函数(最小化)
    B I C ( K ) = − 2 ln ⁡ ( L ) + ln ⁡ ( n ) K BIC(K)=-2\ln(L)+\ln(n)K BIC(K)=2ln(L)+ln(n)K
    L是似然函数,K是模型参数个数
    说明:
  • 既考虑模型预测准确性(第一项),也考虑模型本身的复杂程度(第二项)
  • 与AIC相比,BIC进一步加大了对模型复杂性的惩罚
  • 更加倾向于选择参数少的简单模型

ARIMA模型的概念

非平稳时间序列

在实际应用中,经常会遇见不满足平稳性的时间序列,尤其在经济领域和商业领域中,多数时间序列都是平稳的

时间序列模型

平稳时间序列

  • 特征:均值、方差,自协方差都是稳定的,与起止时间无关。
  • 建模:ARMA模型
    非平稳时间序列
  • 特征:均值非平稳,方差和自协方差非平稳
  • 处理方法:差分运算,平稳化变换等
  • 建模:ARIMA模型,SARIMA模型
    均值非平稳
    均值非平稳性
  • 特征:均值时变
    常用模型
  • 确定性趋势模型:把时间t作为自变量,序列观测值作为因变量,建立
    序列值随时间变化的回归模型
  • 随机趋势模型:差分运算、ARIMA模型,SARIMA模型
差值运算

一阶差分
∇ X t = X t − X t − 1 = ( 1 − B ) X t \nabla X_{t}=X_{t}-X_{t-1}=(1-B)X_{t} Xt=XtXt1=(1B)Xt
d阶差分
∇ d X t = ∇ d − 1 X t − ∇ d − 1 X t − 1 = ( 1 − B ) d X t \nabla^{d}X_{t}=\nabla^{d-1}X_{t}-\nabla^{d-1}X_{t-1}=(1-B)^{d}X_{t} dXt=d1Xtd1Xt1=(1B)dXt
k步差分
∇ k X t = X t − X t − k = ( 1 − B k ) X t \nabla_{k}X_{t}=X_{t}-X_{t-k}=(1-B^{k})X_{t} kXt=XtXtk=(1Bk)Xt

  • 差分方法是一种非常简便、有效的确定性信息提取方法
  • 差分运算的实质是使用自回归的方式提取确定性信息
    ∇ d X t = ( 1 − B ) d X t = ∑ i = 0 d ( − 1 ) i ( d i ) X t − i \nabla^{d}X_{t}=(1-B)^{d}X_{t}=\sum_{i=0}^{d}(-1)^{i}\begin{pmatrix} d \\ i \end{pmatrix}X_{t-i} dXt=(1B)dXt=i=0d(1)i(di)Xti
    实际中,很多非平稳时间序列都可以通过适当的差分运算,转化为平稳序列
  • 蕴含着显著线性趋势的序列,一阶差分就可以实现趋势平稳;
  • 蕴含着曲线趋势的序列,通常低阶(二阶或三阶)差分就可以提取出曲
    线趋势的影响,实现趋势平稳;
  • 对于蕴含着固定周期的序列,通过步长为周期长度的差分,提取出周
    期的影响,实现趋势平稳。
ARIMA模型的定义

如果时间序列 { X t } \left\{ X_{t}\right\} {Xt}的d阶差分 Y t = ( 1 − B ) d X t Y_{t}=(1-B)^{d}X_{t} Yt=(1B)dXt是一个平稳的ARMA(p,q)序列,其中 d ≥ 1 d\ge 1 d1是整数,则称 X t X_{t} Xt为具有阶p,d和q的ARIMA模型
记为
X t ∼ A R I M A ( p , d , q ) X_{t}\sim ARIMA(p,d,q) XtARIMA(p,d,q)
ARIMA模型的结构
{ Φ ( B ) ∇ d X t = Θ ( B ) ε t ε t ∼ N ( 0 , σ 2 ) E ( X s ε t ) = 0 , ∀ s < t \left\{\begin{matrix} \Phi(B)\nabla^{d}X_{t}=\Theta(B)\varepsilon_{t} \\ \varepsilon_{t}\sim N(0,\sigma^{2}) \\ E(X_{s}\varepsilon_{t})=0, \forall s<t \end{matrix}\right. Φ(B)dXt=Θ(B)εtεtN(0,σ2)E(Xsεt)=0,s<t
其中
∇ d = ( 1 − B ) d \nabla^{d}=(1-B)^{d} d=(1B)d
ARMA(p,q)的自回归系数多项式
Φ ( B ) = 1 − ϕ 1 B − ϕ 2 B 2 − ⋯ − ϕ p B p \Phi(B)=1-\phi_{1}B-\phi_{2}B^{2}-\dots-\phi_{p}B^{p} Φ(B)=1ϕ1Bϕ2B2ϕpBp
ARMA(p,q)的移动平均系数多项式
Θ ( B ) = 1 − θ 1 B − θ 2 B 2 − ⋯ − θ q B q \Theta(B)=1-\theta_{1}B-\theta_{2}B^{2}-\dots-\theta_{q}B^{q} Θ(B)=1θ1Bθ2B2θqBq
ARIMA模型的实质就是差分运算与ARMA模型的组合
ARIMA模型的使用场合:差分平稳序列的建模问题

ARIMA模型的B-J建模方法

ARIMA模型的Box-Jenkins建模思想

Box-Jenkins建模思想可分为如下4个步骤:

  1. 对原序列进行平稳性检验,如果序列不平稳,通过差分变换或者其他变换,使序列平稳;
  2. 通过相关系数法或信息准则法,确定ARMA模型的阶数p和q;
  3. 估计模型的未知参数,并检验参数的显著性,以及模型本身合理性
  4. 进行诊断分析,残差检验。
    ![[Pasted image 20240821105732.png]]
建模过程中的检验

建模过程中需要一些必要的检验工作:

  1. 时间序列数据的平稳性检验
  2. 残差序列的白噪声检验
  3. 模型参数的显著性检验(参数对应的t统计量及相伴概率)
时间序列数据的平稳性检验

采用单位根检验,可基于两种方法实现:

  1. Augmented Dickey-Fuller(ADF)检验
  2. Phillips-Perron(PP)检验
[h, p] = adftest(X, 'Alpha', alpha)
[h, p] = pptest(X, 'Alpha', alpha)

在置信度alpha下,检验时序数据X是否趋势平稳
(原假设Ho:有单位根,不平稳)
h=0表示接受原假设, 即X不平稳;
h=1表示拒绝原假设, 即可以认为×平稳;
p为统计量的相伴概率。
p < α , h = 1 ; p<\alpha,\qquad h=1; p<α,h=1;

残差序列的白噪声检验

主要检验残差序列是否为白噪声序列,是否存在自相关性。这里介绍Ljung-Box Q方法:

[h, p] = lbqtest(res, 'Alpha', alpha)

在置信度alpha下,检验残差序列res是否存在自相关性
(原假设Ho:不存在自相关性,是白噪声序列)
h=0表示接受原假设, 即认为res是白噪声序列;
h=1表示拒绝原假设, 即认为res不是白噪声序列;
p为统计量的相伴概率。
p < α , h = 1 ; p<\alpha,\qquad h=1; p<α,h=1;

ARIMA模型建模实例

![[Pasted image 20240821111648.png]]

平稳性检验

Matlab代码(ARIMASample.m)

load data_CPI
y = dataCPI;
T = length(y);  %序列长度%%(1)平稳性检验
% 可视化分析法
figure(1), plot(1:T, y) 

![[Pasted image 20240821113036.png]]

%单位根检验法
[h,p] = adftest(y);

h = 0
p = 0.999
接受原假设,y 序列非平稳

差分运算
%%(2)差分运算
diff_y = diff(y);%一阶差分运算 
figure(2), plot(diff_y)

![[Pasted image 20240821113719.png]]

[h, p] = adftest(diff_y); %平稳性adf检验

h = 1
p = 0.0241
拒绝原假设,可以认为,diff_y序列平稳

模型定阶
%% (3) 模型定阶
figure(3), autocorr(diff_y); %自相关系数图
figure(4), parcorr  (diff_y); %偏自相关系数图

![[Pasted image 20240821114044.png]]

  • 自相关图中1,2,3,4阶显著不为0
  • 偏自相系数中1,2阶显著不为0
  • difff_y序列可以尝试建立:AR(2)、MA(4)、ARMA(2.4)等模型
  • 原序列可以尝试建立:ARIMA(0,1,4)、ARIMA(2,1.0)、ARIMA(2,1,4)等模型

ARIMA(2,1,0)

拟合ARIMA模型
%%(4)拟合ARIMA(2.1,0)模型 
mdl = arima(2, 1, 0);
EstMdl210 = estimate(mdl, y);

ARIMA(2,1,0) Model:
Value             TStat             PValue
Constant                0.0101             3.071            0.002
AR{1}                      0.212               2.222           0.026
AR{2}                      0.337              3.250           0.001
Variance                 9.230e-05      8.307           9.850e-17

模型参数显著性检验
%%(5)模型参数显著性检验
%观察t统计量以及相伴概率

模型参数显著性检验:
模型参数AR{1},AR{2}检验的t统计量相伴概率p值都小于0.05,模型参数显著。

残差的白噪声检验
%%(6)残差的白噪声检验
% 检验残差是否为白噪声序列,是否存在相关性
res = infer(EstMdl, y); %残差序列
%可视化分析 
figure(5),
subplot(2,2,1), plot(res./sqrt(EstMdl.Variance))
subplot(2,2,2), qqplot(res) 
subplot(2,2,3), autocorr(res) 
subplot(2,2,4), parcorr(res)

![[Pasted image 20240821135157.png]]

res序列是白噪声序列,不存在自相关性

模型白噪声检验
%%(6)模型白噪声检验
% 检验残差是否为白噪声序列,是否存在自相关性
% Ljung-Box Q (lbq) 检验
[h,p] = lbqtest(res)

h = 0
p = 0.28
接受原假设,即可以认为res序列是白噪声序列,不存在自相关性
所建立的ARIMA(2,1,0)模型,较好地实现了原数据序列规律的学习,可以用于进一步预测分析

ARIMA(2,1,4)

%%(4)拟合ARIMA(2.1,4)模型
mdl = arima(2, 1, 4);
EstMdl214 = estimate(mdl, y);%%(5)模型参数显著性检验
%观察t统计量以及相伴概率

![[Pasted image 20240821140040.png]]

模型AR(1),MA(3)不显著

剔除AR(1)
mdl = arima('ARLags', [2], ...
'D', 1, ...
'MALags',[1:4]);
EstMdl214n1 = estimate(mdl, y);

![[Pasted image 20240821140238.png]]

模型参数显著性检验:模型MA{2} MA{3}的系数不显著

剔除MA(3)
mdl = arima('ARLags', [2], ...
'D', 1, ...
'MALags',[1,2,4]);
EstMdl214n2 = estimate(mdl,y);

![[Pasted image 20240821140522.png]]

模型参数都是显著的

模型合理性检验
%%模型合理性检验
%检验残差是否为白噪声序列,是否存在自相关性
res214n2 = infer(EstMdl214n2, y); %残差序列%Ljung-BoxQ(lbq)检验
[h, p] = lbqtest(res214n2)

h =0
p = 0.8720
接受原假设,即可以认为res214n2序列是白噪声序列,不存在自相关性
修正后的ARIMA(2,1,4)模型,也较好地实现了原数据序列规律的学习,可以用于进一步预测分析

基于AIC,BIC信息准则分析模型优劣

%%AIC/BIC的计算
mdl = arima(2, 1, 0);
[EstMdl, EstParamCov, LogL, info] = estimate(mdl, y);
[AICValue, BICValue] = aicbic(LogL, length(info.X), length(y))
  • EstMdl,训练好的模型
  • EstParamCov,带估计的所有参数的协方差矩阵
  • LogL,模型的最大自然函数
  • info,模型的结构变量
  • info.X,表示所有的待定参数组成的向量
  • length(info.X),待定参数的个数
  • length(y),样本个数n
    结果:
    AICValue = -488.8444
    BICValue = -479.4691
    ![[Pasted image 20240821142507.png]]
结果:

AIC准则下
ARIMA(2,1,4)优于其它模型
BIC准则下:
ARIMA(2,1,0) ARIMA([2],1,4)
ARIMA([2],1,[1,2,4]) 优于其它模型
以上模型都是可接受的

模型预测
%%(7)模型预测
[yF, yMSE] = forecast(EstMdl210, 20, 'Y0', y); 
UB = yF + 1.96*sqrt(yMSE); %95%置信区间上限 
LB = yF - 1.96*sqrt(yMSE; %95%置信区间下限 
figure(6), hold on, plot(y, 'Color', [.75,.75,.75]); plot(T+1 : T+20, yF, 'r');
plot(T+1 : T+20, UB, 'k--', T+1 : T+20, LB, 'k--')
legend('CPI',预测值','95%置信区间) 
title('CPI预测值')
  • forecast,模型预测
  • EstMdl210,训练好的模型
  • 20,向后预测的步数
  • Y0, y,指定时间序列模型最初的初始化序列数据
  • yF,预测值
  • yMSE,与每一个预测值对应的MSE的值,误差的平方的平均值
    ![[Pasted image 20240821143927.png]]

SARIMA模型及建模实例

季节波动时间序列

在某些时间序列中,由于季节性变化(包括季度、月度、周度等变化)或其他一些固有因素的变化,会存在一些明显的周期性,这类序列称为季节性序列
描述这类序列的模型之一是季节时间序列模型(seasonal ARIMA model),用SARIMA表示

季节时间序列的重要特征

处理季节性时间序列的一个重要工具:

  • 季节差分(s步差分):可消除周期性变化
    ∇ s X t = ( 1 − B s ) X t = X t − X t − s \nabla_{s}X_{t}=(1-B^{s})X_{t}=X_{t}-X_{t-s} sXt=(1Bs)Xt=XtXts
    对于非平稳季节性时间序列,有时需要进行D次季节差分之后才能转换为平稳的序列。
    ∇ s D X t = ( 1 − B s ) D X t \nabla_{s}^{D}X_{t}=(1-B^{s})^{D}X_{t} sDXt=(1Bs)DXt
季节时间序列(SARIMA)模型
  • 随机季节模型
  • 乘积季节模型
    简单季节模型(一种相对简单的情形)
    简单季节模型是指序列中的季节效应和其它效应之间是加法关系
    通过简单的趋势差分、季节差分之后序列即可转化为平稳
    模型形式可表示为:
    Φ ( B ) ∇ s ∇ d X t = Θ ( B ) ε t \Phi(B)\nabla_{s}\nabla^{d}X_{t}=\Theta(B)\varepsilon_{t} Φ(B)sdXt=Θ(B)εt

![[Pasted image 20240821152640.png]]

  1. 平稳性检验
Matlab代码(SARIMASample) 
load data_GDP;
y = yGDP_1992_2007';
T = length(y); %序列长度%%(1)可视化分析(平稳性检验) 
figure(1)
plot(y, 'linewidth', 3)
title('1992-2017年中国季度GDP')

![[Pasted image 20240821152734.png]]

该数据有明显的增长趋势和季节性,季节周期长度为4
2. 差分运算

%%(2)差分运算
%增长趋势差分
diffD1_y = diff(y); 
figure(2),
plot(diffD1_y, '-o', 'linewidth', 1.5)
title('季度GDP一阶差分序列') 

![[Pasted image 20240821161738.png]]

%季节差分
diffD1S1_y = diffD1_y(5 : end) - diffD1_y(1 : end-4); 
figure(3),
plot(diffD1S1_y, '-o', 'linewidth', 1.5) 
title('季度GDP趋势和季节差分序列')

![[Pasted image 20240821161803.png]]

  1. 平稳性检验
%% (3)平稳性检验
[h, p] = adftest(diffD1S1_y);  %adf单位根检验

h = 1
p = 1.0000e-03
拒绝原假设,可以认为diffD1S1_y序列平稳
4. 模型定阶

%%(4)模型定阶(准则函数法) 
maxLags = 4;
AICSet = zeros(maxLags, maxLags); 
BICSet = zeros(maxLags, maxLags);
for p = 1:maxlags 
for q = 1:maxLagsmdl = arima('ARLags', [1:p], 'MALags', [1:q]);[EstMdl, EstParamCov, LogL, info] = estimate(mdl, diffD1S1_y);[AICSet(p, q), BICSet(p, q)] = aicbic(LogL, length(info.X), length(diffD1S1_y));
end 
end
figure(4), heatmap(AlCSet/1000) 
figure(5), heatmap(BICSet/1000)

![[Pasted image 20240821163325.png]]
![[Pasted image 20240821163337.png]]

原序列x可用SARIMA(4,1,3)建模
5. 拟合SARIMA(4,1,3)模型

%% (5)拟合SARIMA(4,1.,)模型
mdl = arima('Seasonality', 4,...
'D', 1,...
'ARLags', 1:4,... 
'MALags', 1:3)
[EstMdl] = estimate(mdl, y);

![[Pasted image 20240821163529.png]]

SARIMA(4,1,3)模型具体形式
Φ ( B ) ∇ 4 ∇ 1 X t = c + Θ ( B ) ε t \Phi(B)\nabla_{4}\nabla^{1}X_{t}=c+\Theta(B)\varepsilon_{t} Φ(B)41Xt=c+Θ(B)εt
其中
c = 182.23 c = 182.23 c=182.23
Φ ( B ) = 1 − 0.31 B − 0.30 B 2 − 0.27 B 3 + 0.69 B 4 \Phi(B)=1-0.31B-0.30B^{2}-0.27B^{3}+0.69B^{4} Φ(B)=10.31B0.30B20.27B3+0.69B4
Θ ( B ) = 1 − 0.68 B − 1.02 B 2 − 0.65 B 3 \Theta(B)=1-0.68B-1.02B^{2}-0.65B^{3} Θ(B)=10.68B1.02B20.65B3
6. 残差白噪声检验

%%(6)残差白噪声检验
res = infer(EstMdl,y);%残差序列%Ljung-BoxQ(lbq)检验
[h,p] =lbqtest(res)

h=0
p = 0.4210
接受原假设,即可以认为res序列是白噪声序列,不存在自相关性
可以认为所建SARIMA模型实现了原数据序列总体规律的学习,可用于进一步的预测分析
7. 模型预测

[yF, yMSE] = forecast(EstMdl, 20, 'Y0', y');
UB = yF + 1.96*sqrt(yMSE); %95%置信区间上限 
LB = yF - 1.96*sqrt(yMSE); %95%置信区间下限 
figure(6),hold on
plot(y, 'Color', [.75, .75, .75]); 
plot(T+1 : T+20, yF, 'r');
plot(T+1 : T+20, UB, 'k:', T+1 : T+20, LB, 'k:')
legend('GDP', '预测值','95%置信区间') 
title('GDP预测')

![[Pasted image 20240821164545.png]]

预测曲线能够很好地反映原时间序列数据中的增长趋势和季节变化趋势

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】通用的语义-几何表征的机器人操作

文章目录 1. 【2023CoRL】A Universal Semantic-Geometric Representation for Robotic Manipulation针对痛点和贡献引言模型框架思考不足之处 2. Leveraging Locality to Boost Sample Efficiency in Robotic Manipulation摘要和结论引言模型框架实验思考不足之处 1. 【2023Co…

ES6-ES13学习笔记

目录 初识ES6 变量声明 解构赋值 对象解构 ​编辑 数组解构 ​编辑模版字符串 字符串扩展 includes() repeat() startsWith() endsWith() 数值扩展 二进制和八进制表示法 &#xff08;Number.&#xff09;isFinite()与isNaN() Number.isInteger() Math.trunc …

Leetcode JAVA刷刷站(69)x的平方根

一、题目概述 二、思路方向 在Java中&#xff0c;计算一个非负整数x的算术平方根&#xff0c;并返回其整数部分&#xff0c;你可以使用二分查找法。这是因为平方根函数是单调递增的&#xff0c;所以我们可以利用二分查找在合理的时间复杂度内找到结果。 三、代码实现 public…

Matplotlib入门与进阶:数据可视化的强大工具

Matplotlib入门与进阶&#xff1a;数据可视化的强大工具 在当今数据驱动的世界中&#xff0c;数据可视化成为了数据分析的重要一环。数据可视化不仅能够帮助开发者理解和分析数据&#xff0c;还能使数据展示更具说服力。本文将详细介绍Python中的2D绘图库——Matplotlib。通过…

Python自准直仪双筒望远镜光学ABCD矩阵行为算法

&#x1f3af;要点 &#x1f3af;平面&#xff1b;曲面&#xff1b;圆柱面&#xff1b;非球面光&#xff0c;双凸透镜&#xff1b;90 度棱镜&#xff1b;分束立方体&#xff0c;双透镜棱&#xff1b;镜分光镜光线&#xff1b;横置隔膜&#xff1b;全内反射&#xff1b;多个分束…

作业08.21

服务器&#xff1a; #include <myhead.h>#define SER_PORT 6666 #define SER_IP "127.0.0.1"int find_client(int *client_arr, int len, int client) {for(int i0; i<len; i){if(client_arr[i] client){return i;}}return -1; }void remove_client(int *…

python爬虫--pyquery解析库整理

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理python的爬虫解析库pyquery的语法 简洁快速的整理&#xff0c;建议有前端基础的人看 pyquery解析原理 pyquery的原理就是拿到网站的前端源码后&#xff0c;我们根据我们需求信息所在的标签进行筛选。 选…

漏洞挖掘 | 记一次edusrc--轻松拿下中危信息泄露

1.前言 也是一次漏洞挖掘的思路分享 上次我们讲过了关于小程序方面的一些小思路&#xff0c;即关于抓包更改id号造成的一个信息泄露&#xff0c;但是在小程序上的信息泄露很难涉及到公民三要素这是一个痛点&#xff0c;今天就来分享一下一次edu挖掘时挖到的一个涉及公民三要素…

【云备份】项目总结

文章目录 项目总结项目总结项目扩展:常见问题: 项目总结 项目总结 搭建云备份服务器与客户端&#xff0c;客户端程序运行在客户机上自动将指定目录下的文件备份到服务器&#xff0c;并且能够支持浏览器查看与下载&#xff0c;其中下载支持断点续传功能&#xff0c;并且服务器端…

kubernetes的pod基础

kubernetes的pod基础 pod概念 pod&#xff08;豆荚&#xff09;&#xff0c;是k8s的最小管理单元。是一个或多个容器的组合&#xff0c;这些容器共享存储&#xff0c;网络和命名空间&#xff0c;以及运行规范&#xff0c;pod内的容器统一的进行安排和调度。pod是一组具有共享命…

【TCP/IP】自定义应用层协议,常见端口号

互联网中&#xff0c;主流的是 TCP/IP 五层协议 5G/4G 上网&#xff0c;是有自己的协议栈&#xff0c;要比 TCP/IP 更复杂&#xff08;能够把 TCP/IP 的一部分内容给包含进去了&#xff09; 应用层 可以代表我们所编写的应用程序&#xff0c;只要应用程序里面用到了网络通信…

进程间的通信3——IPC对象通信->共享内存、网络通信

一、共享内存 1、原理 直接对实际物理内存进行操作&#xff0c;不用先拷贝到用户空间再到内核空间&#xff08;物理内存&#xff09;。 2、特点 &#xff08;1&#xff09;共享内存是一块内核预留的空间&#xff1b; &#xff08;2&#xff09;最高效的通信方式。 3、操作 产…

springboot+Quartz通过数据库控制定时任务执行与时间

前言 在我们的springboot项目中&#xff0c;有很多种实现定时任务的方式 有用最简单的 Scheduled 实现定时任务,即&#xff1a; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;Component EnableScheduling p…

【RTT-Studio】详细使用教程十三:UART的DMA 接收及轮询发送

文章目录 一、简介二、RTT配置三、使用信号量接收四、使用消息队列接收五、测试验证 一、简介 串口是指数据一位一位地顺序传送&#xff0c;其特点是通讯线路简单&#xff0c;只要一对传输线就可以实现双向通信&#xff08;可以直接利用电话线作为传输线&#xff09;&#xff0…

我的创作纪念日【2048】

机缘 2048&#xff0c;是计算机二进制世界里很奇妙的数字&#xff0c;在CSDN上创作的第六年&#xff0c;记录从事本行业的知识学习与总结&#xff0c;好记性不如烂笔头&#xff0c;或许写的东西不如大佬的文章&#xff0c;那么有深度&#xff0c;但自己也是在坚持&#xff0c;…

自动微分autograd实践要点

目录 定义Value手动定义每个 operator 的 _backward() 函数构建反向传播计算链 本文主要参考 反向传播和神经网络训练 大神Andrej Karpathy 的“神经网络从Zero到Hero 系列”之一&#xff0c;提炼一些精要&#xff0c;将反向传播的细节和要点展现出来 定义Value 第一步首先要…

传知代码-自动化细胞核分割与特征分析(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 引言 细胞核分割和分类在医学研究和临床诊断中具有重要意义。精准的细胞核分割能够帮助医生更好地识别和分析细胞核的形态学特征&#xff0c;从而辅助疾病诊断、癌症检测以及药物研发。HoverNet是一种基于深度学…

【GitLab】使用 Docker engine安装 GitLab 2: gitlab-ce:17.3.0-ce.0 拉取

ce版本必须配置代理。 极狐版本可以直接pull 社区版GitLab不支持Alibaba Cloud Linux 3,本操作以Ubuntu/Debian系统为例进行说明,其他操作系统安装说明,请参见安装社区版GitLab。 docker 环境重启 sudo systemctl daemon-reload sudo systemctl restart docker脚本安装 安裝…

苹果手机微信聊天记录删除了怎么恢复?

在日常使用手机的过程中&#xff0c;我们经常会遇到误删微信聊天记录的情况&#xff0c;尤其是对于那些重要的对话记录&#xff0c;一旦丢失可能会带来不小的困扰。今天&#xff0c;我们就来探讨一下如何在苹果手机上恢复被删除的微信聊天记录。 一、利用第三方数据恢复工具 对…

拓客工具,助你多维度筛选客源!

随着大数据与人工智能技术的飞速发展&#xff0c;企业拓客的方式也迎来了前所未有的变革。在这里将分享如何利用拓客工具&#xff0c;在任意行业中精实现高效拓客。 一、高级搜索&#xff1a;最新企业&#xff01; 传统的客户开发方式往往依赖于广撒网式的营销手段&#xff0c;…