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

核密度估计——从直方图到核密度(核函数)估计_带宽选择

参考

核密度估计(KDE)原理及实现-CSDN博客

机器学习算法(二十一):核密度估计 Kernel Density Estimation(KDE)_算法_意念回复-GitCode 开源社区

引言

        在统计学中,概率密度估计是一种重要的方法,用于估计连续型随机变量的概率密度函数。与基于假设的参数方法不同,概率密度估计是一种非参数方法,能够对数据进行平滑估计。其核心目的是通过对观察数据的平滑处理来揭示其潜在的分布特性,尤其在数据分布未知或没有假设具体分布模型时,概率密度估计成为理解数据基本特征的重要手段。

       概率密度估计方法可以分为直方图密度估计核密度估计两种。其中,直方图密度估计将数据划分为若干区间,通过计算每个区间内的频数来近似表示概率密度,是一种简单而直观的方法。而核密度估计则通过将每个观测值与一个核函数进行加权叠加,得到一个连续平滑的概率密度函数,用于更精细地描述数据的分布特性。

       一元密度估计在描述数据集中趋势、分布状况及多峰情况方面非常有效。这种方法在探索数据特征时提供了一种可靠且灵活的工具,能够帮助研究者理解数据的内在结构,尤其是在数据包含多样性和异常值时,密度估计的方法更显优势。因此,密度估计在统计分析、数据挖掘和机器学习等领域得到了广泛的应用。

一.直方图密度估计

       在直方图密度估计中,如何选择合适的区间数量(也称为组数)是一个关键问题。

        Sturges准则是一种常用的方法,用于确定直方图的最佳区间数量。Sturges准则的核心思想是,当数据样本量较小时,通过对数缩放的方法使得区间数量适中,以避免过度平滑或过度分割数据。这种方法适用于数据呈近似正态分布的情况,能够有效地平衡直方图的平滑性和分辨能力。然而,当样本量较大或者数据分布偏离正态分布时,Sturges准则可能会显得不足,产生较少的区间,从而导致直方图无法很好地捕捉数据的细节特征。

        为了解决这一问题,研究者们还提出了其他区间选择准则,例如Freedman-Diaconis准则Scott准则,这些方法在处理具有不同分布特征的数据时能够提供更为灵活和精确的区间划分。

1.1 Sturges准则

       Sturges准则的核心思想是,当数据样本量较小时,通过对数缩放的方法使得区间数量适中,以避免过度平滑或过度分割数据。这种方法适用于数据呈近似正态分布的情况,能够有效地平衡直方图的平滑性和分辨能力。Sturges准则的思想是通过样本总数的对数来限制分组数,以保持合理的分布假设。在一些特殊情况下,如样本来自二项分布(Binomial)或其他复杂分布时,可以使用这个准则进行分组。Sturges准则的分组区间的最佳宽度可以通过如下公式计算:

       其中 R 表示样本的极差,n 表示样本大小。通过这个公式,区间的宽度主要依赖于样本的大小,而非数据的实际分布。这种选择方式适用于从对称或单峰的总体中抽取的数据,但在某些情况下(如偏态分布或多峰分布),该准则可能并不适用。

1,3为默认分组的直方图;2,4是用Sturges准则

       如何通过直方图来估计数据的密度?

       当样本量为 n=1000,并基于对样本的直方图分组来估计相应的密度值。首先,为了从直方图中重新得到密度估计,需找到包含所关心点的区间,并计算相应的组频率。

       在默认的直方图中,x0=0.1 位于第 7 组,其中密度 f1(0.1)=0.38。而在 Sturges 分组的直方图中,x0​ 在第 6 组,f2(0.1)=0.3889306。换句话说,密度估计是通过分组加权得到的相对频率。结果显示用默认直方图密度估计0.1的概率密度为f1(0.1)=0.38,如果用Sturges 分组的直方图估计0.1的概率密度f2(0.1)=0.3889306。这两个估计值与理论标准正态密度的值 ϕ(0.1)=0.3969525 非常接近,但是用Sturges 分组的直方图估计的结果更接近理论值,说明密度估计的效果相对较好。

