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

为什么样本方差(sample variance)的分母是 n-1?

样本均值与样本方差的定义

首先来看一下均值,方差,样本均值与样本方差的定义
总体均值的定义:
μ = 1 n ∑ i = 1 n X i \mu=\frac{1}{n}\sum_{i=1}^{n} X_i μ=n1i=1nXi
也就是将总体中所有的样本值加总除以个数,也可以叫做总体的数学期望或简称期望

总体方差的定义:
σ 2 = 1 n ∑ i = 1 n ( X i − μ ) 2 \sigma ^2=\frac {1}{n}\sum_{i=1}^{n} (X_i-\mu)^2 σ2=n1i=1n(Xiμ)2
总体中全部样本各数值与总体均值差的平方和的平均数,用来衡量随机变量或一组数据离散程度的度量。

在实际应用中,我们一般是拿不到总体的均值与总体的方差,只能通过抽样得到的样本均值与样本方差来估计总体的均值与方差。于是我们就得到了样本均值和样本方差:
样本均值的定义
X ˉ = 1 n ∑ i = 1 n X i \bar {X}=\frac{1}{n}\sum_{i=1}^{n} X_i Xˉ=n1i=1nXi

样本方差的定义
S 2 = 1 n − 1 ∑ i = 1 n ( X i − X ˉ ) 2 S^2=\frac{1}{n-1} \sum_{i=1}^{n} (X_i - \bar X)^2 S2=n11i=1n(XiXˉ)2

对比总体方差的公式,样本方差的公式的系数为什么变为了 1 n − 1 \frac{1}{n-1} n11

通俗理解-自由度

一个比较通俗的的理解就是自由度,可以理解为对应的独立信息量。样本均值和样本方差就是抽样后把所有的独立的信息量(这里的独立的信息量就是数值,包含了均值和方差的信息)平均得到,在计算样本方差时用 X ˉ \bar X Xˉ替代了总体均值 μ \mu μ,自由度减少了一个。

假设只采样了两个样本 X 1 , X 2 X_1,X_2 X1X2,这其中的信息量是多少呢?方差是计算样本之间的偏离程度,所以一个独立有效的信息量就是这个数值减去均值。在计算方差时分子有两项: ( X 1 − X ˉ ) 2 (X_1-\bar X)^2 (X1Xˉ)2 ( X 2 − X ˉ ) 2 (X_2-\bar X)^2 (X2Xˉ)2 . 要算第一个样本的偏离程度,毋庸置疑只能老老实实算 ( X 1 − X ˉ ) (X_1-\bar X) (X1Xˉ);但是,第二个样本呢?计算 ( X 2 − X ˉ ) (X_2-\bar X) (X2Xˉ) 吗?其实还有另外一种方法,因为 X ˉ = X 1 + X 2 2 \bar X=\frac{X_1+X_2}{2} Xˉ=2X1+X2 X 1 X_1 X1 X 2 X_2 X2 其实是对于 X ˉ \bar X Xˉ对称的。所以其实 ( X 2 − X ˉ ) = ( 2 X ˉ − X 1 − X ˉ ) = − ( X 1 − X ˉ ) (X_2-\bar X)=(2\bar X-X_1-\bar X)=-(X_1-\bar X) (X2Xˉ)=(2XˉX1Xˉ)=(X1Xˉ)。也就是我们在用样本均值 X ˉ \bar X Xˉ替代总体均值后,只要 X 1 X_1 X1确定了之后, X 2 X_2 X2是可以根据 X 1 X_1 X1推出来具体数值的,实际能够有效提供样本到 X ˉ \bar X Xˉ的偏移量的信息数只有一条 X 1 X_1 X1

我们对这种现象可以有一个表述:就是 ( X 2 − X ˉ ) (X_2-\bar X) (X2Xˉ) 是不自由的,因为从之前的式子可以推出它。当然,对称地,我们也可以说 ( X 1 − X ˉ ) (X_1-\bar X) (X1Xˉ)是不自由的。总之,这两个式子当中,只有一个是自由的,所以我们称这两个式子的自由度为 1.所以在两个样本求方差的时候要除1,应为实际应用到方差计算种的只有 ( X 1 − X ˉ ) (X_1-\bar X) (X1Xˉ)这一个有效信息。

同样,将样本数增加至三个,当有两个样本 X 1 , X 2 X_1,X_2 X1X2并且知道 X ˉ \bar X Xˉ的情况下,我们就可以推出第三个样本 X 3 X_3 X3的值,对应的自由度为 2.

