KS 检验是基于 Kolmogorov distribution,指的是

\[K=\sup_{t\in[0,1]}\left\lvert B(t)\right\rvert
\]

式中 \(B(t)\) 是布朗桥。\(K\) 的累积分布函数是

\[\Pr(K\le x)=1-2\sum_{k=1}^\infty(-1)^{k-1}\mathrm e^{-2k^2x^2}=\frac{\sqrt{2\pi}}x\sum_{k=1}^\infty\mathrm e^{-(2k-1)^2\pi^2\big/8x^2}
\]

在给定分布 \(F\) 时,统计量取 \(D_n=\sup_x\left\lvert F_n(x)-F(x)\right\rvert\)。在零假设成立的情况下,可认为样本来自给定的分布 \(F\)

\[\sqrt nD_n\xrightarrow{n\to\infty}\sup\left\lvert B(F(t))\right\rvert
\]

我们拿到 \(150\) 个一维数据,提出零假设:

\[H_0\text{:总体 }X\text{ 服从某个均匀分布。}
\]

首先把 \(150\) 个数据搞出一个经验分布函数 \(F_n(x)=1/n\sum_{i=1}^n\boldsymbol I_{[-\infty,x]}X(i)\),下面考察我们的经验分布函数和理想的均匀分布两条线的差距最大值,可以画出图来看看,虽然也看不啥来还得靠算,但毕竟这个图的配色我很喜欢所以还是放了。

计算出统计量为 \(0.0528\),\(h=0\),\(p=0.7762\),因此样本通过了 Kolmogorov-Smirnov 检验,不拒绝原假设,原样本的确取自均匀分布!


AD 检验是 KS 检验的进化,也是基于经验分布函数的,只是用另一套方法来衡量经验分布函数和理想的差距。它的统计量表示为

\[A^2=n\int_{-\infty}^\infty\frac{(F_n(x)-F(x))^2}{F(x)(1-F(x))}\mathrm dF(x)
\]

大概逻辑是,如果数据的确来自原分布,那它的累积分布函数是均匀分布。K 样本的 AD 检验大概逻辑也是类似的,把样本聚成一个整体,然后把每个样本的线打上去对比以下差距,落在可接受的范围内就是通过了。

K 样本下的 AD 检验没有现成的程序,我就不会了。不过我清华数学系学统计的哥们跟我说检验通过了,那就是通过了。


回到问题本身端点的证明,根据统计推断的点估计理论中的极大似然估计知道,参数的极大似然估计是最大值。但是极大似然估计往往低估了,采用贝叶斯估计的方法可以得到更好的结果。

先验分布选共轭的帕累托分布。

\[p(a)\sim\operatorname{Pa}(b,K)=
\begin{cases}
\dfrac{Kb^K}{a^{K+1}}&\text{if}~a\ge b \\[2ex]
0&\text{otherwise}
\end{cases}
\]

这个密度分布函数说 \(a\) 必须大于某个常数 \(b\),但不要太大,\(K\) 用来控制多少是太大。如果取 \(K\to0\) 和 \(b\to0\) 则先验变无信息。此分布的均值为

\[E(a)=\frac{Kb}{K-1}
\]

给定帕累托实验后,和数据集的联合分布为

\[p(D,a)=\frac{Kb^K}{a^{N+K+1}},a\ge\max(D)
\]

令 \(m\) 为 \(D\) 中最大值,则 evidence 为

\[p(D)=\int_m^\infty\frac{Kb^K}{a^{N+K+1}}\mathrm da=
\begin{cases}
\dfrac{K}{(N+K)b^N}&\text{if}~m\le b \\[2ex]
\dfrac{Kb^K}{(N+K)m^{N+K}}&\text{if}~m>b
\end{cases}
\]

再往下事实上有许多种估计的方式,我们的目标始终是仅依赖于 \(D\) 而推断出 \(a\)。我们可以无信息的先验得到 \(p(a\mid D)\sim\operatorname{Pa}(m,N)\)。后验的均值就是 \(\dfrac{Nm}{N-1}=\dfrac{150}{149}\times19.88\approx20.01\)。

\(m\) 的密度分布由下式给出

\[\begin{matrix}
\displaystyle\Pr(\max\le m\mid a)=\Pr(\text{all}~N~\text{samples}\le m\mid a)=\left(\frac ma\right)^N \\[2ex]
\displaystyle p(m\mid a)=\frac{\mathrm d}{\mathrm dm}\Pr(\max\le m\mid a)=\frac Na\left(\frac ma\right)^{N-1} \\[2ex]
\displaystyle E(m)=\int_0^aN\left(\frac ma\right)^N\mathrm dm=\frac{Na}{N+1}
\end{matrix}
\]

