分布滞后线性和非线性模型(DLNM)分析空气污染(臭氧)、温度对死亡率时间序列数据的影响...

news2024/9/24 9:17:23

全文下载链接 http://tecdat.cn/?p=23947 

分布滞后非线性模型(DLNM)表示一个建模框架,可以灵活地描述在时间序列数据中显示潜在非线性和滞后影响的关联。该方法论基于交叉基的定义,交叉基是由两组基础函数的组合表示的二维函数空间,它们分别指定了预测变量和滞后变量的关系。本文在R软件实现DLNM,然后帮助解释结果,并着重于图形表示。本文提供指定和解释DLNM的概念和实践步骤,并举例说明了对实际数据的应用点击文末“阅读原文”获取完整代码数据

关键字:分布滞后模型,时间序列,平滑,滞后效应,R。

相关视频

1.简介

统计回归模型的主要目的是定义一组预测变量与结果之间的关系,然后估计相关影响。当依赖项显示某些滞后影响时,会进一步增加复杂性:在这种情况下,预测变量的发生(我们称其为暴露事件)会在远远超出事件周期的时间范围内影响结果。此步骤需要定义更复杂的模型以表征关联,并指定依赖项的时间结构。

1.1 概念框架

对滞后效应的适当统计模型的说明及其结果的解释,有助于建立适当的概念框架。这个框架的主要特点是定义了一个额外的维度来描述关联,它指定了暴露和结果之间在滞后维度上的时间依赖性。这个术语,借用了时间序列分析的文献,代表了评估影响滞后时暴露事件和结果之间的时间间隔。在长时间暴露的情况下,数据可以通过等距时间段的划分来构造,定义一系列暴露事件和结果实现。这种划分也定义了滞后单位。在这个时间结构中,暴露-反应关系可以用两种相反的观点中的任何一种来描述:我们可以说一个特定的暴露事件对未来的多个结果产生影响,或者说一个特定的结果可以用过去多个暴露事件的贡献来解释。然后,可以使用滞后的概念来描述向前(从固定结果到未来结果)或向后(从固定结果到过去的结果)的关系。

最终,滞后效应统计模型的主要特征是它们的二维结构:该关系同时在预测变量的通常空间和滞后的维度上进行描述。

1.2 分布滞后模型

最近,在评估环境压力因素的短期影响的研究中已经解决了滞后影响的问题:一些时间序列研究报告说,暴露于高水平的污染或极端温度会在其发生后的几天内持续影响健康( Braga等,2001;Goodman等,2004;Samoli等,2009;Zanobetti和Schwartz,2008)。

给定定义的数据时间结构和简单的滞后维度定义,时间序列研究设计可提供多种优势来处理滞后影响,其中时间划分是由等间隔和有序的时间点直接指定的。在这种情况下,滞后效应可以用分布滞后模型(DLM)来优雅地描述,该模型最初是在计量经济学中开发的(Almon 1965),最近在环境因素研究中用于量化健康效应(Schwartz 2000; Zanobetti et al。2000; 2007)。Muggeo和Hajat,2009年)。通过这种方法,可以使用多个参数来解释在不同时滞下的影响,从而将单个暴露事件的影响分布在特定的时间段内,

1.3 本文目的

统计环境R提供了一组用于指定和解释DLNM结果的工具。本文的目的是提供该程序包函数的全面概述,包括函数的详细摘要以及以实际数据为例的示例。该示例涉及1987-2000年期间两个环境因素(空气污染(臭氧)和温度)对死亡率的影响。在本文中,我重新考虑了定义DLNM,预测效果并借助图形函数解释结果的主要概念和实践步骤。

2.非线性和滞后效应

在本节中,我介绍了时间序列模型的基本公式,然后介绍了描述非线性效应和滞后效应的方法,后者通过简单DLM的模型来描述。

2.1 基本模型

时间序列数据的模型通常可以表示为:

e54a2124e47cb978377d9794170f6714.png