使用默认分组和Sturges准则进行直方图密度估计(部分代码与结果图)

1.2 Scott 正态参考准则

       Scott 正态参考准则用于选择最优(或较好)的光滑参数,以使得估计的均方误差最小。均方误差(MSE)用于度量估计函数 f(x)与真实密度函数 f^(x)之间的偏差。MSE 的定义如下:

       为了选择最佳带宽 h需要使得 MISE 最小化。根据 Fubini 定理可以得到:

      为了使得 MISE 最小,选择最优带宽

      这一带宽的选择使得 Asymptotic MISE(渐近 MISE)达到最小值:

     由于密度估计中的 f′′(x) 是未知的,因此无法直接通过上述公式计算最优带宽。Scott 提供了一个被称为“正态参考准则”的估计方法,用于在正态分布假设下获得合理的带宽。根据正态参考准则:

     其中\sigma \hat{}是数据标准差的估计。 当假设数据来自正态分布时(也可以理解为如果当样本量呈现比较明显的对称单峰,也可以考虑使用这个准则),可以通过经验公式来选择合适的带宽。

使用Scott 正态参考准则分组和R中默认的‘Sturges’准则进行直方图密度估计

     不难发现直接使用breaks = ‘scott’呈现的分组如蓝色的直方图显示,与我们根据经验准则选择的带宽不同(使用此准则时注意不要直接用R包里面的就行)根据经验公式选择的带宽使得分组更细使得数据的密度估计更平滑、准确

1.3 Freedman-Diaconis 准则

       如上面的数据集,我们可以很明显的看到数据集存在异常值,如果我们想尽量减小异常值的影响,就可以考虑Freedman-Diaconis 准则。

       Freedman-Diaconis 准则,它是一种用于选择直方图的最佳组距(带宽)的标准,特别是在数据包含异常值或偏态时,Freedman-Diaconis准则通常被认为更为稳健。Freedman-Diaconis准则旨在根据数据的四分位距(IQR,Interquartile Range)来选择最佳的组距(带宽)。具体公式如下:

       h 表示组距(带宽),是确定每个直方柱的宽度的关键参数。IQR 为样本四分位数间距,即数据在第 75 个百分位数与第 25 个百分位数之间的范围。IQR 对异常值(极端值)更加稳健,因此在数据包含离群值时,Freedman-Diaconis准则是更合理的选择。n表示样本量。Freedman-Diaconis准则中,组距与样本量的三次根成反比,即随着样本量增加,组距变窄,使直方图的分辨率更高。

       可以看到使用F-D准则,可以让异常值更远离我们的主要数据与Scott 正态参考准则进行比较,Scott 正态参考准则将数据分为9组,F-D准则将数据分为10组(其中有一组频数为0),在数据包含较多离群值或数据分布不服从正态假设时,F-D准则异常值更加鲁棒。