以此类推,当我们有 n n n个样本的时候,其自由度为 n − 1 n - 1 n1.也就是说,当我们有 n n n 个样本的时候,我们虽然看起来在分子上做了 n n n 个减法,但实际上我们只算出了 n − 1 n - 1 n1 个偏差量。因此,做平均的时候,要除以的分母就是 n − 1 n - 1 n1

但是,为什么 n 个减法做完,自由度只有 n - 1?是谁从中搞鬼,偷走了一个自由度?答案很简单,是 X ˉ \bar X Xˉ 。注意在总体方差中,隐含的分布均值是 μ \mu μ ,这个均值是知道了总体的分布后计算出来的,而在样本方差中 μ \mu μ 是未知的,所以在估计方差之前,我们会需要先找一个 μ \mu μ 的代替,也就是 X ˉ \bar X Xˉ ,而 X ˉ \bar X Xˉ是根据样本算出来的. 也就是说,在用 X ˉ \bar X Xˉ 代替 μ \mu μ 的过程中,我们损失了一个自由度。

那么,如果问题的背景变了,我们知道隐含的分布均值 μ \mu μ ,只是不知道 σ 2 \sigma^2 σ2 ,那我们该如何估计 σ 2 \sigma^2 σ2?这种情况下求方差就变成了符合直觉的 ( X 1 − μ ) 2 + ( X 2 − μ ) 2 + ⋯ + ( X n − μ ) 2 n \frac{(X_1-\mu)^2+(X_2-\mu)^2+\dots+(X_n-\mu)^2}{n} n(X1μ)2+(X2μ)2++(Xnμ)2

严密推导过程

估计量的评选标准

当我们用抽样的方法去估计总体时,总是希望每次抽样的结果尽可能的靠近实际的总体评估量,同时抽取的样本越多时越接近实际的总体评估量。对于评估量的好坏有如下三个评价指标

无偏性

θ \theta θ是总体的未知参数, X 1 , X 2 , . . . . . X n X_1,X_2,.....X_n X1,X2,.....Xn是总体的一个样本, θ ^ \widehat \theta θ 是参数的一个估计量,若
E ( θ ^ ) = θ E(\widehat \theta)=\theta E(θ )=θ
则称 θ ^ \widehat \theta θ θ \theta θ的一个无偏估计量
无偏性简单来说就是取样后得到的估计量 θ ^ \widehat \theta θ 的期望就等于总体的估计量。

考虑如下一个打靶的例子。如果有一个射击高手打靶,那么结果总会在靶心附近(总体期望 θ \theta θ),那么我们一般会通过打靶结果(也就是样本 θ ^ \widehat \theta θ )认为这是一个熟练的射击手,对于多次的打靶结果我们对其打靶结果的期望是靶心( E ( θ ^ ) = θ E(\widehat \theta)=\theta E(θ )=θ),也就是无偏的。
在这里插入图片描述

但如果出现了如下这种结果,通过这些样本我们就会猜测集中在一点附近可能是一个射击高手,这个偏差可能是由于瞄准镜歪了这种导致的呢
在这里插入图片描述

对于这种稳定影响结果的因素导致的偏差称为系统偏差,也就是 E ( θ ^ ) − θ E(\widehat \theta)-\theta E(θ )θ。无偏估计的实际意义就是无系统偏差。很明显无偏估计更接近实际的总体统计量

有效性

θ ^ 1 {\widehat \theta}_1 θ 1 θ ^ 2 {\widehat \theta}_2 θ 2都是样本 X 1 , X 2 , . . . . . X n X_1,X_2,.....X_n X1,X2,.....Xn的无偏估计量,若对于任意取值范围里有 D ( θ ^ 1 ) ≤ D ( θ ^ 2 ) D({\widehat \theta}_1) \le D({\widehat \theta}_2) D(θ 1)D(θ 2),
θ ^ 1 {\widehat \theta}_1 θ 1 θ ^ 2 {\widehat \theta}_2 θ 2更加有效。
有效性就是同样无偏的估计量,更集中,方差更小的估计量更好
接着考虑如下打靶结果,虽然期望都是靶心,但是很明显后面的结果更加集中,相应的评估效果也会更好
在这里插入图片描述

相合性

之前的无偏性和一致性都是在样本容量固定为n的情况下讨论的,而如果样本容量越来越多时,一个估计量能稳定于待估的参数真值
相合性大样本条件下,估计值等于实际值.对于任意 θ > 0 \theta >0 θ>0,有
lim ⁡ n → ∞ P ( ∣ θ ^ − θ ∣ < ε ) = 1. \lim\limits_{n\to\infty}P\left(|\hat\theta-\theta| < \varepsilon\right)=1. nlimP(θ^θ<ε)=1.

