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

【返璞归真】score检验:似然比的得分检验(Likelihood Ratio Score Test)

Score检验(Score Test)是一种用于假设检验的方法,特别是在统计建模中,常用于估计模型参数时检验某个假设是否成立。它的全名是“似然比的得分检验”(Likelihood Ratio Score Test),通常用于大样本条件下对参数进行检验。

Score检验的基本思路是基于得分函数(score function),即似然函数对参数的偏导数。得分函数反映了在某个参数值下,似然函数的变化率,表示了该点附近模型拟合优度的敏感性。

主要步骤:

  1. 选择假设

    • 原假设(H0):某些参数等于特定值,通常是零。
    • 备择假设(H1):参数不等于这个特定值。
  2. 得分函数(Score Function)
    得分函数是似然函数对参数的导数。假设我们有似然函数 L ( θ ) L(\theta) L(θ),得分函数就是它的导数:
    U ( θ ) = ∂ ∂ θ log ⁡ L ( θ ) U(\theta) = \frac{\partial}{\partial \theta} \log L(\theta) U(θ)=θlogL(θ)

  3. 计算Score检验统计量
    得分检验的检验统计量通常为:
    S = U ( θ ^ 0 ) T I ( θ ^ 0 ) − 1 U ( θ ^ 0 ) n S = \frac{U(\hat{\theta}_0)^T I(\hat{\theta}_0)^{-1} U(\hat{\theta}_0)}{n} S=nU(θ^0)TI(θ^0)1U(θ^0)
    其中, U ( θ ^ 0 ) U(\hat{\theta}_0) U(θ^0) 是在原假设下估计的得分函数, I ( θ ^ 0 ) I(\hat{\theta}_0) I(θ^0) 是Fisher信息矩阵(即得分函数的二阶导数的期望), n n n 是样本大小。

  4. 比较临界值
    该统计量的分布在原假设成立的条件下通常近似于卡方分布。因此,可以将统计量与卡方分布的临界值进行比较,从而决定是否拒绝原假设。

优点:

  • 大样本性质:Score检验在大样本下非常有效,尤其适用于似然函数没有显式解的情况。
  • 无需完整拟合模型:与其他检验方法(如似然比检验)不同,score检验只需要估计原假设下的得分函数,而不需要拟合完全模型。

应用:

  • 参数检验:用于检验某些参数是否等于零或者其他特定值。
  • 模型拟合:常用于检验复杂模型中某些参数的显著性,尤其是在无法直接计算似然比时。

例子:

假设我们想检验某个回归模型中的某个参数是否为零。我们可以计算这个参数的得分函数,构造Score检验统计量,并与卡方分布的临界值进行比较,从而决定是否拒绝原假设(即该参数为零)。


下面我会通过详细的公式推导来解释Score检验的过程,直接进入数学推导。

1. 假设模型与似然函数

假设我们有一个包含参数 θ \theta θ 的统计模型,样本 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn 来自这个模型的概率分布,似然函数为 L ( θ ) = P ( X 1 , X 2 , … , X n ∣ θ ) L(\theta) = P(X_1, X_2, \dots, X_n \mid \theta) L(θ)=P(X1,X2,,Xnθ)

通常我们取似然函数的对数,称之为对数似然函数:
ℓ ( θ ) = log ⁡ L ( θ ) \ell(\theta) = \log L(\theta) (θ)=logL(θ)

2. 得分函数

得分函数是对数似然函数对参数 θ \theta θ 的一阶导数:
U ( θ ) = ∂ ∂ θ ℓ ( θ ) U(\theta) = \frac{\partial}{\partial \theta} \ell(\theta) U(θ)=θ(θ)
即:
U ( θ ) = ∂ ∂ θ log ⁡ L ( θ ) U(\theta) = \frac{\partial}{\partial \theta} \log L(\theta) U(θ)=θlogL(θ)

3. Fisher 信息矩阵