1.4 频率多边形密度估计

       频率多边形是对直方图的扩展和进一步的平滑处理方法。每个直方图的顶点被连接起来,形成一条连续的折线,这样能够更直观地展现数据的密度变化趋势。在频率多边形的基础上,可以进一步引入核密度估计来得到更加精细的分析结果。这种方法对数据分布的理解提供了一种简化和连续的表示形式,特别适用于需要对数据分布进行更平滑的分析场景。

       给出了频率多边形密度估计的最佳组宽的计算方法:

       其中,σ 表示数据的标准差,n 表示样本量。这个公式用于估计频率多边形的最佳组宽,以确保密度估计更加准确和平滑。如果是一个明显的偏态分布,可以使用 Scott 的方法对组宽进行修正。给出了一个计算组宽的公式:

      该公式通过乘以一个因子来得到适当且更小的组宽,从而更好地应对偏态分布。类似地,如果样本的尾部比正态分布更陡峭,那么可以推导出一个“峰态调整”的方法,以减少组宽,从而更精确地反映样本的密度特征。

       直方图尽管可以有效地描述数据的频率分布,但由于每个组之间是离散的,所以它在描述数据分布的连续性方面存在一定的局限性。而频率多边形通过将各个组的顶点相连,使得最终得到的密度估计曲线看起来更加连续和平滑,从而更好地反映了数据的整体分布趋势。

       我们需要了解密度函数(PDF)的一个重要性质:在整个定义域上的积分必须等于1

       通过积分来验证密度估计的方法。

       我们可以使用插值函数approxfun来对频率多边形的估计进行插值,然后使用integrate函数对其进行积分,计算其在整个定义域内的总和是否等于1。

      上方的代码展示了这一过程:首先通过approxfun函数创建了插值函数fpoly,然后使用integrate函数对其进行积分。在输出中我们可以看到积分的结果非常接近1,并且误差极小这就验证了这个频率多边形密度估计符合概率密度的基本性质。如果积分的结果与1相差较大,那么就说明我们的密度估计存在一些问题,可能是由于数据分布的异常或者在估计过程中的计算误差。这样一来,验证积分结果是否等于1就成为了检查密度估计准确性和可靠性的重要步骤。最后,在频率多边形密度估计的应用中,我们不仅要关注曲线形态是否合理,还必须通过数学手段验证它的正确性,确保它符合概率分布的要求。这对于我们在实际数据分析中保证模型的可靠性至关重要。

题外话:

你肯定能感受到带宽选择 h  的重要性,

后面到核密度估计,

ta会更重要!!!!!!!

1.5 平均移动直方图(Average Shifted Histogram, ASH)

     ASH 方法 是一种通过对直方图进行平移并取平均值来计算概率密度估计的非参数方法。相比于简单的直方图,ASH 能有效减少在组距选择上的误差,并得到一个更为平滑的密度估计。ASH 密度估计涉及将数据划分为多个区间,然后通过计算每个区间的频数并对这些区间进行平移得到的平均值。具体地:

(a)将原始样本分组,并计算每个组的频数。

(b) 通过设定多个平移区间 m,对原始分组位置进行移动,形成多组重叠直方图。

(c) 最后对每个移动后的直方图求均值,形成最终的 ASH 密度估计。

例子

对样本大小 n=100进行估计,用四个不同的直方图宽度(分别为 0、0.25、0.5 和 0.75)计算每个直方图中的区间计数(breaks)和 counts。找到包含 x=0.2x = 0.2x=0.2 的区间,进行求平均值计算,计算公式为:

或者通过构造一个网格宽度为 δ=h/m=0.25 的子区间构成的网来计算。点 x=0.2在区间 (−0.75,0.25),(−0.5,0.5),(−0.25,0.75),(0,1] 中,对应着第 14 个到第 20 个子区间,分组计数为 [1:12] [13:24] [25:35]。给出一般情况下 tj之间估计密度的加权平均公式:

example

可以看到,通过加权函数可以简化计算,要求左右两边各有 m−1 个空的分组。

二.  核密度估计

2.1理论推导

通过上面内容可以理解如下:

累积分布函数(CDF) F(x)=P(X≤x),用于描述随机变量小于或等于某个值 x 的概率。对于任意给定的数据集,我们可以通过样本来估计其分布函数,定义为:

其中,n 表示样本总数。

为了得到概率密度函数,可以通过定义差商的极限:

这相当于取样本数据在点 xxx 附近的变化率,以此估计其密度。我们可以通过将区间分割来估计概率密度:

其中,h 为带宽参数,表示区间的宽度。可以使用卷积核函数对密度进行平滑:

这里用到的核函数为单位矩形函数,取值为 1 当 ∣x−xi∣<1时,否则为 0。如果我们定义一个均匀分布的核函数 k(x),如下所示:

那么均匀核密度估计公式可以表示为:

这是利用核函数进行加权平均以平滑估计数据的分布特性

带宽参数 h 控制核函数的宽度,决定了平滑程度。(非常重要!!!!!!!!)

核函数 K(t) 的五个性质:

2.2核密度估计

    K(.)为核函数(非负、积分为1,符合概率密度性质,并且均值为0),h>0为一个平滑参数,称作带宽(bandwidth),也看到有人叫窗口。有很多种核函数,uniform,triangular, biweight, triweight, Epanechnikov,normal,等。

各种核函数的图像如图2.1:

2.1

    图 2.2 中展示了对标准正态分布的 100 个样本点使用不同的核函数进行核密度估计的结果,带宽固定为 h=0.5高斯核(Gaussian)红色虚线显示。高斯核具有平滑连续的特性,因此估计的曲线也是相对光滑的;Epanechnikov 核蓝色虚线显示,通常被认为是最优的核函数,因为它在均方误差意义下的效率最高;矩形核(Rectangular)绿色虚线表示,估计结果呈现出明显的块状特征,不够平滑;三角核(Triangular)紫色虚线显示,估计相对平滑,但比高斯核略差;余弦核(Cosine)橙色虚线显示,也能较好地反映数据的分布。不同核函数的曲线表现出不同的平滑效果,但大部分曲线最终都在正态分布上表现良好。

2.2

图 2.3 展示了对标准正态分布的 100 个样本点,在高斯核下使用不同带宽进行核密度估计的结果。带宽较小(h=0.05),核密度估计曲线非常不平滑,表现出对每个样本点的敏感性,出现了过拟合。带宽适中(h=0.5),估计曲线较为平滑,能较好地反映数据的整体分布。带宽进一步增大(h=1),曲线变得更加平滑,细节减少,整体特征保留。带宽较大(h=2),估计的曲线过于平滑,丢失了部分数据的细节。

可以看出选择不同的核函数对于核密度估计的影响没有选择带宽大小的影响大。怎么选择一个合适的带宽也是一个值得考虑的问题。

在实际中,样本分布不一定是正态的,因此有时候需要选择一个更加鲁棒的带宽估计公式。Silverman 提出了一个缩减带宽的公式:

其中 S为样本标准差,IQR为四分位距(Interquartile Range),使用最小值 σ 是为了确保带宽的选择既能反映样本的整体特征,也能够对异常值和极端值具有一定的鲁棒性。则在积分均方误差(IMSE)最小准则下的带宽为:

(类似于刚刚第一部分直方图的F-D准则)

Silverman 指出,在大多数情况下,这个缩减的带宽是一个很好的起点,即使样本分布不是正态的,它仍然能够提供一个较好的平滑效果。这使得该带宽选择方法在许多应用中都比较实用。带宽 h 的缩减有助于在存在离群值时,使得估计结果不至于受到极端数据点的过度影响。

用两种带宽计算方式,进行来自双峰分布的离散数据的核密度估计

   在样本数量较少的情况下(n=6),使用不同核函数进行核密度估计的效果,带宽固定为 h=2.5。样本点为:-6.66,-9.27,0.88, 11.27,5.20, 5.12,结果如图2.4所示。核密度估计的蓝色实线代表整体的密度估计,而红色虚线表示每个数据点对核函数的贡献。可以看到,不同的核函数曲线形式不同,但总体趋势相似。

   使用高斯核函数的核密度估计。高斯核是一种平滑且对称的核函数,在很多情况下是默认的选择。余玹核函数在边界处逐渐收敛到 0,相比高斯核,余弦核在某些位置的贡献稍微集中一些,呈现出一种周期性的光滑趋势。使用埃潘尼切尼科夫核的核密度估计,在理论上具有最小的均方误差(IMSE),在积分均方误差意义下是最优的。核函数的选择则取决于数据特性和具体需求,高斯核通常是默认选择,但其他核函数在某些情况下可以提供更好的结果,如 Epanechnikov 核在均方误差意义下是最优的。

