从随机变量到统计模型(二)
一、说明
软件程序员为了更好地理解人工智能而学习统计学时,常常会被“随机变量”的概念难住。 “随机变量”这个术语对我们大多数人来说并不陌生,但是,深刻领会却未必容易。统计学中的随机变量与软件中使用的变量之间并没有太多共同之处。甚至在我们学习统计学中“随机变量”的含义之前,需要彻底忘却微积分函数的变量以及映射的概念,避免干扰你的认知。
前文连接
二、一般直觉——统计学中的数据样本分析
让我们先回顾一些统计学知识。假设我们正在研究一种随机的物理现象。我们观察这种现象,记录其结果并将其映射到一个数值上。我们可以反复进行这个实验,生成所需的数据量。这种现象本身就是一个数据生成器。它生成的数据具有一定的分布和属性!总体是指所有可能生成的数据的集合。在统计学中,我们试图基于观测数据得出关于该现象的有意义的结论!这些观测数据只不过是从我们感兴趣的现象中抽取的一个样本。因此,样本是总体的一个子集。
接下来,我们研究这个数据样本的性质。如果样本足够大,那么我们从样本中推断出的分布和性质也适用于总体!如果我们能很好地从(比如)1000个数据样本中提炼出关键信息,并将其总结成几个足以描述样本的“数字”,我们甚至可以舍弃所有样本,只保留我们推导出的“数字”。这是统计学的一个关键目标——概括并保留最少的信息。
汇总 1000 个数据点时,首先想到的“数字”是均值,也就是简单平均值。不过,为了避免混淆,我们接下来将使用“统计量”这个词,好吗?统计量是指从现有样本中得出的任何数值。均值就是一个统计量。还有其他统计量可以用来概括样本吗?有的,方差可以反映样本中数据点与均值之间的差异程度。直觉上,我们可能会想用∑(∣datapoint—mean∣)/(numdatapoints)∑(|data point — mean|) / (num_datapoints)∑(∣datapoint—mean∣)/(numdatapoints)来计算方差。这从道理上完全合理,但这个定义并不方便计算。例如,绝对值函数在 0 处不可微。因此,我们在分子中使用数据点与均值距离的平方和∑(datapoint—mean)2/(numdatapoints−1)∑(data point — mean)^2 / (num_datapoints-1)∑(datapoint—mean)2/(numdatapoints−1),因为这个公式具有良好的数学性质!奇怪的是,在分母中,我们使用 ( num_datapoints-1 ) 而不是num_datapoints,因为这样可以更好地估计总体,原因如下:
- 设Ω是总体,其均值用μ表示(注意,这是一个统计行业约定的符号)
- 从Ω中的抽样样本用X表示,抽样样本均值是xˉ\bar{x}xˉ(注意,这是一个统计行业约定的符号)
- 其中μ是精确的,而xˉ\bar{x}xˉ是片面的,不够精确
下面我们用统计学的公式加以推导证明:
符号约定
xix_ixi表示data point
xˉ\bar{x}xˉ表示mean
n表示抽样容量
Σ(xi−xˉ)2=Σ(xi−μ+μ−xˉ)2=Σ(xi−μ)2+2(xi−μ)(μ−xˉ)+(xˉ−μ)2=Σ(xi−μ)2+2(μ−xˉ)Σ(xi−μ)+Σ(xˉ−μ)2\Sigma(x_i-\bar{x})^2=\Sigma(x_i-\mu+\mu-\bar{x})^2\\=\Sigma(x_i-\mu)^2+2(x_i-\mu)(\mu-\bar{x})+(\bar{x}-\mu)^2\\=\Sigma(x_i-\mu)^2+2(\mu-\bar{x})\Sigma(x_i-\mu)+\Sigma(\bar{x}-\mu)^2Σ(xi−xˉ)2=Σ(xi−μ+μ−xˉ)2=Σ(xi−μ)2+2(xi−μ)(μ−xˉ)+(xˉ−μ)2=Σ(xi−μ)2+2(μ−xˉ)Σ(xi−μ)+Σ(xˉ−μ)2
因为Σ(xi−μ)=xˉ−μ\Sigma(x_i-\mu)=\bar{x}-\muΣ(xi−μ)=xˉ−μ
以上注意两个事情:
1)xˉ−μ\bar{x}-\muxˉ−μ当常数处理
2)Σ(xi−μ)=n(xˉ−μ)\Sigma(x_i-\mu)=n(\bar{x}-\mu)Σ(xi−μ)=n(xˉ−μ)
所以,上式可以写成:
Σ(xi−xˉ)2=Σ(xi−μ)2−n(xˉ−μ)2\Sigma(x_i-\bar{x})^2=\Sigma(x_i-\mu)^2-n(\bar{x}-\mu)^2Σ(xi−xˉ)2=Σ(xi−μ)2−n(xˉ−μ)2
总之,Σ(xi−μ)2\Sigma(x_i-\mu)^2Σ(xi−μ)2是更准确的估值,而Σ(xi−xˉ)2\Sigma(x_i-\bar{x})^2Σ(xi−xˉ)2小于Σ(xi−μ)2\Sigma(x_i-\mu)^2Σ(xi−μ)2,因此,计算方差的时候,故意将分母n缩小成n-1,以抵消这种差距。
因此,样本的方差公式是:
s2=Σ(xi−xˉ)2n−1s^2=\frac{\Sigma(x_i-\bar{x})^2}{n-1}s2=n−1Σ(xi−xˉ)2
方差公式有一个缺点。由于它是对数值进行平方运算,因此其单位与均值不同。在讨论与均值的距离时,使用标准差代替方差更为方便。标准差是方差的平方根。它并没有提供方差之外的额外信息,但使用起来更方便。例如,Z 分数告诉我们数据点距离均值有多少个标准差。总之,我们最终会得到两个统计量——均值和方差。这对于描述来自某个我们未知总体分布的连续值数据样本来说已经足够了。
我们已经很好地总结了样本,无需再提取更多信息,可以将其丢弃。我们得到的统计数据足以完整地描述样本,并帮助我们估计总体。根据我们观察的现象,统计量的计算方法可能会有所不同。例如,如果我们的样本来自二项分布(重复抛硬币),那么总结样本所需的唯一统计量就是样本中观察到的成功总数!
最后,强调一点, statistics和Statistics是不同的。“Statistics”(首字母大写)指的是涉及收集、分析和解释数据的科学领域,而“statistics”(首字母小写)指的是由此分析得出的数值事实或数据点本身。例如,“statistic”(单数)是一条单独的信息(如平均测试分数),而“statistics”(复数)则是整个数据集及其摘要(如不同群体的测试分数表格)。
三、随机变量的期望、方差和标准误差
让我们回到我们熟悉的随机变量(RV )。我们已经定义了随机变量,并讨论了它的概率分布——即与每个可测量结果相关的概率。通常,当我们看到一堆数字(与每个结果相关)以及它们旁边的概率时,我们内心的数学家会忍不住将它们相乘并加起来。结果就是随机变量的期望值或期望值 E[X]。如果你想用一个数字来传达关于随机现象的信息,那么这就是最佳选择。这个数字是分布的质心,概括了不确定性。对于连续随机变量,期望值需要用积分而不是求和来计算。
期望值只是均值的另一种说法吗?并非如此!均值是基于样本中的观测数据计算得出的,而期望值则基于与结果相关的概率。均值是从总体样本中得出的统计量。这个样本可以小到只有两个数据点。但期望值是对总体均值的表示。事实上,它就是总体均值。如果样本量足够大,那么样本均值就可以用作总体均值的估计值,即期望值。
期望值帮助我们将一个具体的数值与随机变量联系起来。接下来合乎逻辑的步骤是衡量分布与该期望值的偏差程度。没错,这就是方差的概念!如果我们有一个总体,那么var=∑(x−μ)2/Nvar= ∑ ( x - μ )² / Nvar=∑(x−μ)2/N,其中μ是包含N 个元素的总体的均值,而∑是对总体中的每个数据点x求和。如果我们有一个样本,那么我们知道分母变为 (N - 1),分子是样本均值。总之,有了这些背景知识,我们能否定义随机变量的方差呢?我们需要一个衡量随机变量可能值与其期望值之间离散程度的指标。我们可以巧妙地将随机变量X的方差定义为:E[(X−E[X])2]E[(X - E[X])^2]E[(X−E[X])2]它是其与期望值偏差平方的期望值。最后,方差的平方根就是它的标准差。
最后,我们来谈谈标准误差这个有趣的概念。之前我们讨论过如何发明像均值这样的统计量来概括数据样本。从这个意义上讲,统计量是一个函数,它以数据样本作为输入,并返回一个数值。我们用这个数值来了解总体的特征。因此,统计量只是基于所给样本的“估计值” 。它有可能出错。所以,我们需要一个衡量这种“误差”的指标。标准误差正是为此而生的!
更准确地说,均值的标准误差是指从总体中反复抽取样本并计算每个样本均值后得到的均值集合的标准差。直观地说,这意味着如果我从总体中抽取 10 个不同的样本(每个样本包含若干数据点),那么标准误差就能告诉我每个样本的均值彼此之间的差异有多大。幸运的是,我们不需要抽取多个样本来计算它,也不需要知道总体的参数。一个样本就足以近似表示它。均值的标准误差=[总体的标准差/(样本容量)]均值的标准误差=[总体的标准差 / \sqrt{(样本容量)}]均值的标准误差=[总体的标准差/(样本容量)],并且可以用 [样本的标准差/(样本容量)][样本的标准差 / \sqrt{(样本容量)}][样本的标准差/(样本容量)]来近似表示。
四、常见的概率分布类型
4.1 伯努利分布
是指一次成功的概率为p的单次试验。
它的概率质量函数 (PMF)为 P(X=x;p)=px+(1−p)(1−x)P(X=x; p) = p^x+ (1-p)^{(1-x)}P(X=x;p)=px+(1−p)(1−x),其中x可以是 0 或 1。
4.2 二项分布
由两个参数表征:我们刚才讨论的p和试验次数n 。我意识到,我们第一次使用“参数”这个术语。它们描述总体,就像统计量描述样本一样(对了,参数是根据其对应的统计量估计的)。要描述二项分布,我们需要两个参数n和p。PMF使用这些参数来表示分布P(X=x;n,p)=(Cnx)∗px∗(1−p)n−xP(X=x; n,p) = (C^x_n) * p^x * (1-p)^{n-x}P(X=x;n,p)=(Cnx)∗px∗(1−p)n−x——其中x是成功的次数。
由于n就是试验次数,我们无需估计它,因为我们已经知道它的值。为了确定p,我们需要借助统计学方法,根据样本估计它的值。在本例中,我们假设一枚均匀的硬币,因此p = 0.5。上图是 n=25 时的分布图。当n值非常大而p值非常小时,概率质量函数 (PMF) 的计算会非常繁琐。在这种情况下,我们可以选择其他分布,例如泊松分布。
- 如果每次试验的p值都不同,我们使用Beta分布。它对单次试验的p值进行建模。Beta-二项分布则对多次试验进行建模。Dirichlet分布是 Beta 分布的多变量推广。Beta 分布针对单个p 值定义,而 Dirichlet 分布则包含一个 p 值向量,该向量中的所有p值之和为 1。
4.3 泊松分布
如果实验结果为正数,且我们唯一可知的信息是历史平均值,那么泊松分布是理想的选择。例如,考虑对某个地区一年内的地震进行建模。随机变量(RV)是一年内的地震次数。虽然地震发生的时间是随机的,但我们知道该地区平均每年发生两次地震。这个数量用λ表示——它是描述泊松分布所需的唯一参数。其概率质量函数(PMF)为P(X=x;λ)=e(=λ1−)∗λ2x/x!P(X=x;λ ) = {e^(= λ₁ - ) * λ₂^x} / x!P(X=x;λ)=e(=λ1−)∗λ2x/x!。泊松分布有着广泛的应用——例如分析交通流量模式、分析商店在上半场接待N位顾客的概率、分析一段时间内发生事故的概率等等。
换句话说,如果我们知道某个随机事件在一段时间内发生的平均次数,那么我们可以很容易地建立一个泊松模型,该模型可以给出 N 个事件在一段时间内发生的概率。与其他分布一样,需要注意的关键点是:(a) 定义该分布的“参数”是什么——这里就是λ; (b) 概率质量函数 (PMF) 是什么(使用现成的公式);© 均值和方差是什么?对于泊松分布,均值就是λ。方差也很容易推导出来是λ。如果情况不同,那么我们就需要两个参数来描述泊松分布,对吗?指数分布是泊松分布的一个有趣的等价物。它模拟事件发生之间的时间间隔。
4.4 高斯分布
最后我们来看高斯分布。这是研究最广泛的连续分布。如果我们对要建模的对象了解不多,高斯分布就是一个合理的选择。例如,测量教室里学生的身高。以身高为纵轴,人数为横轴绘制曲线,就能得到经典的钟形曲线。这就是高斯分布。它也被称为正态分布,因为许多自然现象似乎都偏离均值呈正态分布。描述高斯分布的参数是均值和方差。
高斯分布也可用于模拟具有众多独立随机变量(RV)的复杂系统。这主要归功于中心极限定理,简而言之,该定理指出,众多独立随机变量的平均值本身也是一个随机变量——随着观测次数的增加,该随机变量服从高斯分布。因此,即使系统的各个组成部分服从其他分布,复杂的系统也可以被建模为高斯分布。例如,我们可以假设身高受许多独立的遗传和环境因素的影响,因此其分布近似于高斯分布。
观察中心极限定理的实际应用真是令人着迷。如果我们生成 1000 个介于 1 到 10 之间的随机数并绘制直方图,它根本不像高斯分布(左图)。现在,分别生成 10 个随机数,将它们相加得到一个新的随机数 X,重复此过程 1000 次并绘制 X 的直方图,你会得到一个近乎完美的钟形曲线(右图)!
五、随机变量的实际应用
5.1 应用 1 — 理论性较强
假设某个森林地区每年平均发生5起蛇咬伤事件。您是该地区唯一一家医院的卫生官员。您需要为未来一年订购抗蛇毒血清。一个简单的办法是直接订购5瓶抗蛇毒血清。但如果今年发生了7起蛇咬伤事件呢?您决定慷慨地订购50瓶抗蛇毒血清,但随后发现您的年度预算已经用完,而且还有其他重要的支出。解决这种情况的一种方法是使用名为“Poi(s)son”的模型。
蛇咬伤的数量是我们的随机变量。我们假设它服从参数为λ=5的泊松分布。我们有现成的概率质量函数(PMF)公式可以计算此空间中任何事件的概率。具体来说,我们希望计算概率P(X <= N snake bytes in a year)并据此规划抗蛇毒血清的供应。我们可以先计算N≤10(通常平均值的两倍)时的概率,并推导出该事件的概率。如果该概率不太高,则继续增加N,直到概率超过一个您认为合适的阈值(例如99.9%),然后订购相应数量(N=11)的抗蛇毒血清,以备未来一年使用。
5.2 应用 2 — 在线性回归中(参考文献)
虽然上述情况是一个合理的应用,但您可能并不满意,因为您学习统计学的目的是为了更深入地了解人工智能。15 分钟的介绍可能不足以让我们深入探讨,但让我们尝试一下。以线性回归模型为例。假设我们正在收集数据点 (X1, Y1)、(X2, Y2)……,用于“拟合”我们的模型。可以合理地假设,数据收集过程可能存在轻微误差,并且每个收集到的Y值都存在微小的误差。因此,观测到的 Y1 = 实际的 Y1 + 一个微小的误差,Y2、Y3 等也类似。我们可以概括地说:观测到的 Yi = 实际的 Y1 + εi,其中εi可以是随机变量( RV )!
让我们尝试更好地理解这个εiε_iεi。误差通常并非由单一原因造成,而是许多微小误差的总和,这些误差又是由各种随机因素引起的。例如,在实验室实验中,误差的一部分可能来自设备问题,另一部分来自环境因素,还有一部分来自人为错误等等。这些影响因素都是随机的,大小相近,彼此独立,且与输入无关,每次观测结果之间也相互独立。每个影响因素都服从一个未知的分布。中心极限定理表明,这些影响因素之和的分布可以用高斯分布来近似!
与上述实验室实验类似,线性回归中的每个误差项e_i也是许多微小误差的总和,因此e_i 可以描述为均值为 0、方差为 σ² 的高斯分布。具体来说,每个误差项 (ε1, ε2…) 都是一个独立的随机变量,每个随机变量的期望值为0,方差为常数 (σ²)。期望值为 0 是因为随机误差有时会导致正向超调,有时会导致负向超调。方差恒定是一个合理的假设eiGaussian(0,σ2)e_i ~ Gaussian (0, σ^2)ei Gaussian(0,σ2)。现在我们来看Y。
每次我们输入 x1 并观察现象记录y1时,我们都会得到一个(微观上)不同的y1。从这个意义上讲,观测到的y1是一个随机变量。我们用所有观测到的 y1的均值来估计这个随机变量的期望值。y2、y3等也一样。这种模型给出了每个x 值对应的Y的分布。实际上,数据样本可能只包含X=x的一个y值,但我们仍然假设在总体中,对于给定的X值,存在许多未观测到的不同Y值。如果你已经理解到这里,那就给自己点个赞吧!
现在假设我们已经完美地拟合了一个线性模型来拟合所有观测数据,并能够做出预测yi=β⋅xiy_i = β · x_iyi=β⋅xi。由于我们拟合的是观测数据,因此没有考虑误差。这意味着我们可以通过写出yi=β⋅xi+eiy_i = β · x_i + e_iyi=β⋅xi+ei来改进我们的线性模型。如果yi=β⋅xi+eiy_i = β · x_i + e_iyi=β⋅xi+ei如果ei∼Gaussian(0,σ2)e_i \sim Gaussian (0, σ^2)ei∼Gaussian(0,σ2),那么新的yi∼Gaussian(ß.xi,σ2)y_i\sim Gaussian (ß.x_i, σ^2)yi∼Gaussian(ß.xi,σ2)就是 yi=β⋅xi+eiy_i = β · x_i + e_iyi=β⋅xi+ei。因此,我们最终的预测结果来自均值为βx、方差为 σ² 的高斯分布。注意,βxβxβx正是我们线性模型的预测值!所以最终的预测结果呈钟形,峰值位于线性模型的预测值βx处。瞧——我们通过将线性回归与高斯分布误差的假设结合起来,得到了 线性高斯模型。
这一切都很好解释,我们知道均方误差(MSE)的概念,以及如何将其用作常规线性回归模型的损失函数。我们可以使用梯度下降法计算β,或者更好的是,我们可以对MSE求导,从而得到一个闭式解,进而推导出β的估计值。现在假设我们不知道MSE。我们是统计学家,试图找到线性回归的解。统计学家通常会依赖一种称为最大似然估计(MLE )的技术。这个将在其它文中谈起。