其中µt≡E(Yt),Yt是t = 1时的一系列结果...,n,假设来自指数族的分布。函数sj指定变量xj和线性预测变量之间的关系,该变量由参数向量βj定义。变量uk包含具有由相关系数γk指定的线性效应的其他预测变量

之前描述的数据说明性示例中,结果Yt是每日死亡计数,假定是泊松分布,其中E(Y)= µ,V(Y)= φµ。

臭氧和温度的非线性和滞后影响通过函数sj建模,该函数定义了预测变量和滞后变量两个维度之间的关系

2.2 非线性暴露-反应关系

DLNM开发的第一步是定义预测变量空间中的关系。通常,非线性暴露-反应依赖性通过适当的函数s在回归模型中表示。在完全参数化的方法中,提出了几种不同的函数,每个函数都具有不同的假设和灵活性。主要选择通常依赖于描述光滑曲线的函数,例如多项式或样条函数(Braga等,2001;Dominici等,2004)。关于线性阈值参数化的使用(Muggeo 2010; Daniels et al。2000); 或通过虚拟参数化进行简单分层。

所有这些函数都对原始预测变量进行了转换,以生成包含在模型中作为线性项的一组转换变量。相关的基础函数包括原始变量x的一组完全已知的转换,这些转换生成一组称为基础变量的新变量。代数表示可以通过以下方式给出:

255fed59dcb14915cdcf6b8a98026644.png

定义DLNM的第一步是在函数mkbasis()中执行的,该函数用于创建基础矩阵Z。此函数的目的是提供一种通用的方式来包含x的非线性效应。举例来说,我建立了一个将所选基函数应用于向量bfeb58765d4f8c5c89319a38cab99b9e.png的基矩阵:

R> mkais(1:5, tpe = "s", df = 4, egree = 2, cenvlue = 3)

921849248b29e4c305d3211220baca0b.png

结果是一个列表对象,存储基础矩阵和定义该矩阵的自变量。在这种情况下,所选基准是具有4个自由度的二次样条,由参数类型df和度定义。

可以通过第二个参数类型选择不同类型的基础。可用的选项是自然三次方或简单的B样条(类型=“ ns”或“ bs”);虚拟变量层;多项式(“ poly”);阈值类型的函数和简单的线性(“ lin”)。参数df定义了基础的维数(基础的列数,基本上是转换后的变量的数目)。该值可能取决于参数“结点”。如果未定义,则默认情况下将结放置在等距的分位数上。自变量度数选择“ bs”和“ poly”的多项式度数。

参数cen和cenvalue用于使连续函数(类型“ ns”,“ bs”,“ poly”和“ lin”)的基准居中,如果未提供cenvalue,则默认为原始变量的均值。

2.3滞后效应

定义DLNM的第二步是指定函数,以对附加滞后维度中的关系进行建模,以实现滞后效果。在这种情况下,给定时间t的结果Yt可以用过去的暴露量xt-L来解释。给定最大滞后L时,附加滞后维度可以由n×(L +1)矩阵Q表示,例如:

6e502c43536181f63a583bccca2825cb.png

简单的DLM使用描述结果与滞后风险之间的依赖关系的函数来允许线性关系的滞后效应。

第二步通过函数mklagbasis()进行,该函数调用mkbasis()来构建基础矩阵C。例如:

R> mkgbais(mxlag =5,type ="strta", kots = c(2, 4))

0b8a1cdf81d2127cda864866fe03ed72.png

在此示例中,在通过第一个参数maxlag将最大滞后固定为5之后,滞后向量0:maxlag对应于5cd964eac294c5b505b4a675a4628165.png,将自动创建并应用所选函数。

3.定义DLNM

DLNM规范的最后一步涉及同时定义预测器和滞后两个维度中的关系。尽管非线性和滞后效应的术语不同,但这两个过程在概念上是相似的:定义表示相关空间中关系的基础。