所以对 \(a\) 无偏的估计是 \(\dfrac{(N+1)m}N\)。

贝叶斯估计出来的统计量一般都是有偏的,期望不等于参数。这个在频率学派中是不理想的结果,但是贝叶斯学派觉得无所谓。事实上 \(n\) 很大时往往趋近于参数,所以有偏了尤其在大样本情况无伤大雅。那么对于我们这个均匀分布问题,如果取 \(K=1\) 的 pareto 分布,你会发现后验均值等于无偏估计量了,这样理论上就很好。但是如果没有能支持取 \(K=1\) 的先验信息,还是用无信息分布更合理吧。

总之后验均值是 \(\dfrac{Nm}{N-1}=\dfrac{150}{149}\times19.88\approx20.01\),这就是均匀分布的上界的估计。


题目化为:\(n\) 个人抢红包总金额 \(S\)。记 \(x_i\) 为第 \(i\) 个人抢到的金额,\(S_i=\sum_{k=1}^ix_k\),即第 \(i\) 个人抢后累计被抢到的总金额。定义 \(x_0=0,S_0=0\)。

已知 \(\begin{cases}
x_1\sim\operatorname{uniform}\hspace{-0.25em}\left(0,\dfrac{2S}n\right) \\
x_{i+1}\left|~(x_1\sim x_i)\sim\operatorname{uniform}\hspace{-0.25em}\left(0,\dfrac{2(S-S_i)}{n-i}\right)\right.,i=1,2,\dots,n-2 \\[2ex]
x_n=S-S_{n-1}
\end{cases}\)

试求 \(x_1\sim x_n\) 的边缘分布,并证明 \(EX_1=EX_2=\cdots=EX_n,\textit{Var}X_1<\textit{Var}X_2<\cdots=\textit{Var}X_{n-1}\)。

解:首先有递推公式

\[\begin{aligned}
f(x_{i+1},\dots,x_1)&=f(x_{i+1}\mid x_1,\dots,x_i)f(x_1,\dots,x_i) \\
&=f(x_{i+1}\mid x_1,\dots,x_i)f(x_i\mid x_1,\dots,x_i)\cdots f(x_2\mid x_1)f(x_1) \\
&=\prod_{l=0}^i\frac{(n-l)x_{l+1}}{2\left(S-\sum_{k=1}^lx_k\right)}\boldsymbol I_{\left(0,\frac{2\left(S-\sum_{k=1}^lx_k\right)}{n-l}\right)}x_{l+1}
\end{aligned}
\]

式中 \(\boldsymbol I=\begin{bmatrix}
1&&&&\\[1ex]
-1&1&&&\\[1ex]
&-1&1&&\\[1.6ex]
&&\ddots&\ddots&\\[0.7ex]
&&&-1&1
\end{bmatrix}\)。

有递推公式

\[\begin{aligned}
f_{S_m}(x)&=\int_R\frac{n-m+1}{2(S-t)}f_{S_{m-1}}(t)\boldsymbol I_{\left(\frac{(n-m+1)x-2S}{n-m-1}\boldsymbol I(0,n-2](m),x\right)}(t)\mathrm dt,m=2,\dots,n-1 \\
f_{X_m}(x)&=\int_R\frac{n-m+1}{2(S-t)}f_{S_{m-1}}(t)\boldsymbol I_{\left(-\infty,S-\frac{n-m+1}2x\right)}(t)\mathrm dt,x>0
\end{aligned}
\]

首先由生成机制知 \(X_{n-1}\sim X_n\) 同分布。对于 \(m\le n-1,k\ge1\),有

\[\begin{aligned}
ES_m^k&=\int_Rx^kf_{S_m}(x)\mathrm dx \\
&=\int_Rx^k\left(\int_Rf_{S_m\mid S_{m-1}}(x\mid y)f_{S_{m-1}}(y)\mathrm dy\right)\mathrm dx \\
&=\int_Rx^k\left(\int_R\frac{n-m+1}{2(S-y)}\boldsymbol I_{\left(y,y+\frac{2(S-y)}{n-m+1}\right)}(x)f_{S_{m-1}}(y)\mathrm dy\right)\mathrm dx \\
&=\int_R\frac{n-m+1}{2(S-y)}f_{S_{m-1}}(y)\left(\int_Rx^k\left(I_{\left(y,y+\frac{2(S-y)}{n-m+1}\right)}(x)\mathrm dx\right)\mathrm dy\right)~\text{(Fubini 定理)}
\end{aligned}
\]