推导

首先来看一下在分母为n的情况下样本方差是不是总体方差的无偏估计量:
E ( S 2 ) = E [ 1 n ∑ i = 1 n ( X i − X ˉ ) 2 ] = E [ 1 n ∑ i = 1 n ( ( X i − μ ) − ( X ˉ − μ ) ) 2 ] = E [ 1 n ∑ i = 1 n ( ( X i − μ ) 2 − 2 ( X i − μ ) ( X ˉ − μ ) + ( X ˉ − μ ) 2 ) ] = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( X ˉ − μ ) ∑ i = 1 n ( X i − μ ) + 1 n ( X ˉ − μ ) 2 ∑ i = 1 n 1 ] = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( X ˉ − μ ) ∑ i = 1 n ( X i − μ ) + ( X ˉ − μ ) 2 ] \begin{aligned} E(S^2) &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \bar X)^2 \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} \Bigg( (X_i - \mu)-(\bar X - \mu) \Bigg)^2 \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} \Bigg( (X_i - \mu)^2-2(X_i - \mu)(\bar X - \mu)+(\bar X - \mu)^2 \Bigg) \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \mu)^2- \frac{2}{n} (\bar X - \mu) \sum_{i=1}^{n}(X_i - \mu)+ \frac{1}{n} (\bar X - \mu)^2 \sum_{i=1}^{n} 1 \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \mu)^2- \frac{2}{n} (\bar X - \mu) \sum_{i=1}^{n}(X_i - \mu)+ (\bar X - \mu)^2 \right ] \end{aligned} E(S2)=E[n1i=1n(XiXˉ)2]=E n1i=1n((Xiμ)(Xˉμ))2 =E[n1i=1n((Xiμ)22(Xiμ)(Xˉμ)+(Xˉμ)2)]=E[n1i=1n(Xiμ)2n2(Xˉμ)i=1n(Xiμ)+n1(Xˉμ)2i=1n1]=E[n1i=1n(Xiμ)2n2(Xˉμ)i=1n(Xiμ)+(Xˉμ)2]

其中
X ˉ − μ = 1 n ∑ i = 1 n X i − 1 n ∑ i = 1 n μ = 1 n ∑ i = 1 n ( X i − μ ) \bar X - \mu=\frac{1}{n}\sum_{i=1}^{n} X_i-\frac{1}{n}\sum_{i=1}^{n} \mu=\frac{1}{n}\sum_{i=1}^{n} (X_i-\mu) Xˉμ=n1i=1nXin1i=1nμ=n1i=1n(Xiμ)

接着计算有:
E ( S 2 ) = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( X ˉ − μ ) ∑ i = 1 n ( X i − μ ) + ( X ˉ − μ ) 2 ] = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − 2 n ( X ˉ − μ ) ⋅ n ⋅ ( X ˉ − μ ) + ( X ˉ − μ ) 2 ] = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 − ( X ˉ − μ ) 2 ] = E [ 1 n ∑ i = 1 n ( X i − μ ) 2 ] − E [ ( X ˉ − μ ) 2 ] = σ 2 − E [ ( X ˉ − μ ) 2 ] \begin{aligned} E(S^2) &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \mu)^2- \frac{2}{n} (\bar X - \mu) \sum_{i=1}^{n}(X_i - \mu)+ (\bar X - \mu)^2 \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \mu)^2- \frac{2}{n} (\bar X - \mu) \cdot n \cdot (\bar X - \mu)+ (\bar X - \mu)^2 \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \mu)^2- (\bar X - \mu)^2 \right ] \\ &= E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \mu)^2 \right ]- E \bigg [(\bar X - \mu)^2 \bigg ] \\ &= \sigma^2-E \bigg [(\bar X - \mu)^2 \bigg ] \end{aligned} E(S2)=E[n1i=1n(Xiμ)2n2(Xˉμ)i=1n(Xiμ)+(Xˉμ)2]=E[n1i=1n(Xiμ)2n2(Xˉμ)n(Xˉμ)+(Xˉμ)2]=E[n1i=1n(Xiμ)2(Xˉμ)2]=E[n1i=1n(Xiμ)2]E[(Xˉμ)2]=σ2E[(Xˉμ)2]
可以看到同样在除以 n n n的情况下只有当 X ˉ = μ \bar X = \mu Xˉ=μ时才有 E ( S 2 ) = σ 2 E(S^2)= \sigma^2 E(S2)=σ2,在其他情况下 E ( S 2 ) E(S^2) E(S2)都是小于 σ 2 \sigma^2 σ2的。这一个结果也很好理解,只要样本均值 X ˉ \bar X Xˉ越偏离总体均值 μ \mu μ,样本也就越偏离总体均值。