相关文章:

核密度估计——从直方图到核密度(核函数)估计_带宽选择

参考 核密度估计&#xff08;KDE&#xff09;原理及实现-CSDN博客 机器学习算法&#xff08;二十一&#xff09;&#xff1a;核密度估计 Kernel Density Estimation(KDE)_算法_意念回复-GitCode 开源社区 引言 在统计学中&#xff0c;概率密度估计是一种重要的方法&#xff0…...

Vant UI Axure移动端元件库:提升移动端原型设计效率

UI框架的选择对于提升开发效率和用户体验至关重要。Vant UI&#xff0c;作为一款基于Vue.js的轻量、可靠的移动端组件库&#xff0c;自2017年开源以来&#xff0c;凭借其丰富的组件库、良好的性能以及广泛的兼容性&#xff0c;在移动端开发领域崭露头角&#xff0c;赢得了众多开…...

如何用 JavaScript 操作 DOM 元素?

如何用 JavaScript 操作 DOM 元素&#xff1f;——结合实际项目代码示例讲解 在前端开发中&#xff0c;DOM&#xff08;文档对象模型&#xff09;操作是与页面交互的核心。通过 DOM 操作&#xff0c;开发者可以动态地修改页面内容、响应用户交互、控制样式等。JavaScript 提供…...

【Ubuntu】URDC(Ubuntu远程桌面助手)安装、用法,及莫名其妙进入全黑模式的处理

1、简述 URDC是Ubuntu远程桌面助手的简称。 它可以: 实时显示桌面:URDC支持通过Windows连接至Ubuntu设备(包括x86和ARM架构,例如Jetson系列、树莓派等)的桌面及光标。远程操控双向同步剪切板多客户端连接:同一Ubuntu设备最多可同时被三台Windows客户端连接和操控,适用于…...

ES-DSL查询

term查询 因为精确查询的字段搜是不分词的字段&#xff0c;因此查询的条件也必须是不分词的词条。查询时&#xff0c;用户输入的内容跟自动值完全匹配时才认为符合条件。如果用户输入的内容过多&#xff0c;反而搜索不到数据。 语法说明&#xff1a; // term查询 GET /index…...

npm 设置镜像

要在npm中设置镜像&#xff0c;你可以使用npm config命令。以下是设置npm镜像的步骤&#xff1a; 临时使用淘宝镜像&#xff1a; npm --registry https://registry.npmmirror.com install package-name 永久设置镜像&#xff1a; npm config set registry https://registry…...

SpringMvc完整知识点一

SpringMVC概述 定义 SpringMVC是一种基于Java实现MVC设计模型的轻量级Web框架 MVC设计模型&#xff1a;即将应用程序分为三个主要组件&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controller&#xff09;。这种分离…...

STM32G4系列MCU双ADC多通道数据转换的应用

目录 概述 1 STM32Cube配置项目 1.1 基本参数配置 1.1.1 ADC1参数配置 1.1.2 ADC2参数配置 1.2 项目软件架构 2 功能实现 2.1 ADC转换初始化 2.2 ADC数据组包 3 测试函数 3.1 Vofa数据接口 3.2 输入数据 4 测试 4.1 ADC1 通道测试 4.2 ADC2 通道测试 概述 本文…...

【工具】音频文件格式转换工具

找开源资源、下载测试不同库的效果&#xff0c;然后找音频、下载音频、编写代码、测试转换、流程通畅。写一个工具花的时间越来越多了&#xff01;这个 5 天 这个工具是一个音频文件格式转换工具&#xff0c;支持对 mp3.aac.wav.caf.flac.ircam.mp2.mpeg.oga.opus.pcm.ra.spx.…...

ssl证书过期,nginx更换证书以后仍然显示过期证书

记一次nginx部署异常 今天提示ssl证书过期了&#xff0c;然后重新申请了一个证书 反反复复折腾了一个上午&#xff0c;还更换了好几个平台&#xff0c;发现怎么更换都没用&#xff0c;百度上的解决方法都试过了&#xff0c;发现都没用&#xff0c;证书还是显示的原来那一个&…...