然后,通过交叉基的定义来指定DLNM,交叉基是二维函数空间,同时描述了沿预测变量范围及其滞后维度的依存关系。首先,选择x的基函数得出Z,然后为x的每个基变量创建附加的滞后维度,从而生成一个a8bc4955623628f8cda774ed81b805c3.png数组R˙。通过定义的C,DLNM可以表示为:

8445092592b4c14245f1956e14a6fa87.png

选择交叉基等于如上所述选择两组基函数,将其组合以生成交叉基函数。这是通过函数crossbasis()执行的,该函数调用函数mkbasis()和mklagbasis()分别生成两个基本矩阵Z和C,而不是通过张量积将它们组合起来以产生W。可以使用此函数指定臭氧和温度的两个交叉基。相关代码为:

basi.o3 <- crossbasis(o3 varype= "hthr"
+ vnots = 40, laty = "sata", lanot = c(2,6), mag= 10)
bai.te <- crossbasis(tmp varype = "bs",
+ vrgre  3, vad = 6 cevalu = 25 ladf = 5, malag = 30)

在此示例中,臭氧的交叉基包括一个预测空间的阈值函数,线性关系超过40.3 µgr / m3,并且虚拟参数化假设沿滞后0-1、2-5和6-10的层具有恒定的分布滞后效应。相比之下,温度的选项是:以25摄氏度为中心的6 自由度的立方样条(默认为等距的结点),以及以5自由度的立方样条(默认为lagtype =“ ns”)(结为25℃)。默认情况下,最多30个滞后。

如果未设置中心值,则默认的中心点是预测变量的平均值(例如,对于上述温度的交叉基,温度为25℃)。该值代表来自DLNM的预期效果的参考。参考值的选择不影响模型的拟合,并且可以根据解释问题选择不同的值。

这些选择可以通过函数summary()进行检查。例如:

R> summary(basis.temp)

a9162c75ba38130d03a94f058230819b.png

为了估计相应参数η,可以在通用回归函数的模型公式中包括交叉基矩阵。在该示例中,最终模型还包括一个自然立方样条,以模拟季节性趋势和长期趋势分量,代码是:

odel <- glmdeath ~ bais.temp+ basis.o +ns(tim 7 * 14)  dw,
+ fmily = quasiposson())

4.根据DLNM进行预测

如第3节所示,DLNM的规范涉及暴露序列的复杂参数化,但是参数η的估算是使用常见的回归命令进行的。但是,定义沿两个维度的关系的此类参数的含义并不简单。可以通过预测在具有适当暴露值和L + 1滞后的网格上的滞后特定效果来辅助解释。此外,可以通过将滞后特定贡献相加来计算从滞后L到0持续暴露所预测的总体效果。预测的效果通过函数crosspred()在dlnm中计算。以下代码在示例中计算了对臭氧和温度的预测:

pre.o <- crosspred(basis, odel at = c(0:6,0., .3))

传递给crosspred()的前两个参数是“ crossbasis”类的对象和用于估计的模型对象。像上面的第一个示例一样,可以通过at参数直接指定必须为其预测效果的暴露值向量。在这里,我选择了臭氧中从0到65 µgr / m3的整数,再加上所选阈值的值和10个单位以上的值(分别为40.3和50.3 µgr / m3)。然后,该函数调用crossbasis()来构建预测基准,并根据模型中的参数生成预测效果和标准误差。结果是“ crosspred”类的列表对象,该对象存储了预测的效果。它包括滞后效应矩阵和总体效应向量,以及相应的标准误差矩阵和向量。如第5节所示。例如,臭氧增加10个单位的总体效果表示为RR和95%置信区间,可以通过以下公式得出:

R> pred.o3$allRRfit\["50.3"\]

446fac7d66cd0a12ebac78a305cb4f7c.png

R> cbind(lRlow,alRigh)\["50.3",\]

6f901a89882c7670ff8267312a887ddc.png

5.描述DLNM