请添加图片描述
接下来就是要计算出差异 E [ ( X ˉ − μ ) 2 ] E \bigg [(\bar X - \mu)^2 \bigg ] E[(Xˉμ)2]是多少

E ( X ˉ ) = E ( 1 n ∑ i = 1 n X i ) = 1 n ∑ i = 1 n E ( X i ) = 1 n ∑ i = 1 n μ = μ E(\bar{X}) = E\bigg(\frac{1}{n} \sum_{i=1}^{n} X_i\bigg) = \frac{1}{n}\sum_{i=1}^nE(X_i) = \frac{1}{n}\sum_{i=1}^n \mu = \mu E(Xˉ)=E(n1i=1nXi)=n1i=1nE(Xi)=n1i=1nμ=μ
D ( a X i ) = a 2 D ( X i ) D(aX_i) = a^2 D(X_i) D(aXi)=a2D(Xi)
代入有:
E [ ( X ˉ − μ ) 2 ] = E [ ( X ˉ − E ( X ˉ ) ) 2 ] = D ( X ˉ ) = D ( 1 n ∑ i = 1 n X i ) = 1 n 2 ∑ i = 1 n D ( X i ) = 1 n 2 ⋅ n σ 2 = σ 2 n \begin{aligned} E \bigg [(\bar X - \mu)^2 \bigg ] &= E \bigg [(\bar X - E(\bar{X}))^2 \bigg ] \\ &=D(\bar{X})\\ &=D\bigg(\frac{1}{n} \sum_{i=1}^{n} X_i\bigg)\\ &=\frac{1}{n^2} \sum_{i=1}^{n} D(X_i) \\ &=\frac{1}{n^2} \cdot n \sigma^2 \\ &=\frac{\sigma^2}{n} \end{aligned} E[(Xˉμ)2]=E[(XˉE(Xˉ))2]=D(Xˉ)=D(n1i=1nXi)=n21i=1nD(Xi)=n21nσ2=nσ2
所以
E ( S 2 ) = σ 2 − E [ ( X ˉ − μ ) 2 ] = n − 1 n σ 2 E(S^2) = \sigma^2-E \bigg [(\bar X - \mu)^2 \bigg ] =\frac{n-1}{n}\sigma^2 E(S2)=σ2E[(Xˉμ)2]=nn1σ2

进行一下调整,即有
n n − 1 E ( S 2 ) = n n − 1 E [ 1 n ∑ i = 1 n ( X i − X ˉ ) 2 ] = E [ 1 n − 1 ∑ i = 1 n ( X i − X ˉ ) 2 ] = σ 2 \frac{n}{n-1}E(S^2)=\frac{n}{n-1} E \left [ \frac{1}{n} \sum_{i=1}^{n} (X_i - \bar X)^2 \right ]=E \left [ \frac{1}{n-1} \sum_{i=1}^{n} (X_i - \bar X)^2 \right ]=\sigma^2 n1nE(S2)=n1nE[n1i=1n(XiXˉ)2]=E[n11i=1n(XiXˉ)2]=σ2

这样得到的就是无偏的估计

https://www.zhihu.com/question/20099757
https://www.zhihu.com/question/22983179

相关文章:

为什么样本方差(sample variance)的分母是 n-1?

样本均值与样本方差的定义 首先来看一下均值&#xff0c;方差&#xff0c;样本均值与样本方差的定义 总体均值的定义&#xff1a; μ 1 n ∑ i 1 n X i \mu\frac{1}{n}\sum_{i1}^{n} X_i μn1​i1∑n​Xi​ 也就是将总体中所有的样本值加总除以个数&#xff0c;也可以叫做总…...

编解码器架构

一、定义 0、机器翻译是序列转换模型的一个核心问题&#xff0c; 其输入和输出都是长度可变的序列。 为了处理这种类型的输入和输出&#xff0c; 我们设计一个包含两个主要组件的架构&#xff1a; 第一个组件是一个编码器&#xff08;encoder&#xff09;&#xff1a; 它接受一…...

追问试面试系列:JVM运行时数据区