Fisher信息矩阵是得分函数的二阶导数的期望:
I ( θ ) = − E [ ∂ 2 ∂ θ 2 ℓ ( θ ) ] I(\theta) = - \mathbb{E} \left[ \frac{\partial^2}{\partial \theta^2} \ell(\theta) \right] I(θ)=E[θ22(θ)]
这描述了参数估计的不确定性。它是一个关于参数 θ \theta θ 的矩阵(如果参数有多个)。

4. 在原假设下的得分

在进行Score检验时,我们通常有一个原假设 H 0 : θ = θ 0 H_0: \theta = \theta_0 H0:θ=θ0,我们需要检验原假设下的得分统计量。

θ ^ \hat{\theta} θ^ 是最大似然估计(MLE),我们构造原假设下的得分为:
U ( θ 0 ) = ∂ ∂ θ ℓ ( θ ) ∣ θ = θ 0 U(\theta_0) = \frac{\partial}{\partial \theta} \ell(\theta) \Big|_{\theta = \theta_0} U(θ0)=θ(θ) θ=θ0

5. Score检验统计量

Score检验的统计量 S S S 通过以下公式定义:
S = U ( θ ^ 0 ) T [ I ( θ ^ 0 ) ] − 1 U ( θ ^ 0 ) S = U(\hat{\theta}_0)^T \left[ I(\hat{\theta}_0) \right]^{-1} U(\hat{\theta}_0) S=U(θ^0)T[I(θ^0)]1U(θ^0)
其中:

  • θ ^ 0 \hat{\theta}_0 θ^0 是在原假设下的估计值;
  • I ( θ ^ 0 ) I(\hat{\theta}_0) I(θ^0) 是Fisher信息矩阵在 θ 0 \theta_0 θ0 下的值。

6. 统计量的分布

在原假设 H 0 H_0 H0 成立时,Score检验的统计量 S S S 近似服从卡方分布:
S ∼ χ k 2 S \sim \chi^2_k Sχk2
其中 k k k 是参数空间的维度,即 θ \theta θ 的维度。

7. 决策规则

我们根据检验统计量与卡方分布的临界值 χ k 2 ( α ) \chi^2_k(\alpha) χk2(α) 进行比较:

  • 如果 S > χ k 2 ( α ) S > \chi^2_k(\alpha) S>χk2(α),拒绝原假设 H 0 H_0 H0
  • 如果 S ≤ χ k 2 ( α ) S \leq \chi^2_k(\alpha) Sχk2(α),不拒绝原假设。

8. 结论

通过这些步骤,Score检验给出了一个基于得分函数的检验统计量,该统计量的分布特性(卡方分布)使得它在大样本条件下非常有效,且不需要完全估计整个模型的参数。


通过一个具体的案例来详细展示Score检验的使用过程。

案例:检验正态分布的均值

假设我们有一组样本数据,来自于一个正态分布 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2),其中 μ \mu μ 是均值, σ 2 \sigma^2 σ2 是方差。我们想要检验正态分布的均值 μ \mu μ 是否等于某个特定值 μ 0 \mu_0 μ0

步骤 1:设定假设

我们设定原假设和备择假设:

  • 原假设 H 0 : μ = μ 0 H_0: \mu = \mu_0 H0:μ=μ0
  • 备择假设 H 1 : μ ≠ μ 0 H_1: \mu \neq \mu_0 H1:μ=μ0
步骤 2:似然函数和对数似然函数

正态分布的概率密度函数为:
f ( x i ∣ μ , σ 2 ) = 1 2 π σ 2 exp ⁡ ( − ( x i − μ ) 2 2 σ 2 ) f(x_i \mid \mu, \sigma^2) = \frac{1}{\sqrt{2\pi \sigma^2}} \exp\left( - \frac{(x_i - \mu)^2}{2\sigma^2} \right) f(xiμ,σ2)=2πσ2 1exp(2σ2(xiμ)2)

对于一个样本 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn,似然函数为:
L ( μ , σ 2 ) = ∏ i = 1 n f ( x i ∣ μ , σ 2 ) L(\mu, \sigma^2) = \prod_{i=1}^n f(x_i \mid \mu, \sigma^2) L(μ,σ2)=i=1nf(xiμ,σ2)