原型模式(Prototype Pattern)——对象克隆、深克隆与浅克隆及适用场景

原型模式&#xff08;Prototype Pattern&#xff09;是设计模式中的一种创建型模式&#xff0c;目的是通过复制现有的对象来创建新的对象&#xff0c;而不是通过传统的实例化方式。原型模式常常用于需要创建大量类似对象的场景&#xff0c;可以提高性能并减少资源的消耗。下面将…...

从工标网网站解析标准信息

import requests from bs4 import BeautifulSoup 将标准搜索关键词转化成GBK格式&#xff0c;并用%连接转化后16进制&#xff0c;转化成工标网的查询网址url text “GB/T 9755” utf8_encoded_text text.encode(‘GBK’) #print(utf8_encoded_text) hex_representation ‘…...

如何在MySQL中开启死锁日志及查看日志

在数据库的多用户环境中&#xff0c;死锁是一个常见的问题&#xff0c;它可能会影响到数据库的性能和稳定性。MySQL提供了一些工具和命令来帮助我们识别和解决死锁问题。本文将介绍如何在MySQL中开启死锁日志以及如何查看这些日志。 一、为什么需要死锁日志 死锁是指两个或多…...

VCP-CLIP A visual context prompting modelfor zero-shot anomaly segmentation

GitHub - xiaozhen228/VCP-CLIP: (ECCV 2024) VCP-CLIP: A visual context prompting model for zero-shot anomaly segmentation 需要构建正样本&#xff0c;异常样本&#xff0c;以及对应的Mask...

分类算法中的样本不平衡问题及其解决方案

一、样本不平衡问题概述 在机器学习的分类任务中&#xff0c;样本不平衡是指不同类别训练样本数量存在显著差异的现象。这一差异会给模型训练和性能评估带来挑战&#xff0c;尤其在处理少数类样本时&#xff0c;模型可能难以有效学习其特征。 以二分类为例&#xff0c;理想情况…...

博物馆导览系统方案(一)背景需求分析与核心技术实现

维小帮提供多个场所的室内外导航导览方案&#xff0c;如需获取博物馆导览系统解决方案可前往文章最下方获取&#xff0c;如有项目合作及技术交流欢迎私信我们哦~撒花&#xff01; 一、博物馆导览系统的背景与市场需求 在数字化转型的浪潮中&#xff0c;博物馆作为文化传承和知…...

[创业之路-169]:《BLM战略规划》- 战略洞察 (战略能力中最最核心的能力) - 市场洞察 -1- 看宏观/行业 - 行业:激光器行业的详细分析

目录 一、激光器行业的详细分析 1. 行业总容量分析 2. 行业成长性分析 3. 行业的供需结构 4. 行业的发展阶段与动态S曲线 5. 行业集中度 6. 关键成功因素 二、对深紫外激光器进行如下分析 1、行业总容量分析 2、行业成长性分析 3、行业的供需结构 4、行业的发展阶段…...

抽象工厂模式的理解和实践

在软件开发中&#xff0c;设计模式是解决常见问题的最佳实践。抽象工厂模式是一种创建型设计模式&#xff0c;提供了一种创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们的具体类。本文将详细解释抽象工厂模式的概念、结构、优点、缺点&#xff0c;并通过Java代…...

WIDER FACE数据集转YOLO格式

1. 引出问题 本人最近在做毕设相关内容&#xff0c;第一阶段目标是通过目标检测来统计课堂人数&#xff0c;因此需要对人脸和人头进行目标检测。模型方面没什么好说的无脑用YOLO&#xff0c;数据集方面&#xff0c;人脸部分找到了来自港中文的WIDER FACE数据集。但是解压后发现…...

项目启动的基本配置