hi 欢迎来到追问试面试系列之JVM运行时数据区,在面试中出现频率非常高,并且其中还存在一些误导性的面试,一定要注意。 什么误导性呢?面试中,有的面试官本来是想问JVM运行时数据区,不过提问时难免有些让你觉得很不爽。比如:你说说java内存模型,还比如说说JVM内存模型,…...

React Native在移动端落地实践

在移动互联网产品迅猛发展的今天&#xff0c;技术的不断创新使得企业越来越注重降低成本、提升效率。为了在有限的开发资源下迅速推出高质量、用户体验好的产品&#xff0c;以实现公司发展&#xff0c;业界催生了许多移动端跨平台解决方案。这些方案不仅简化了开发流程&#xf…...

《操作系统》(学习笔记)(王道)

一、计算机系统概述 1.1 操作系统的基本概念 1.1.1 操作系统的概念 1.1.2 操作系统的特征 1.1.3 操作系统的目标和功能 1.2 操作系统的发展与分类 1.2.1 手工操作阶段&#xff08;此阶段无操作系统&#xff09; 1.2.2 批处理阶段&#xff08;操作系统开始出现&#xff0…...

LabVIEW学习-LabVIEW处理带分隔符的字符串从而获取数据

带分隔符的字符串很好处理&#xff0c;只需要使用"分隔符字符串至一维字符串数组"函数或者"一维字符串数组至分隔符字符串"函数就可以很轻松地处理带分隔符地字符串。 这两个函数所在的位置为&#xff1a; 函数选板->字符串->附加字符串函数->分…...

freesql简单使用操作mysql数据库

参考&#xff1a;freesql中文官网指南 | FreeSql 官方文档 这两天准备做一个测试程序&#xff0c;往一个系统的数据表插入一批模拟设备数据&#xff0c;然后还要模拟设备终端发送数据包&#xff0c;看看系统的承压能力。 因为系统使用的第三方框架中用到了freesql&#xff0c…...

使用Java和Spring Retry实现重试机制

使用Java和Spring Retry实现重试机制 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我们将探讨如何在Java中使用Spring Retry来实现重试机制。重试机制在处理临时性故障和提高系统稳…...

Linux Vim教程(十):自定义配置与插件管理

目录 1. 概述 2. Vim 配置文件 2.1 .vimrc 文件 2.2 .gvimrc 文件 3. 自定义配置 3.1 自定义快捷键 3.2 自动命令 3.3 函数定义 4. 插件管理 4.1 插件管理工具 4.1.1 安装 vim-plug 4.1.2 配置 vim-plug 4.1.3 安装插件 4.2 常用插件 4.2.1 NERDTree 4.2.2 Fzf…...

代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?

代理IP协议是一种网络代理技术&#xff0c;可以实现隐藏客户端IP地址、加速网站访问、过滤网络内容、访问内网资源等功能。常用的IP代理协议主要有Socks5代理、HTTP代理、HTTPS代理这三种。代理IP协议主要用于分组交换计算机通信网络的互联系统中使用&#xff0c;只负责数据的路…...

Verilog语言和C语言的本质区别是什么?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 用老石的一句话其实很好说…...

Delphi5实现鱼C屏幕保护程序

效果图 鱼C屏幕保护程序 添加背景图片 在additional添加image组件&#xff0c;修改picture属性上传图片。 这个图片可以截屏桌面&#xff0c;方便后面满屏不留白操作。实现无边框 即上面的“- □ ”不显示 将Form1的borderstyle属性改为bsnone实现最大化&#xff0c;满屏 将…...

【计算机毕业设计】844学籍管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…...

Java之开发 系统设计 分布式 高性能 高可用

1、restful api 基于rest构建的api 规范&#xff1a; post delete put get 增删改查路径 接口命名 过滤信息状态码 2、软件开发流程 3、命名规范 类名&#xff1a;大驼峰方法名&#xff1a;小驼峰成员变量、局部变量&#xff1a;小驼峰测试方法名&#xff1a;蛇形命名 下划…...

java连接redis和基础操作命令