【均值】\(k=1\) 时,有

\[ES_m=\int_R\left(\frac S{n-m+1}+\frac{n-m}{n-m+1}y\right)f_{S_{m-1}}(y)\mathrm dy=\frac S{n-m+1}+\frac{n-m}{n-m+1}ES_{m-1}
\]

代入初始条件有 \(ES_1=\dfrac Sn\),一通递推猛如虎,有 \(\dfrac{S-ES_m}{n-m}=\dfrac{S-ES_{m-1}}{n-(m-1)}\),故有 \(ES_m=\dfrac{mS}n\),再有 \(EX_m=\dfrac Sn\),总之整个计算过程就像是一颗洋葱一样一层一层一层一层地剥开它的期望,最后就证明成功了。

【方差】前面发现求 \(S\) 比求 \(X\) 还要简单!下面还如法炮制好了。由于 \(\textit{Var}X=EX^2-(EX)^2\),只需要求 \(EX_m^2\),那先求出 \(ES_m^2\),再慢慢寻求他俩之间的关系。

\(k=2\) 时,\(ES_m^2=\int_R\dfrac16f_{S_{m-1}}(y)\left[\dfrac{12(S-y)y}{n-m+1}+6y^2+\dfrac{8(S-y)^2}{(n-m+1)^2}\right]\mathrm dy\),化简得

\[3(n-m+1)ES_m^2=\frac{6(m-1)(n-m+1)-28(m-1)+4n}nS^2
\]

类似地,对 \(m\le n-1,k\ge1\),

\[\begin{aligned}
EX_m^k&=\int_Rx^kf_{X_m}(x)\mathrm dx \\
&=\int_Rx^k\left(\int_Rf_{X_m\mid S_{m-1}}(x\mid y)f_{S_{m-1}}(y)\mathrm dy\right)\mathrm dx \\
&=\int_Rx^k\left(\int_R\frac{n-m+1}{2(S-y)}\boldsymbol I_{\left(0,\frac{2(S-y)}{n-m+1}\right)}(x)f_{S_{m-1}}(y)\mathrm dy\right)\mathrm dx \\
&=\int_R\frac{2^k(S-y)^k}{(k+1)(n-m+1)^k}f_{S_{m-1}}(y)\mathrm dy
\end{aligned}
\]

令 \(k=2\),化简得 \(3(n-m+1)^2EX_m^2=\dfrac{4(n-2m+2)}nS^2+4ES_{m-1}^2\)。

一通代入猛如虎,下面有没有错我就不知道了,反正是证明题,结论没错你中间的过程的问题也看不出来的。

\[3(n-m)^2EX_{m+1}^2=\left[3(n-m)^2+1\right]EX_m^2
\]

从而

\[EX_{m+1}^2=\frac{4S^2}{3n^2}\prod_{k=1}^m\left[1+\frac1{3(n-m)^2}\right]
\]

再往回代,由于 \(\textit{Var}X=EX^2-(EX)^2\),就可以证明

\[\textit{Var}X^2=\frac{4(3n^2-6n+4)}{9n^2(n-1)^2}-\left(\frac Sn\right)^2>\textit{Var}X_1
\]

然后你就品,细品,一步步往后推就会发现,方差真在越来越大,而且增大的速度还在越来越快。以上整个计算过程抱的是清华大学数学系 2014 级博士汪 ZD 的大腿,在此对他粗壮的大腿表示由衷的敬佩!祝他好人一生手气最佳!