开启驼峰命名 如果字段名与属性名符合驼峰命名规则&#xff0c;MyBatis会自动通过驼峰命名规则映射。 在application.yml配置文件中&#xff0c;可以添加以下配置来开启驼峰命名规则&#xff1a; mybatis:configuration:map-underscore-to-camel-case: true 这段配置的作用…...

Ubuntu桌面突然卡住,图形界面无反应

1.可能等待几分钟&#xff0c;系统会自动反应过来。你可以选择等待几分钟。 2.绝大多数情况系统是不会反应过来的&#xff0c;这时候可以进入tty终端直接注销用户。 (1)Ubuntu有6个tty终端&#xff0c;按住CtrlAltF1可以进入tty1终端&#xff0c;&#xff08;同理CtrlAltF2&a…...

Next.js系统性教学:拦截路由与路由处理器

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 路由拦截 (Intercepting Routes) 1.1 什么是路由拦截&#xff1f; 1.2 配置拦截路由 1.3 示例&#xff1a;模态框预览 1.4 使用场景 2. 路由处理器 (Route Handl…...

Python编码风格

Python代码的常用排版格式主要遵循PEP 8规范&#xff0c;这是Python社区广泛接受的编码风格指南。以下是一些关键的排版格式要求&#xff1a; 一、缩进 使用4个空格作为缩进级别&#xff0c;不要使用Tab键&#xff0c;更不能混合使用Tab和空格。 二、行长度 每行代码的最大…...

flask创建templates目录存放html文件

首先&#xff0c;创建flask项目&#xff0c;在pycharm中File --> New Project&#xff0c;选择Flask项目。 然后&#xff0c;在某一目录下&#xff0c;新建名为templates的文件夹&#xff0c;这时会是一个普通的文件夹。 然后右击templates文件夹&#xff0c;选择Unmark as …...

微信小程序里的小游戏研发需要什么技术栈

研发小程序里的小游戏通常需要以下技术栈&#xff1a; 前端技术 HTML5 / CSS3&#xff1a;用于构建游戏的界面布局和样式。JavaScript&#xff1a;作为核心编程语言&#xff0c;实现游戏的逻辑和交互。小程序开发框架&#xff1a;如微信小程序的开发框架&#xff0c;了解其 API…...

2024年上半年网络工程师案例分析真题及答案解析

2024年上半年网络工程师案例分析真题及答案解析 1、试题一(20分) 阅读以下说明,回答问题。 [说明]某高校网络拓扑如下图所示,两校区核心(CORE-1,CORE-2),出口防火墙(NGFW-1,NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收效,校区相距40km。两校区默认由本地出…...

Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题

背景说明 如果你的 Ant Design Vue 项目有要做适配的需求&#xff0c;那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后&#xff0c;发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后…...

武汉科技大学《2024年814自动控制原理真题》 (完整版)

本文内容&#xff0c;全部选自自动化考研联盟的&#xff1a;《武汉科技大学814自控考研资料》的真题篇。后续会持续更新更多学校&#xff0c;更多年份的真题&#xff0c;记得关注哦~ 目录 2024年真题 Part1&#xff1a;2024年完整版真题 2024年真题...

【锂电池实战】A123磷酸铁锂在线参数识别-一阶戴维南模型

A123磷酸铁锂在线参数识别-一阶戴维南模型 提要 理论介绍:一篇就够了,为你答疑解惑:锂电池一阶模型-在线参数辨识(附代码)_在线参数辨识方法-CSDN博客 数据源:Battery Data | Center for Advanced Life Cycle Engineering 打包下载地址:A123-DST-US06-FUDS-25.zip资源…...

Java多线程与线程池技术详解(四)

接受失败&#xff1a;“失败是什么&#xff1f;没有什么&#xff0c;只是更走近成功一步&#xff1b;成功是什么&#xff1f;就是走过了所有通向失败的路&#xff0c;只剩下一条路&#xff0c;那就是成功的路。”这句话很好地诠释了如何看待失败的问题&#xff0c;即每一次跌倒…...