引入依赖 <!--引入java连接redis的驱动--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.1</version></dependency> 单机模式连接redis main(){ //连接redis的信息 默认连接…...

土耳其云手机提升TikTok电商效率

在数字化飞速发展的今天&#xff0c;TikTok不仅是一个社交平台&#xff0c;更是一个巨大的电商市场。随着TikTok电商功能在全球范围内的扩展&#xff0c;土耳其的商家和内容创作者正面临着前所未有的机遇。本文将详细介绍土耳其云手机怎样帮助商家抓住机遇&#xff0c;实现业务…...

《Utilizing Ensemble Learning for Detecting Multi-Modal Fake News》

系列论文研读目录 文章目录 系列论文研读目录论文题目含义ABSTRACTINDEX TERMSI. INTRODUCTIONII. RELATED WORKA. FAKE NEWS CLASSIFICATION APPROACHES FOR SINGLE-MODALITY 单模态虚假新闻分类方法1) SINGLE-MODALITY BASED CLASSIFICATION APPROACHES USING TEXTUAL FEATUR…...

Oracle集群RAC磁盘管理命令asmcmd的使用

文章目录 ASM磁盘共享简介ASM磁盘共享的优势ASM磁盘组成ASM磁盘共享的应用场景Asmcmd简介Asmcmd的功能Asmcmd的命令Asmcmd的使用注意事项Asmcmd运行模式交互模式运行非交互模式运行ASMCMD命令分类实例管理命令:文件管理命令:磁盘组管理命令:模板管理命令:文件访问管理命令:…...

vscode插件开发笔记——大模型应用之AI编程助手

系列文章目录 文章目录 系列文章目录前言一、代码补全 前言 最近在开发vscode插件相关的项目&#xff0c;网上很少有关于大模型作为AI 编程助手这方面的教程。因此&#xff0c;借此机会把最近写的几个demo分享记录一下。 一、代码补全 思路&#xff1a; 读取vscode插件上鼠…...

@JSONField(format = “yyyyMMddHH“)的作用和使用

JySellerItqrdDataDO对象中的字段为&#xff1a; private Date crdat; 2.数据库中的相应字段为&#xff1a; crdat datetime DEFAULT NULL COMMENT 创建时间,2. 打印出的结果为&#xff1a; “crdat”:“2024072718” 年月日时分秒 3. 可以调整format的格式 4. 这样就把Date类…...

计算机网络 6.1Internet概念

第六章 Internet基础 第一节 Internet概念 一、认识Internet 1.定义&#xff1a;集现代计算机技术、通信技术于一体的全球性计算机互联网。 2.地位&#xff1a;当今世界上规模最大的计算机互联网。 3.使用协议&#xff1a;TCP/IP。 4.基本结构&#xff1a; ​ ①主干网…...

编写SpringBoot的自定义starter包

starter项目 先来看一下Starter的官方解释&#xff1a; Spring Boot Starter 是一种方便的依赖管理方式&#xff0c;它封装了特定功能或技术栈的所有必要依赖项和配置&#xff0c;使得开发者可以快速地将这些功能集成到Spring Boot项目中。Spring Boot官方提供了一系列的Star…...

【LeetCode:3106. 满足距离约束且字典序最小的字符串 + 贪心】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

25 Python常用函数——reduce()

在 Python 3.x 中&#xff0c;reduce() 不是内置函数&#xff0c;而是放到了标准库 functools 中&#xff0c;需要先导入再使用。 标准库 functools 中的函数 reduce() 可以将一个接受两个参数的函数以迭代累积的方式从左到右依次作用到一个序列或迭代器对象的所有元素上&#…...

oracle登录报“ORA-27101: shared memory realm does not exist”

oracle登录报“ORA-27101: shared memory realm does not exist” 问题&#xff1a; 1、使用ip:1521/服务名方式连库报错" ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory" 2、sqlplus XX/密码 可以登录数据库 …...

界面控件Telerik UI for WPF 2024 Q2亮点 - 全新的AIPrompt组件

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序&#xff0c;同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等&#xff0c;创建的应用程序可靠且结构良好&#xff0c;非常容易维护&#xff0c;其直观的API将无缝地集成Visual Studio…...

IT服务运营过程中的资源要素管理(至简)

在IT服务运营管理过程中&#xff0c;所有资源要投入正式、连续、稳定运行&#xff0c;要保持规范化的管理和标准化的操作&#xff0c;具体包括工具管理、知识管理、服务台管理与评价、备件库管理等内容。 一、工具管理 1、工具的基本运营。见下表&#xff1a; 工具的基本运营…...

wodpress设置固定链接的方式和好处【SEO优化】

设置固定链接的好处 提高用户体验&#xff1a;固定链接使得网址更加直观和易于记忆&#xff0c;用户可以更容易地分享和访问文章。 优化SEO&#xff1a;搜索引擎更倾向于索引具有清晰结构的网址&#xff0c;固定链接有助于提高网站的SEO表现。 避免URL重复&#xff1a;固定链…...