Kolmogorov-Smirnov 检验 + k 样本 Anderson-Darling 检验 + 贝叶斯估计 + 期望方差的更多相关文章

  1. 柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test)

    柯尔莫哥洛夫-斯米尔诺夫检验(Колмогоров-Смирнов检验)基于累计分布函数,用以检验两个经验分布是否不同或一个经验分布与另一个理想分布是否不同. 在进行cumulative probab ...

  2. SPSS单一样本的T检验

    SPSS单一样本的T检验 如果已知总体均数,进行样本均数与总体均数之间的差异显著性检验属于单一样本的T检验.在SPSS中,单一样本的T检验由"One-Sample T Test"过 ...

  3. spss-非参数检验-K多个独立样本检验( Kruskal-Wallis检验)案例解析

    今天和大家一起探讨和分下一下SPSS-非参数检验--K个独立样本检验 ( Kruskal-Wallis检验). 还是以SPSS教程为例: 假设:HO:   不同地区的儿童,身高分布是相同的 H1: 不 ...

  4. Kolmogorov–Smirnov test(KS)

    sklearn实战-乳腺癌细胞数据挖掘( 博主亲自录制) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  5. 斯坦福大学公开课机器学习: machine learning system design | error analysis(误差分析:检验算法是否有高偏差和高方差)

    误差分析可以更系统地做出决定.如果你准备研究机器学习的东西或者构造机器学习应用程序,最好的实践方法不是建立一个非常复杂的系统.拥有多么复杂的变量,而是构建一个简单的算法.这样你可以很快地实现它.研究机 ...

  6. SAS学习笔记25 t检验(单个样本t检验、配对样本t检验、两个独立样本t检验及方差不齐时的t'检验)

    根据研究设计和资料的性质有单个样本t检验.配对样本t检验.两个独立样本t检验以及在方差不齐时的t'检验 单样本t检验 单样本t检验(one-sample t-test)又称单样本均数t检验,适用于样本 ...

  7. 【R】正态检验与R语言

    正态检验与R语言 1.Kolmogorov–Smirnov test 统计学里, Kolmogorov–Smirnov 检验(亦称:K–S 检验)是用来检验数据是否符合某种分布的一种非参数检验,通过比 ...

  8. Tests for normality正态分布检验

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/ ...

  9. 求方差分析与两样本T检验 区别

    方差分析与两样本T检验. 1.首先可以看到方差分析(ANOVA)包含两样本T检验,把两样本T检验作为自己的特例.因为ANOVA可以比较多个总体的均值,当然包含两个总体作为特例.实际上,T的平方就是F统 ...

  10. 《spss统计分析与行业应用案例详解》:实例九 单一样本t检验

    单一样本t检验的功能与意义 spss的单一样本t检验过程是瑕设检验中最基本也是最常用的方法之一,跟所有的假没检验一样,其依剧的基木原理也是统计学中的‘小概率反证法”原理.通过单一样本t检验.我们可以实 ...

随机推荐

  1. ClickHouse介绍(二)MergeTree引擎

    MergeTree引擎 ClickHouse中有多种表引擎,包括MergeTree.外部存储.内存.文件.接口等,6大类,20多种表引擎.其中最强大的当属MergeTree(及其同一家族中)引擎.我们 ...

  2. 开源日志组件Sejil--附带日志管理界面

    1.开源日志组件源码:  https://github.com/alaatm/Sejil 2.下载下来发现里面对于不同的.net core 版本的配置提供了对应的示例 .Net Core 3.1 Pr ...

  3. 面试题:Linux 系统基础提问 (一)

    Linux系统中如何管理用户和组? Linux系统中用户和组的管理通常包括以下几个方面: 1.创建用户和组: 使用useradd和groupadd命令创建新用户和新组. 2.修改用户和组信息: 使用u ...

  4. HTTP常见的状态码?

    100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息 200 OK 正常返回信息 201 Created 请求 ...

  5. Vscode控制台乱码的最终解决方案

    Vscode控制台乱码的最终解决方案 vscode运行项目时控制台打印日志乱码.网上也有许多解决办法. 方法一[管用]推荐,避免过多设置 Java项目时,像Springboot微服务项目默认使用的是l ...

  6. php.ini文件与php.d

    `php.ini` 是 PHP 的主要配置文件,用于全局配置 PHP 的行为和功能.它包含了许多 PHP 的核心设置,如内存限制.错误报告级别.扩展加载等. `php.ini` 文件通常位于 PHP ...

  7. 014_用vim复制粘贴_保持双手正位

    [oeasy]python0014_用vim复制粘贴_保持双手正位 继续运行 回忆上次内容 程序员 还是 很可爱的 要关心 身边的程序员 啊 毕竟是新时代的 典型新职业     文明 主流职业 血型 ...

  8. oeasy教您玩转vim - 40 - # 复制粘贴

    ​ 复制粘贴 回忆上节课内容 我们上次的内容是粘贴 小写p意味着在光标下面或者后面粘贴 大写P意味着在光标上面或者前面粘贴 p的意思是放上去,就是put 把什么放上去呢? 把 reg 中 " ...

  9. 如何在.NET Framework,或NET8以前的项目中使用C# 12的新特性

    前两天发了一篇关于模式匹配的文章,链接地址,有小伙伴提到使用.NET6没法体验 C#新特性的疑问, 其实呢只要本地的SDK源代码编译器能支持到的情况下(直接下载VS2022或者VS的最新preview ...

  10. NOIP2022退役记

    我是青岛西海岸新区的一名oier,qxyz(xhayz)的. (其实也不知道算不算得上真正的oier) 已经高二了,是最后一次noip了,必须写点什么记录一下了吧,这样至少可以向世界留下一点痕迹:这个 ...