由DLNM估算的二维暴露-反应关系可能难以概括。关联的图形表示提供了一般描述。调用高级函数plot.default(),persp()和filled.contour()来生成散点图,3-D和等高线图。例如,臭氧和死亡率之间的关系可以通过RR进行总结,即每次滞后会比阈值高出10 µgr / m3。该图如图1(左)所示,可通过以下方式获得:

0729541fce89d8ed3a00cdbfd4e5e16e.jpeg

图1:在阈值(40.3 µgr / m3)以上的臭氧增加10个单位时,滞后效应(左)和总体效应(右)对死亡率的影响。

R> plot(re.o3)

参数ptype =“ slices”指定图的类型,在这种情况下,沿着滞后空间在预测值var = 50.3处的预测效果矩阵的切片,对应于在40.3 µgr / m3的阈值之上增加了10个单位。自变量ci表示置信区间的图类型。如果使用cumul = TRUE,则绘制累积效果。

根据概念定义,可以使用两种不同的观点来读取图1中的左图:它表示在第t天以50.3 µgr / m3的臭氧进行单次暴露后,未来每一天的风险增加。


点击标题查阅往期内容

ec89db061edd34a25dd6752eedf1a7f6.jpeg

R语言分布滞后线性和非线性模型(DLMs和DLNMs)分析时间序列数据

outside_default.png

左右滑动查看更多

outside_default.png

01

71be19b11920bd100921b26951898285.png

02

aeb9cdfb397e9d4c61ab81f7fb67e8d9.png

03

33c99dde77d55f1aac97e72136ac0516.png

04

770ae98a681fc3798026d1c22b9f1b5c.png

或者,可以绘制总体效果,该总体效果是通过使用参数ptype =“ overall”将滞后效应相加得出的:

R> plot(pred )

92617af11a6fc4a8400aa41019e5fb11.jpeg

图2:温度和全因死亡率之间的暴露-反应关系的三维图,以25°C为参考。

一种更详细的方法来表示温度与死亡率之间的平滑关系,其中样条函数已用于定义这两个维度的相关性。可以使用3-D和等高线图对这种复杂的依赖关系进行一般描述,该图说明了由预测效果的整个网格给出的效果表面。所示的图是通过以下方式获得的:

R> plot(pred.temp, "contour")

参考点(此处为25℃)是crossbasis函数在crossbasis()中中心的值。

三维图或等高线图提供了关系的全面摘要,但在表示特定预测值或滞后值的影响方面的能力有限。下面给出了更全面的图,该图片通过以下方式获得:

R> plot(pred.temp, "slices
+ ci.g , ltensity =20 colr(0)))

a60e7cc02fe68261e13a7b026ffc8cab.jpeg

图3(左)显示了由plot()和lines()中的参数var选择的温度值的预测滞后效应影响。另外,图3(右)显示了针对特定滞后的沿温度的预测效应的多重曲线图(左),以及图3(右)中绘制的相同滞后效应,以及99%的置信区间。

这些图表显示了高温和低温影响的不同模式,高温的影响非常强烈且迅速,低温影响更为延迟,在最初的滞后中为负。

6.建模策略

DLNM框架提供了机会,可以通过为预测变量和滞后变量两个维度中的每个维度选择基本函数来指定广泛的模型选择。前面各节中说明的示例代表了一种潜在的建模替代方法。为了讨论该方法的灵活性以及模型选择的相关问题,下面显示了与不同模型的比较,以估计与温度的关联。具体来说,为预测变量的空间选择多项式和层次函数,同时保持相同的自然三次样条,以模拟长达30天的滞后分布的滞后曲线。指定交叉基础,运行模型并预测效果的代码为:

R> basis.temp2 <- crossbasis(emp, vrtpe = "poly",
R> model2 <- update(mdel, .~. - bsis.emp + baiste2)
R> model3 <- updat(model .~. -bais.tmp + bass.mp3)

对于预测变量,第一种方法建议使用与第5节中的原始三次样条相同的自由度的多项式函数。第二种模型基于一个更简单的双阈值函数,将单个阈值置于25°C,之前确定为最低死亡率。此选择还便于模型比较,因为这是其他两个连续函数的中心点。这三个模型估计的总体效果显示在由代码产生的图4(左)中:

R> plot(pre.temp, "overall", ylim = c(0.5, 2.5), ci = "n", lwd = 1.5,
+ main = "Overall effect")
R> lines(pretemp2, "overall", col = 3, lty = 2, lwd = 2)
R> lines(pretemp3, "overall", col = 4, lty = 4, lwd = 2
+ p, c("natural spline", "polynomial", "double threshold",
+ col = 2:4, lty = c(1:2, 4), lwd = 1.5, inset = 0.1, cex = 0.8)

正如预期的那样,替代模型会产生不同的结果。特别是,如果与具有等距结点的三次样条进行比较,则多项式模型会估计出低温的“摆动”关系。取而代之的是,这两个函数提供了非常接近的高温影响估算值。相反,虽然双阈值模型的线性假设似乎足以模拟低温的依赖性,但有一些证据表明,这种方法往往会低估热的影响。估计的分布滞后曲线的第二次比较如图4所示(右),如下所示:

R> plot(pred, slices", va =32, im =95 .2="n"

尽管在所有三个模型中都为滞后空间选择了完全相同的函数,但对预测变量的不同选择提供了分布滞后曲线的不同估计值,与32°C的参考点相比,代表了32°C的影响。

13cf86cdd80308a238f1a718a10d0e78.jpeg

图4:温度为32°C时的总体效应(左)和滞后特异性效应(右)对3种替代模型的全因死亡率的影响(以25°C为参考)。芝加哥1987-2000。

特别是,样条曲线和多项式模型会产生非常相似的效果(正如预期的那样,考虑到高温度尾部曲线在其他维度上的拟合几乎相同),而双阈值模型的曲线显示出截然不同的形状。具体而言,由于缺乏此模型的灵活性,因此暗示收获效果(较长滞后的负估计)可能表示伪像。

缺乏通用标准,无法在可用的选择中选择总结关联的最佳模型,从而减轻了对各种替代产品的规格要求的这种丰富性。在上面的示例中,我对样条线模型表现出了明显的偏爱。这种选择既基于对函数属性的了解,例如灵活性和稳定性,又基于给出图4所示结果的合理论据。但是,该结论是有问题的,而不是基于可靠的和一般的统计选择标准。此外,结论是基于几个先验的选择,就像阈值位置或结数或多项式次数一样。

通常,在DLNM中,可以描述两个不同的选择级别。第一个涉及不同函数的规范。如上所示,该选择应既基于假设的暴露反应形状的合理性,又基于复杂性,可概括性和易于解释之间的折衷。第二级重点关注特定函数内的不同选择,例如用于定义样条曲线基的结的数量和位置。后者更难解决,尽管不是DLNM开发所固有的。一些研究人员在时间序列分析中研究了这个问题,提出了基于信息准则(Akaike,Bayesian和其他变体),偏自相关或(广义)交叉验证的方法(Peng等,2006;Baccini等,2006)。2007)。用户可以在DLNM中应用相同的方法,但是他应该记住,这些模型的二维性质带来了额外的复杂性,例如最大滞后的定义。此外,关于执行不同准则的依据还不是结论性的(Dominici等人,2008年)。需要进一步研究以提供有关DLNM中模型选择的一些指导。

可以建议使用其他方法。Muggeo(2008)提出了一个模型,该模型具有对预测变量空间进行约束的分段参数化,以及基于惩罚性样条的双重惩罚基于分布滞后的参数化。此方法包括自动选择阈值和分布滞后曲线的平滑度,并且已在R(Muggeo 2010)中完全实现。这种方法与灵活的DLNM的比较可以放宽对预测变量维度上形状的假设,从而可以提供有关此关系的其他一些见解。

7.数据要求

本文介绍的DLNMs框架是为时间序列数据开发的。(1)中基本模型的一般表达式允许将此方法应用于(广义)线性模型(GLM)中的任何族分布和链接函数,并扩展到广义加法模型(GAM)或基于广义估计方程的模型(GEE)。但是,DLNM的当前实现需要一系列等距,完整和有序的数据。

还使用选定滞后时间段中包含的先前观察值来计算一系列转换变量中的每个值。因此,将转换变量中的第一个最大滞后观测值设置为NA。允许在x中缺少值,但是由于相同的原因,将相同且下一个maxlag转换后的值设置为NA。尽管正确,但对于零散的缺失观测值存在的较长滞后时间的DLNM,这可能会产生计算问题。在这种情况下,可以考虑一些插补方法。

dlnm的主要优点之一是,用户可以使用标准回归函数执行DLNM,只需在模型公式中包括交叉基矩阵即可。通过函数lm(),glm()或gam(),可以直接使用它。但是,用户可以与数据的时间序列结构兼容地应用不同的回归函数。这些函数应该具有针对coef()和vcov()的方法,或者用户必须提取参数并将其包含在crosspred()的参数coef和vcov中(请参见第4节)。

8.最终结论

DLNM类代表描述描述非线性效应和滞后效应的现象的统一框架。该模型系列的主要优点是在一个独特的框架中统一了许多以前的方法来处理滞后效应,还为关系提供了更灵活的选择。DLNM的规范仅涉及选择两个基数以生成(5)中的交叉基函数,例如,包括线性阈值,层次,多项式和样条变换。

交叉基和参数估计的分离提供了多个优点。首先,如示例中所示,可以通过交叉基函数转换多个显示滞后效果的变量,并将其包含在模型中。其次,可以使用标准回归命令进行估计,并使用默认的诊断工具和相关函数集。更重要的是,此实现提供了一个开放平台,可以在其中实现使用不同回归命令指定的其他模型,来帮助在其他情况下或研究设计中开发方法。


4ae1b3e9e15f89f64e06fc1e5709ffc9.png

本文摘选R语言分布滞后线性和非线性模型(DLNM)分析空气污染(臭氧)、温度对死亡率时间序列数据的影响,点击“阅读原文”获取全文完整资料。


点击标题查阅往期内容

R语言中的分布滞后非线性模型DLNM与发病率和空气污染示例

【视频】R语言中的分布滞后非线性模型(DLNM)与发病率,死亡率和空气污染示例

R语言分布滞后线性和非线性模型(DLNM)分析空气污染(臭氧)、温度对死亡率时间序列数据的影响

R语言分布滞后线性和非线性模型(DLMs和DLNMs)分析时间序列数据

R语言分布滞后非线性模型(DLNM)空气污染研究温度对死亡率影响建模应用

R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例

R语言分布滞后线性和非线性模型(DLM和DLNM)建模

R语言广义相加模型 (GAMs)分析预测CO2时间序列数据

Python | ARIMA时间序列模型预测航空公司的乘客数量

R语言中生存分析模型的时间依赖性ROC曲线可视化

R语言ARIMA,SARIMA预测道路交通流量时间序列分析:季节性、周期性

ARIMA模型预测CO2浓度时间序列-python实现

R语言基于递归神经网络RNN的温度时间序列预测

R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模

R语言神经网络模型预测车辆数量时间序列

卡尔曼滤波器:用R语言中的KFAS建模时间序列

在Python中使用LSTM和PyTorch进行时间序列预测

R语言从经济时间序列中用HP滤波器,小波滤波和经验模态分解等提取周期性成分分析

使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测

Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测

R语言k-Shape时间序列聚类方法对股票价格时间序列聚类

R语言多元Copula GARCH 模型时间序列预测

欲获取全文文件,请点击左下角“阅读原文”。

473a5086c124f834e1b7c570da07349a.gif

a186b78d3f2cd0c0f827330f294cde79.png

9c7f68247160e2021e786e5a11b5e5fc.jpeg

0500d32458bb7b33256fd82137cf754f.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么要让img浮动:

为什么要浮动&#xff1a; 图片不浮动的话&#xff0c;图片和文字是像下面这样排版的&#xff1a; 代码&#xff1a; <img src"https://static.maizuo.com/pc/v5/usr/movie/1f25dd6943762288dfd84b961c98f478.jpg" /> <div><div>红发歌姬</d…

OpenAI发布ChatGPT:程序员瞬间不淡定了

OpenAI发布ChatGPT&#xff1a;程序员瞬间不淡定了 12月1日&#xff0c;OpenAI发布了针对对话场景优化的语言大模型ChatGPT。ChatGPT是InstructGPT的兄弟模型&#xff0c;可以以对话的形式与用户交互&#xff0c;这使得ChatGPT能够回答问题、承认错误、质疑假设、拒绝不当问题…

时尚品牌Gucci 的Web3元宇宙营销进行时ing

Gucci 宣布在 The Sandbox 中推出 “Gucci Vault Land” 古驰藏宝阁 —— 元宇宙中心 &#xff0c;成为第一个在 The Sandbox 虚拟世界中拥有专门用于 Web3 产品的主流时尚品牌。Gucci 美学概念空间开放日&#xff1a;10月27日-11月 9 日 2022 年 Gucci Vault Land建立虚拟世界…

数据结构薄弱知识点

数据结构串KMP算法树二叉树二叉树的基本概念二叉树的遍历&#xff08;&#xff01;非递归实现&#xff09;先序遍历中序遍历后序遍历&#xff08;&#x1f538;非递归实现&#xff09;&#x1f536;线索二叉树找先序遍历的前驱节点&#xff08;&#x1f538;&#xff09;和后继…

Spring学习:二、Bean的管理

4. Bean的管理 ​ Spring的基本Bean管理包括Bean配置&#xff0c;Bean实例化和Bean的依赖注入。这些管理可以通过手工编码的方式把每个Bean注册到容器中&#xff0c;也可以通过properties文件和xml文件配置Bean和Bean之间的依赖关系。通常我们的配置方式是XML作为配置文件。 …

基于纳芯微产品的尾灯方案介绍

文章目录1.前言2.方案简介2.1 概述2.2 功能介绍2.3 DEMO资料3.主要器件介绍3.1 LED Driver3.2 LDO3.3 CAN\LIN收发器4.演示视频5.推荐阅读1.前言 最近拜访一些做尾灯模组的客户了解到&#xff0c;目前LED Driver依然紧缺&#xff0c;特别是TPS929120&#xff0c;BD18331这些差…

网络编程,UDP通信程序,TCP通信程序

一、网络编程 网络编程概述 网络编程 : 在网络[通信协议]下&#xff0c;不同计算机上运行的程序&#xff0c;可以进行[数据传输] 思考&#xff1a; A电脑中的QQ&#xff0c;发送消息给B电脑中的QQ。那么需要知道[哪些条件]才能发送&#xff1f; 在这个故事场景下&…

GitHub 的基本使用

文章目录一、使用前工作二、GitHub 的基本使用一、使用前工作 下载 uu 加速器&#xff0c;用于访问 GitHub 网站&#xff08;有魔法工具的小伙伴请忽略&#xff09;&#xff1b;uu 加速器下载安装完毕后搜索框搜索学术资源并点击加速&#xff08;如图1.2.1&#xff09;&#xf…

【Android App】人脸识别中使用Opencv比较两张人脸相似程度实战(附源码和演示 超详细)

需要全部代码请点赞关注收藏后评论区留言私信~~~ 一、比较两张人脸的相似程度 直方图由一排纵向的竖条或者竖线组成&#xff0c;横轴代表数据类型&#xff0c;纵轴代表数据多少。 图像直方图经常应用于特征提取、图像匹配等方面。 假设有两幅图像&#xff0c;它们的直方图很相…

Vue项目devServer.proxy代理配置详解

Vue项目devServer.proxy代理配置详解目录概述需求&#xff1a;设计思路实现思路分析1..config.js文件中&#xff0c;引入依赖项2.devServer.proxy 可以是一个指向开发环境 API 服务器的字符串3.更多控制行为参考资料和推荐阅读Survive by day and develop by night. talk for i…

语言模型也会“地域黑”?实验表明ALBERT最能黑,BART最友善

文 | ZenMoore前言今天我们来谈论一个不那么硬核的问题&#xff1a;预训练语言模型中的歧视与偏见(bias)。这个问题虽然不像技术问题那样核心&#xff0c;但仍然非常重要。想象一下&#xff1a;你接到了一笔外交级别的订单&#xff0c;要做一个生成语言模型&#xff0c;先不论效…

NNDL 实验七 循环神经网络(3)LSTM的记忆能力实验

文章目录6.3 LSTM的记忆能力实验6.3.1 模型构建6.3.1.1 LSTM层6.3.1.2 模型汇总6.3.2 模型训练6.3.2.1 训练指定长度的数字预测模型6.3.2.2 多组训练6.3.2.3 损失曲线展示【思考题1】LSTM与SRN实验结果对比&#xff0c;谈谈看法。&#xff08;选做&#xff09;6.3.3 模型评价6.…

Android OpenGL ES 学习(六) – 使用 VBO、VAO 和 EBO/IBO 优化程序

OpenGL 学习教程 Android OpenGL ES 学习(一) – 基本概念 Android OpenGL ES 学习(二) – 图形渲染管线和GLSL Android OpenGL ES 学习(三) – 绘制平面图形 Android OpenGL ES 学习(四) – 正交投屏 Android OpenGL ES 学习(五) – 渐变色 代码工程地址&#xff1a; https://…

【ARIMA时序预测】基于ARIMA实现时间序列数据预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

Unity常用的三种拖拽方法(内置方法 + 接口 + Event Trigger组件)

目录 内置方法OnMouseDrag【对象含有Collider组件】 配对小游戏 Event Trigger组件 接口 窗口小案例 内置方法OnMouseDrag【对象含有Collider组件】 OnMOuseOver()检测鼠标是否进入到这个2D贴图 当鼠标进入或离开2D贴图&#xff0c;会相应的放大、缩小 private void OnMo…

[附源码]计算机毕业设计springboot校园快递柜存取件系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

山外山通过注册:拟募资12亿 大健康与华盖信诚是股东

雷递网 雷建平 12月2日重庆山外山血液净化技术股份有限公司&#xff08;简称&#xff1a;“山外山”&#xff09;日前通过注册&#xff0c;准备在科创板上市。山外山计划募资12.47亿元&#xff0c;其中&#xff0c;8.63亿用于血液净化设备及高值耗材产业化项目&#xff0c;1.64…

【Python基础系列】Part2. 列表

二、列表 1.列表介绍 定义&#xff1a;列表是由一系列按照一定顺序排列的元素组成。 Python中用[]表示列表&#xff0c;用,分割元素。 number ["one", "two", "three"] print(number)# [one, two, three]列表中的元素可以是不同类型 numbe…

netsh interface portproxy端口转发,从本地端口到本地端口不起作用的解决办法

开启IP V6 你虽然可能用不到IPV6,但是有些系统是需要用到IPV6的dll来做端口转发的. 如图,确保你联网的连接已经开启 IPV6 检查IP Helper服务 打开任务管理器 点击 服务 查看iphlpsvc是否启动状态,点击右键如果显示的是停止,就是已经启动了. 如果显示"启动服务"则…

drools规则引擎并发结果不准确问题记录

思路 首先&#xff0c;drools的整体思路比较简单&#xff0c;一个是加载&#xff0c;一个是执行&#xff01; 加载&#xff1a;把一个比较复杂的关系运算想办法放到drools里面&#xff01; 执行&#xff1a;让drools去计算这个复杂的运算&#xff0c;最终我们只需要取结果就好&…