【C#】 CancellationTokenSource 与Thread的启动、取消的区别?

1.Thread的使用 Thread的使用参考&#xff1a;【C#】Thread的使用 2.CancellationTokenSource 的使用 CancellationTokenSource在C#中用于取消长时间运行的操作&#xff0c;如异步或后台任务。它允许你从外部请求一个操作的取消&#xff0c;并且被取消的操作可以通过检查Ca…...

基于 HTML+ECharts 实现智慧运维数据可视化大屏(含源码)

智慧运维数据可视化大屏&#xff1a;基于 HTML 和 ECharts 的实现 在现代企业中&#xff0c;运维管理是确保系统稳定运行的关键环节。随着数据量的激增&#xff0c;如何高效地监控和分析运维数据成为了一个重要课题。本文将介绍如何利用 HTML 和 ECharts 实现一个智慧运维数据可…...

AIGC(Artificial Intelligence Generated Content)

随着人工智能技术的飞速发展&#xff0c;AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;在各个领域的应用日益广泛&#xff0c;其中也包括前端开发的重要部分——CSS&#xff08;层叠样式表&#xff09;的优化。CSS作为网页设计中控制布局和样式的关键…...

02 MySQL数据库管理

目录 1.数据库的结构 sql语言主要由以下几部分组成 2. 数据库与表的创建和管理 1&#xff0c;创建数据库 2&#xff0c;创建表并添加数据 3&#xff0c;添加一条数据 4&#xff0c;查询数据 5&#xff0c;更新数据 6&#xff0c;删除数据 3.用户权限管理 1.创建用户 …...

C++编程: 使用 Nanomsg 进行 PUB-SUB 模式基准测试

文章目录 0. 引言1. Nanomsg简介1.1 可扩展性协议类型1.2 支持的传输机制1.3 NanoMsg 架构与实现 2. PUB-SUB 模式基准测试 0. 引言 Nanomsg 作为一款高性能的通信库&#xff0c;支持多种消息传递模式&#xff0c;其中包括 PUB-SUB&#xff08;发布-订阅&#xff09;。 本篇文…...

【Unity2D 2022:Data】读取csv格式文件的数据

一、创建csv文件 1. 打开Excel&#xff0c;创建xlsx格式文件 2. 编辑卡牌数据&#xff1a;这里共写了两类卡牌&#xff0c;第一类是灵物卡&#xff0c;具有编号、卡名、生命、攻击四个属性&#xff1b;第二类是法术卡&#xff0c;具有编号、卡名、效果三个属性。每类卡的第一…...

美团测开面经整理大汇总!!

大厂测开面经&#xff0c;加油加油&#xff0c;一周看一篇 美团测开面经美团测开暑期实习面经第二弹美团-地图服务部测开一面面经&#xff08;70min&#xff09;美团-优选事业部测开一面面经美团-优选事业部测开二面面经&#xff08;82min&#xff09;美团第一次测开笔试美团测…...

微信公众号获取用户openid(PHP版,snsapi_base模式)

微信公众号获取用户openid的接口有2个&#xff1a;snsapi_base、snsapi_userinfo 详情见微信公众号开发文档&#xff1a;https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 本文介绍用PHP方式调用snsapi_base接口获取微信用户…...

DuckDB核心模块揭秘 | 第1期 | 向量化执行引擎之Pipeline

DuckDB核心模块揭秘 | 第1期 | 向量化执行引擎之Pipeline DuckDB是一款非常火的OLAP嵌入式数据库&#xff0c;性能超级棒。它分为多个组件&#xff1a;解析器、逻辑规划器、优化器、物理规划器、执行器以及事务和存储管理层。其中解析器原语PgSQL的解析器&#xff1b;逻辑规划器…...

Vue如何让用户通过a链接点击下载一个excel文档

在Vue中&#xff0c;通过<a>标签让用户点击下载Excel文档&#xff0c;通常需要确保服务器支持直接下载该文件&#xff0c;并且你有一个可以直接访问该文件的URL。以下是一些步骤和示例&#xff0c;展示如何在Vue应用中实现这一功能。 1. 服务器端支持 首先&#xff0c;…...

美摄科技企业级视频拍摄与编辑SDK解决方案

在数字化浪潮汹涌的今天&#xff0c;视频已成为企业传递信息、塑造品牌、连接用户不可或缺的强大媒介。为了帮助企业轻松驾驭这一视觉盛宴的制作过程&#xff0c;美摄科技凭借其在影视级非编技术领域的深厚积累&#xff0c;推出了面向企业的专业视频拍摄与编辑SDK解决方案&…...