对数似然函数是:
ℓ ( μ , σ 2 ) = log ⁡ L ( μ , σ 2 ) = − n 2 log ⁡ ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 \ell(\mu, \sigma^2) = \log L(\mu, \sigma^2) = - \frac{n}{2} \log(2\pi \sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^n (x_i - \mu)^2 (μ,σ2)=logL(μ,σ2)=2nlog(2πσ2)2σ21i=1n(xiμ)2

步骤 3:得分函数

得分函数是对数似然函数对 μ \mu μ 的一阶导数:
U ( μ ) = ∂ ∂ μ ℓ ( μ , σ 2 ) U(\mu) = \frac{\partial}{\partial \mu} \ell(\mu, \sigma^2) U(μ)=μ(μ,σ2)

我们计算该导数:
U ( μ ) = 1 σ 2 ∑ i = 1 n ( x i − μ ) U(\mu) = \frac{1}{\sigma^2} \sum_{i=1}^n (x_i - \mu) U(μ)=σ21i=1n(xiμ)

步骤 4:Fisher信息矩阵

Fisher信息矩阵是得分函数的二阶导数的期望。我们首先对得分函数进行二阶导数:
I ( μ ) = − E [ ∂ 2 ∂ μ 2 ℓ ( μ , σ 2 ) ] I(\mu) = - \mathbb{E} \left[ \frac{\partial^2}{\partial \mu^2} \ell(\mu, \sigma^2) \right] I(μ)=E[μ22(μ,σ2)]

计算该二阶导数:
I ( μ ) = n σ 2 I(\mu) = \frac{n}{\sigma^2} I(μ)=σ2n

步骤 5:Score检验统计量

我们现在来计算Score检验的统计量。首先,我们在原假设下(即 μ = μ 0 \mu = \mu_0 μ=μ0)计算得分函数:
U ( μ 0 ) = 1 σ 2 ∑ i = 1 n ( x i − μ 0 ) U(\mu_0) = \frac{1}{\sigma^2} \sum_{i=1}^n (x_i - \mu_0) U(μ0)=σ21i=1n(xiμ0)

然后计算Score检验的统计量:
S = U ( μ 0 ) 2 ⋅ 1 I ( μ 0 ) = ( 1 σ 2 ∑ i = 1 n ( x i − μ 0 ) ) 2 ⋅ σ 2 n S = U(\mu_0)^2 \cdot \frac{1}{I(\mu_0)} = \left( \frac{1}{\sigma^2} \sum_{i=1}^n (x_i - \mu_0) \right)^2 \cdot \frac{\sigma^2}{n} S=U(μ0)2I(μ0)1=(σ21i=1n(xiμ0))2nσ2
S = 1 n ( ∑ i = 1 n ( x i − μ 0 ) ) 2 S = \frac{1}{n} \left( \sum_{i=1}^n (x_i - \mu_0) \right)^2 S=n1(i=1n(xiμ0))2

步骤 6:检验统计量的分布

在原假设 H 0 : μ = μ 0 H_0: \mu = \mu_0 H0:μ=μ0 下,Score检验的统计量 S S S 服从卡方分布 χ 1 2 \chi^2_1 χ12,因为 μ \mu μ 只有一个参数。

步骤 7:进行假设检验
  1. 计算样本数据 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn 中的 S S S 值。
  2. 比较该统计量 S S S 与卡方分布的临界值 χ 1 2 ( α ) \chi^2_1(\alpha) χ12(α),通常 α = 0.05 \alpha = 0.05 α=0.05
  • 如果 S > χ 1 2 ( α ) S > \chi^2_1(\alpha) S>χ12(α),我们拒绝原假设,认为 μ ≠ μ 0 \mu \neq \mu_0 μ=μ0
  • 如果 S ≤ χ 1 2 ( α ) S \leq \chi^2_1(\alpha) Sχ12(α),我们不拒绝原假设,认为没有足够证据表明 μ ≠ μ 0 \mu \neq \mu_0 μ=μ0

例子:具体计算

假设我们有以下样本数据:
x 1 = 2.3 , x 2 = 2.5 , x 3 = 2.7 , x 4 = 2.9 , x 5 = 3.1 x_1 = 2.3, \, x_2 = 2.5, \, x_3 = 2.7, \, x_4 = 2.9, \, x_5 = 3.1 x1=2.3,x2=2.5,x3=2.7,x4=2.9,x5=3.1
并且我们想要检验均值是否为 μ 0 = 2.5 \mu_0 = 2.5 μ0=2.5,且已知样本方差 σ 2 = 0.1 \sigma^2 = 0.1 σ2=0.1

  1. 计算得分函数:
    U ( 2.5 ) = 1 0.1 ( ( 2.3 − 2.5 ) + ( 2.5 − 2.5 ) + ( 2.7 − 2.5 ) + ( 2.9 − 2.5 ) + ( 3.1 − 2.5 ) ) = 1 0.1 ( − 0.2 + 0 + 0.2 + 0.4 + 0.6 ) = 1 0.1 × 1 = 10 U(2.5) = \frac{1}{0.1} \left( (2.3 - 2.5) + (2.5 - 2.5) + (2.7 - 2.5) + (2.9 - 2.5) + (3.1 - 2.5) \right) = \frac{1}{0.1} \left( -0.2 + 0 + 0.2 + 0.4 + 0.6 \right) = \frac{1}{0.1} \times 1 = 10 U(2.5)=0.11((2.32.5)+(2.52.5)+(2.72.5)+(2.92.5)+(3.12.5))=0.11(0.2+0+0.2+0.4+0.6)=0.11×1=10

  2. 计算Fisher信息矩阵:
    I ( 2.5 ) = 5 0.1 = 50 I(2.5) = \frac{5}{0.1} = 50 I(2.5)=0.15=50

  3. 计算Score检验统计量:
    S = U ( 2.5 ) 2 I ( 2.5 ) = 1 0 2 50 = 100 50 = 2 S = \frac{U(2.5)^2}{I(2.5)} = \frac{10^2}{50} = \frac{100}{50} = 2 S=I(2.5)U(2.5)2=50102=50100=2

  4. 查找卡方分布的临界值:

    • 对于 α = 0.05 \alpha = 0.05 α=0.05 和自由度 k = 1 k = 1 k=1,卡方分布的临界值 χ 1 2 ( 0.05 ) = 3.841 \chi^2_1(0.05) = 3.841 χ12(0.05)=3.841
  5. 比较统计量与临界值:
    S = 2 < 3.841 S = 2 < 3.841 S=2<3.841
    因此,我们不能拒绝原假设,认为均值 μ = 2.5 \mu = 2.5 μ=2.5 是合理的。

总结

通过这个案例,我们展示了如何应用Score检验来检验正态分布的均值。我们通过计算得分函数、Fisher信息矩阵,得到检验统计量,并根据卡方分布进行假设检验。


Score检验的依据

Score检验的依据主要来源于大样本统计理论中的得分函数渐近分布的性质。要理解为什么Score得分能够用来进行假设检验,我们需要从以下几个核心的概念和推导来详细解释:

1. 得分函数与似然函数

假设我们有一个模型,包含未知的参数 θ \theta θ,而我们从该模型中获取了样本数据 X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn。似然函数 L ( θ ) L(\theta) L(θ) 描述了参数 θ \theta θ 给定数据的可能性,具体是:
L ( θ ) = P ( X 1 , X 2 , … , X n ∣ θ ) L(\theta) = P(X_1, X_2, \dots, X_n \mid \theta) L(θ)=P(X1,X2,,Xnθ)
而我们对似然函数取对数,得到对数似然函数:
ℓ ( θ ) = log ⁡ L ( θ ) \ell(\theta) = \log L(\theta) (θ)=logL(θ)

得分函数是对数似然函数关于参数 θ \theta θ 的一阶导数:
U ( θ ) = ∂ ∂ θ ℓ ( θ ) U(\theta) = \frac{\partial}{\partial \theta} \ell(\theta) U(θ)=θ(θ)
得分函数的直观意义是:它反映了似然函数相对于参数变化的灵敏度,即数据给定时,参数的变化方向和大小。得分函数为零的点通常是最大似然估计(MLE)的候选点。

2. 大样本渐近理论

在大样本条件下,似然估计 θ ^ \hat{\theta} θ^ 具有一致性和渐近正态性,也就是说,随着样本量 n → ∞ n \to \infty n θ ^ \hat{\theta} θ^ 会收敛到真实值 θ 0 \theta_0 θ0,并且其分布趋向于正态分布。

  • 似然函数在 θ 0 \theta_0 θ0 处取得最大值(即最大似然估计 θ ^ \hat{\theta} θ^),得分函数在 θ 0 \theta_0 θ0 处趋于零。
  • 得分函数的期望 E [ U ( θ 0 ) ] = 0 \mathbb{E}[U(\theta_0)] = 0 E[U(θ0)]=0,并且在 θ 0 \theta_0 θ0 处的方差由Fisher信息矩阵表示,即:
    I ( θ 0 ) = − E [ ∂ 2 ℓ ( θ 0 ) ∂ θ 2 ] I(\theta_0) = - \mathbb{E}\left[\frac{\partial^2 \ell(\theta_0)}{\partial \theta^2}\right] I(θ0)=E[θ22(θ0)]
    Fisher信息矩阵刻画了估计量的精度。

3. 渐近正态性与得分检验

在大样本条件下,得分函数 U ( θ ) U(\theta) U(θ) 和最大似然估计 θ ^ \hat{\theta} θ^ 之间有一种近似关系。具体地,得分函数可以用来检验原假设 H 0 : θ = θ 0 H_0: \theta = \theta_0 H0:θ=θ0 是否成立。

通过大样本的渐近理论,如果我们假设参数 θ \theta θ 在原假设 H 0 H_0 H0 下等于某个特定值 θ 0 \theta_0 θ0,则得分函数 U ( θ 0 ) U(\theta_0) U(θ0) 的分布近似为:
U ( θ 0 ) ∼ N ( 0 , I ( θ 0 ) ) U(\theta_0) \sim \mathcal{N}(0, I(\theta_0)) U(θ0)N(0,I(θ0))
换句话说,在原假设 H 0 H_0 H0 下,得分函数趋近于正态分布,均值为零,方差为Fisher信息矩阵的逆。

4. Score检验的构造与依据

Score检验的核心思想就是利用得分函数的这一渐近性质来进行假设检验。具体地,我们检验某个参数是否为特定值(如 θ 0 \theta_0 θ0)。在原假设 H 0 : θ = θ 0 H_0: \theta = \theta_0 H0:θ=θ0 下,得分函数的期望为零,且其方差由Fisher信息矩阵给出。因此,我们可以构造如下的检验统计量:
S = U ( θ ^ 0 ) T I ( θ ^ 0 ) − 1 U ( θ ^ 0 ) S = U(\hat{\theta}_0)^T I(\hat{\theta}_0)^{-1} U(\hat{\theta}_0) S=U(θ^0)TI(θ^0)1U(θ^0)
在原假设 H 0 H_0 H0 下,统计量 S S S 服从卡方分布 χ k 2 \chi^2_k χk2(其中 k k k 是参数的维度),因此可以根据卡方分布进行假设检验。

为什么得分函数能用来判断?
  1. 得分函数的渐近零性:在原假设 H 0 H_0 H0 下,得分函数趋于零。通过计算得分函数的值,我们实际上在测试是否存在显著的偏离原假设。如果得分函数不接近零,那么原假设就可能被拒绝。

  2. 大样本近似正态性:得分函数在大样本下服从正态分布,均值为零,方差由Fisher信息矩阵控制。因此,得分函数的平方和标准化后(通过 Fisher信息矩阵)可以构成检验统计量,这个统计量在大样本下呈现卡方分布,从而可以用来做假设检验。

5. 总结

Score检验的依据是基于得分函数在大样本下的渐近分布特性:

  • 得分函数反映了似然函数对参数变化的灵敏度。
  • 在原假设下,得分函数的期望为零,并且其分布近似正态,标准化后服从卡方分布。
  • 因此,Score检验通过得分函数与Fisher信息矩阵的组合,构造检验统计量,利用卡方分布来进行假设检验。

通过这一过程,Score检验能够有效地判断原假设是否成立,尤其适用于大样本的情形。

相关文章:

【返璞归真】score检验:似然比的得分检验(Likelihood Ratio Score Test)

Score检验&#xff08;Score Test&#xff09;是一种用于假设检验的方法&#xff0c;特别是在统计建模中&#xff0c;常用于估计模型参数时检验某个假设是否成立。它的全名是“似然比的得分检验”&#xff08;Likelihood Ratio Score Test&#xff09;&#xff0c;通常用于大样…...

三维重建(六)——3D Representation Methods: A Survey(北大总结三维表征--2024.10出版)

文章目录 一、摘要二、引言2.1 研究焦点和发展历程三、3D表征3.1 体素网格3.2 点云3.3 网格3.4 符号距离函数(SDF)3.5 神经辐射场(NeRF)3.6 三维高斯溅射(3D Gaussian Splatting, 3DGS)3.7 混合方法3.7.1 深度步进四面体(Deep Marching Tetrahedra, DMTet)3.7.2 三平面…...

html基础-认识html

1.什么是html html是浏览器可以识别的的标记语言&#xff0c;我们在浏览器浏览的网页就是一个个的html文档 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>认识html</title> </head> <body><h1…...

UE5 跟踪能力的简单小怪

A、思路 1、用素材的骨骼网格体创建小怪BP&#xff0c;绑定新的小怪控制器。 2、控制器的事件开始时&#xff0c;获取玩家状态&#xff0c;指定AI小怪自动向玩家移动。 复杂的AI需要用强大功能如黑板、行为树。 而简单的AI则可以用简单方法实现&#xff0c;杀鸡不用牛刀。视…...

Ubantu22系统安装Miniconda3

1、Anaconda和Miniconda异同 清华源镜像的Miniconda3和Anaconda都是用于管理Python环境和软件包的工具&#xff0c;但它们之间存在一些关键的不同之处。下面将分别介绍它们的特点以及使用清华源镜像的差异。 相同点&#xff1a; &#xff08;1&#xff09;功能相似&#xff1a…...

130、java中在使用new ArrayList<>(),在参数中传入一个集合的作用

在Java中&#xff0c;当你使用new ArrayList<>()时&#xff0c;你正在创建一个新的ArrayList实例。如果你在其后跟一对尖括号&#xff0c;并在内部传入一个集合&#xff0c;那么这实际上是一个"初始容量"的概念。 例如&#xff0c;如果你有一个集合otherList&…...

Mybatis-plus-Join--分页查询

数据表四张&#xff1a; user&#xff1a; id,username,create_time,update_time product&#xff1a; id,name,price,number(库存),create_time,update_times order&#xff1a; id,quantity,order_time(下单时间),update_time order_detail:id,product_id,order_id,quant…...

对BG兼并点的理解-不断刷新版

常想常新&#xff0c;每次接触都有新理解&#xff0c;不确定想的是否正确&#xff0c;拿出来讨论&#xff0c;以最新结论为准 2024-9-19 1、仿真简并点时需要断开启动电路&#xff1a;启动电路会干扰DC结果的计算&#xff0c;可能看到加启动电路后简并点减少&#xff0c;但在…...

python的游标是什么

CURSOR&#xff08;私有SQL 区&#xff09;就是一个句柄&#xff0c;即指针或引用&#xff0c;指向sql私有区&#xff08;一个用户的能打开的cursor数由参数open_cursors决定&#xff09;【确切说&#xff0c;指向sql私有区里的固定部分&#xff08;The persistentarea&#xf…...

硬件---14---PCB学习:PCB封装库及布局操作

一PCB封装元素的组成与介绍 二实例-贴片0603封装的创建 1封装命名 找不到封装库创建页面&#xff0c;可以配合右下角的Panels去找。 找到0603电阻或者电容的PCB封装&#xff0c;根据提供尺寸去设计PCB的封装。 <1>双击PCB器件封装 <2>命名 2放置焊盘&#xff…...

什么是MyBatis

MyBatis 简介 MyBatis 是一个流行的 Java 持久层框架&#xff08;Persistence Framework&#xff09;&#xff0c;它主要用于简化数据库操作&#xff0c;提供了对数据库的映射支持&#xff0c;使得开发人员能够通过简单的配置和映射文件来执行数据库操作&#xff08;如增、删、…...

开发技术-Java改变图片格式

图片上传页未做控制&#xff0c;导致上传的是GIF格式&#xff0c;导致图片识别失败。需要将GIF格式转为JPEG格式。 代码&#xff0c;是找AI写的&#xff0c;记录一下&#xff1a; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; im…...

基于DockerCompose搭建Redis主从哨兵模式

linux目录结构 内网配置 哨兵配置文件如下&#xff0c;创建3个哨兵配置文件 # sentinel26379.conf sentinel26380.conf sentinel26381.conf 内容如下 protected-mode no sentinel monitor mymaster redis-master 6379 2 sentinel down-after-milliseconds mymaster 60000 s…...

aioice里面candidate固定UDP端口测试

环境&#xff1a; aioice0.9.0 问题描述&#xff1a; aioice里面candidate固定UDP端口测试 解决方案&#xff1a; /miniconda3/envs/nerfstream/lib/python3.10/site-packages/aioice import hashlib import ipaddress import random from typing import Optional import…...

Git使用教程-分支使用/合并分支提交

Git使用教程-分支使用 文章目录 Git使用教程-分支使用一、分支&#xff08;branch&#xff09;的基本操作&#xff1a;二、查看分支&#xff1a;参考 一、分支&#xff08;branch&#xff09;的基本操作&#xff1a; git clone https://.git git status …...

单元测试使用记录

什么是单元测试 简单来说就是对一个类中的方法进行测试&#xff0c;对输出的结果检查判断是否符合预期结果 但是在多年的工作中&#xff0c;从来没有哪个项目中真正系统的用到了单元测试&#xff0c;因此对它还是很陌生的&#xff0c;也就造成更加不会在项目中区使用它。 如何…...

LabVIEW实时信号采集与频谱分析

系统通过LabVIEW与PXIe硬件结合&#xff0c;实现高精度模拟信号的实时采集、频谱分析与可视化显示。核心功能包括采样率配置、快速傅里叶变换&#xff08;FFT&#xff09;、功率谱图生成及动态缩放调整&#xff0c;同时支持信号平均与噪声抑制。系统设计灵活&#xff0c;适用于…...

OpenCV(python)从入门到精通——运算操作

加法减法操作 import cv2 as cv import numpy as npx np.uint8([250]) y np.uint8([10])x_1 np.uint8([10]) y_1 np.uint8([20])# 加法,相加最大只能为255 print(cv.add(x,y))# 减法&#xff0c;相互减最小值只能为0 print(cv.subtract(x_1,y_1))图像加法 import cv2 as…...

基础2:值类型与右值引用

1.函数返回 在讲解右值之前&#xff0c;要知道下面这个函数要进行几次拷贝以及为什么&#xff1f; int get_x() {int x 20;return x; }int aget_x(); 答案&#xff1a;两次 # 第一次 int tmpa; # 第二次 int xtmp;2.左值与右值 &#x1f34f;2.1 能取地址操作的就是左值 …...

GitHub年度报告发布!Python首次超越JavaScript

全球开发者数量激增&#xff0c;GenAI 项目呈爆炸式增长趋势&#xff0c;推动编程语言的应用格局也发生了巨大变化&#xff0c;最新的 GitHub Octoverse 报告来了&#xff01; 1、Python 首次超越 JavaScript&#xff0c;成为 GitHub 平台最顶级编程语言 不同于流传“AI 即将取…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...