MySQL:增删改查、临时表、授权相关示例

目录 概念 数据完整性 主键 数据类型 精确数字 近似数字 字符串 二进制字符串 日期和时间 MySQL常用语句示例 SQL结构化查询语言 显示所有数据库 显示所有表 查看指定表的结构 查询指定表的所有列 创建一个数据库 创建表和列 插入数据记录 查询数据记录 修…...

初识git工具~~上传代码到gitee仓库的方法

目录 1.背景~~其安装 2.gitee介绍 2.1新建仓库 2.2进行相关配置 3.拉取仓库 4.服务器操作 4.1克隆操作 4.2查看本地仓库 4.3代码拖到本地仓库 4.4关于git三板斧介绍 4.4.1add操作 4.4.2commit操作 4.4.3push操作 5.一些其他说明 5.1.ignore说明 5.2git log命令 …...

Redis知识点总价

1 redis的数据结构 2 redis的线程模型 1&#xff09; Redis 采用单线程为什么还这么快 之所以 Redis 采用单线程&#xff08;网络 I/O 和执行命令&#xff09;那么快&#xff0c;有如下几个原因&#xff1a; Redis 的大部分操作都在内存中完成&#xff0c;并且采用了高效的…...

大语言模型-GPT-Generative Pre-Training

一、背景信息&#xff1a; GPT是2018 年 6 月由OpenAI 提出的预训练语言模型。 GPT可以应用于复杂的NLP任务中&#xff0c;例如文章生成&#xff0c;代码生成&#xff0c;机器翻译&#xff0c;问答对话等。 GPT也采用两阶段的训练过程&#xff0c;第一阶段是无监督的方式来预训…...

mybatis批量插入、mybatis-plus批量插入、mybatis实现insertList、mybatis自定义实现批量插入

文章目录 一、mybatis新增批量插入1.1、引入依赖1.2、自定义通用批量插入Mapper1.3、把通用方法注册到mybatisplus注入器中1.4、实现InsertList类1.5、需要批量插入的dao层继承批量插入Mapper 二、可能遇到的问题2.1、Invalid bound statement 众所周知&#xff0c;mybatisplus…...

Springboot项目的行为验证码AJ-Captcha(源码解读)

目录 前言1. 复用验证码2. 源码解读2.1 先走DefaultCaptchaServiceImpl类2.2 核心ClickWordCaptchaServiceImpl类 3. 具体使用 前言 对于Java的基本知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目…...

【初阶数据结构篇】时间(空间)复杂度

文章目录 算法复杂度时间复杂度1. 定义2. 表示方法3. 常见时间复杂度4.案例计算分析冒泡排序二分查找斐波那契数列&#xff08;递归法&#xff09;斐波那契数列&#xff08;迭代法&#xff09; 空间复杂度案例分析冒泡排序斐波那契数列&#xff08;递归法&#xff09;斐波那契数…...

C# 设计模式分类

栏目总目录 1. 创建型模式&#xff08;Creational Patterns&#xff09; 创建型模式主要关注对象的创建过程&#xff0c;包括如何实例化对象&#xff0c;并隐藏实例化的细节。 单例模式&#xff08;Singleton&#xff09;&#xff1a;确保一个类只有一个实例&#xff0c;并提…...

前端模块化CommonJS、AMD、CMD、ES6

在前端开发中&#xff0c;模块化是一种重要的代码组织方式&#xff0c;它有助于将复杂的代码拆分成可管理的小块&#xff0c;提高代码的可维护性和可重用性。CommonJS、AMD&#xff08;异步模块定义&#xff09;和CMD&#xff08;通用模块定义&#xff09;是三种不同的模块规范…...

论文阅读:(DETR)End-to-End Object Detection with Transformers

论文阅读&#xff1a;&#xff08;DETR&#xff09;End-to-End Object Detection with Transformers 参考解读&#xff1a; 论文翻译&#xff1a;End-to-End Object Detection with Transformers&#xff08;DETR&#xff09;[已完结] - 怪盗kid的文章 - 知乎 指示函数&…...

react中路由跳转以及路由传参

一、路由跳转 1.安装插件 npm install react-router-dom 2.路由配置 路由配置&#xff1a;react中简单的配置路由-CSDN博客 3.实现代码 // src/page/index/index.js// 引入 import { Link, useNavigate } from "react-router-dom";function IndexPage() {const …...