群体算法的统计分析
1. 随机算法与变量
随机算法,像进化方法、某些梯度下降算法、模拟退火算法以及粒子群算法等,每次运行的结果可能不同。若问题空间中有多个“山峰”,算法可能从不同区域开始,进而到达问题空间中不同的点。
研究人员常关注不同参数水平、不同算法、不同问题类型等独立变量,对诸如迭代若干次后的适应度、存活数量、种群方差或收敛性等因变量的影响。在实验中,独立变量是可操控的,因变量是被测量的,实验就是要分离并识别一个或一组变量对另一个变量的影响。
因变量的值在每次试验中通常不同,尤其在使用浮点精度测量时。例如,在算法迭代 10000 次后测量适应度,会发现不同试验得到的解的适应度不同。这些值通常呈正态分布,围绕均值有一定方差。当测试独立变量的两个或多个水平时,需判断这些水平下因变量值的分布是否有显著差异,即改变独立变量是否真的导致了因变量的变化。
2. 描述性统计
统计分为描述性统计和推断性统计。描述性统计提供特定样本观测值的信息。例如,进行 20 次算法运行,记录 1000 次迭代后的适应度,可计算样本均值 $\bar{x}$,公式为所有值的总和除以数量。还能计算样本的标准差 $s$:
[s = \sqrt{\frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n - 1}}]
该标准差总结了样本值围绕均值的离散程度。
样本是从总体中抽取的一组值,样本中的分数可通过与均值和标准差进行缩放来标准化。计算出样本的均值和标准差后,可将每个分数减去均值再除以标准差,得到均值为 0、标准差为 1 的样本,样本中的值称为 z - 分数。
以 IQ 为例,其均值为 100,标准差为 15。若某人 IQ 为 130,计算 z - 分数为 $(130 - 100) \div 15 = 2$,这表明其 IQ 比平均水平高两个标准差。z - 分数在描述样本中的值时很有用。
正态分布是自然界中广泛存在的概率分布,在正态分布中,接近平均值的事件更多,远离平均值的事件较少。z - 分数可用于估计样本数据点上下的分数百分比,例如,95% 的正态分布值位于均值加减 1.96 个标准差的范围内,即抽样得到 z - 分数小于 - 1.96 或大于 + 1.96 的点的概率为 0.05。
描述性统计虽有用,但对科学推断的发展贡献不大,研究人员需要了解算法的总体性能,因此需明白样本如何代表要进行推断的总体。
3. 推断性统计
推断性统计,如 t 检验、方差分析、卡方检验和一些非参数统计,不仅能比较实验中观察到的组,还能对总体进行推断。它从小样本外推,估计如果进行所有可能的测试会发生什么,从而能以已知的确定性对数据进行概括。
描述总体的值称为参数,从样本估计总体参数的数字称为统计量。通常用希腊字母表示参数,用罗马字母表示统计量。
传统上,总体参数被认为是变量的“真实”或预期值,观测值与总体值的差异称为“误差”。例如,某算法在某函数上迭代若干次后的总体平均适应度值为 0.4567,而某次运行观察到的适应度为 0.5678,则该次试验的误差为 0.1111,通常使用平方误差或其平方根使误差为正。
可以通过随机抽取样本的均值来无偏估计总体均值 $\mu$。大数定律表明,测量因变量的次数越多,样本均值越接近总体均值。而且,准确估计所需的样本大小与要推广结果的总体大小无关。
为比较实验处理,需估计总体方差。样本方差在估计总体方差时存在偏差,但可通过改变均值公式的分母来无偏估计总体方差。总体方差 $\sigma^2$ 定义为:
[\sigma^2 = \frac{\sum_{i=1}^{N}(x_i - \mu)^2}{N}]
对于无限或非常大的总体,可用样本统计量 $s^2$ 估计总体方差:
[\hat{\sigma}^2 = s^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n - 1}]
随着样本量增加,$n$ 和 $(n - 1)$ 越来越接近,总体参数的真实值与其估计值趋于一致。
抽取多个相同大小的随机样本,计算它们的均值并绘制分布,该分布称为均值的抽样分布。样本量越大,抽样分布越窄。当样本包含约 30 个或更多观测值时,抽样分布呈正态分布,无论总体值是否正态。
均值抽样分布的标准差称为标准误差,可从样本对 $\sigma$ 的估计值计算得到:
[\hat{\sigma}_{\bar{x}} = \frac{s}{\sqrt{n}}]
有了抽样分布的均值和标准误差的估计,就能回答样本统计量与它们估计的总体参数之间的关系问题。
4. 置信区间
样本均值能无偏估计总体均值,且可根据一个样本的信息估计样本量为 $n$ 的均值分布的标准误差。
由于知道总体在正态曲线特定标准差区域内的百分比,可利用样本确定一个区间,在一定确定性下,总体均值会落在该区间内。例如,可围绕样本均值标记一个 90% 的置信区间,表示有 90% 的把握认为如果对总体的所有可能值进行抽样,真实均值会在设定的区间内。
当样本量较小时($n < 30$),均值抽样分布的估计不呈正态分布,而是遵循 t 分布。t 分布比正态分布更平坦、更宽,随着样本量增大,t 分布趋近于正态分布,这就是中心极限定理。
假设样本有 20 个观测值,即自由度为 19,要确定 90% 置信区间内总体均值的范围。查 t 分布表可知,自由度为 19 时,5% 的分数高于 t 值 1.729,另 5% 低于 - 1.729。置信区间计算公式为:
[\bar{x} \pm t \cdot \hat{\sigma}_{\bar{x}}]
通过简单的加减运算,可确定样本均值的置信区间,从而以 90% 的确定性说总体均值会落在该区间内。
5. 学生 t 检验
能从样本统计量估计总体均值和方差参数后,就可比较操作独立变量是否导致因变量总体均值的差异,即判断是真实差异而非随机样本中的偶然差异。
当独立变量有两个水平时,假设因变量 $y$ 的单个测量值是因果因素第 $g$ 个水平和误差 $\epsilon$ 的函数:
[y_{gi} = \beta_g + \epsilon_{gi}]
其中 $g$ 表示组,$i$ 表示组内个体。$\epsilon$ 是使每个值与其组均值不同的独特项。
通过对组内所有分数的平方误差求和并除以 $n - 1$ 来估计每组的总体误差,其平方根为样本标准差:
[s = \sqrt{\frac{\sum_{i=1}^{n}\epsilon_{i}^2}{n - 1}}]
该统计量用于估计两组均值差异的总体标准误差:
[s_{\bar{x}
1 - \bar{x}_2} = \sqrt{s_1^2 + s_2^2}]
t 统计量定义为两组均值之差除以差异的标准误差:
[t
{df} = \frac{\bar{x}
1 - \bar{x}_2}{s
{\bar{x}_1 - \bar{x}_2}}]
对于两组情况,自由度等于总观测值数量减 2。根据自由度,可查 t 分布表确定如果两组之间实际上没有差异(即总体均值差异为零)时得到该 t 统计量的概率。通常,若 $p < 0.05$,则认为差异显著。
总之,通过估计接受不同处理的组中因变量总体均值的差异,并将其与标准误差比较,可判断独立变量是否导致因变量的变化。
6. 单因素方差分析
t 检验可用于单组设计,判断组均值是否等于给定值(通常为零),此时分母的自由度为 $n - 1$。当比较的组超过两个时,进行两两 t 检验是不合适的,因为这会让分析者利用偶然因素。此时应进行方差分析(ANOVA)。
从 t 检验过渡到 ANOVA 很容易,可使用类似的模型:
[y_{gi} = \mu + \beta_g + \epsilon_{gi}]
其中 $\mu$ 是所有观测值的“总均值”。
与 t 检验类似,ANOVA 中 $\beta$ 的和为零,每个单元格内误差的和也为零,关键问题仍是 $\beta$ 相对于误差的大小。ANOVA 使用 F 分布进行假设检验,F 分布与 t 分布一样,可映射到正态总体分布,并能计算 p 值。在两组情况下,$F = t^2$。
ANOVA 计算平均误差方差(通常定义为组内平均方差)和组间平均方差(估计接受不同处理的组之间的差异),它们用平方和定义。
组内平均误差方差定义为:
[MS_W = \frac{\sum_{g}\sum_{i}(x_{gi} - \bar{x}_g)^2}{N - G}]
其中 $g$ 表示组,$i$ 表示组内个体,$N$ 是测量次数,$G$ 是组数。该均方表示每组内值围绕其组均值的平均偏差。
组间平均平方估计组间差异:
[MS_B = \frac{\sum_{g}(\bar{x}
g - \bar{x}
{tot})^2}{G - 1}]
其中 $\bar{x}_{tot}$ 是总均值,$G$ 是组数。
用这两个结果计算 F 统计量:
[F(df_B, df_W) = \frac{MS_B}{MS_W}]
与 t 统计量类似,可将 F 统计量与表比较,确定在预先选定的概率水平下观测到的差异是否显著。若 $F < 1$,则肯定没有显著差异,临界值取决于分子和分母的自由度。单因素方差分析能判断组间平均差异是否大于随机预期,但不能指出差异所在。
7. 析因方差分析
单因素方差分析假设只有一个具有两个或更多水平的独立变量。而析因方差分析可处理两个或更多独立变量的情况,会计算每个独立变量的效应以及它们之间的交互作用的 F 统计量。
以有两个独立变量(因素 A 和 B)为例,每个因素有“高”和“低”两个水平,可将实验概念化为 2×2 设计。
在这种设计中,可寻找两种效应:主效应和交互作用。例如,在某些数据中,因素 B 的低水平均值总和($0.5 + 0.5 = 1.0$)与高水平均值总和($1.5 + 1.5 = 3.0$)有很大差异,表明因素 B 有主效应;而因素 A 的高低水平均值总和均为 2.0,表明因素 A 无主效应。
在另一个 2×2 实验中,因素 A 和因素 B 的高低水平均值总和都有差异,且对角线总和相等,说明两个因素都有主效应,但它们之间无交互作用。
还有一种情况,因素 A 和 B 的列和行总和相同,但对角线不相等,说明两个独立变量对因变量有影响,且每个因素的效应取决于另一个因素的水平,即存在交互作用。
析因方差分析中的交互作用检验非常强大,但当因素有超过两个水平且交互作用检验显著时,可能难以确定交互作用的位置。而且,人类思维很难理解三个以上独立变量的交互作用。
以下是总结表格:
|分析方法|适用情况|关键公式|
| ---- | ---- | ---- |
|描述性统计|提供样本观测值信息|均值 $\bar{x}=\frac{\sum_{i=1}^{n}x_i}{n}$,标准差 $s = \sqrt{\frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n - 1}}$|
|推断性统计|从样本推断总体|总体方差 $\sigma^2 = \frac{\sum_{i=1}^{N}(x_i - \mu)^2}{N}$,样本估计 $\hat{\sigma}^2 = s^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n - 1}$|
|置信区间|确定总体均值范围|$\bar{x} \pm t \cdot \hat{\sigma}
{\bar{x}}$|
|学生 t 检验|比较两组因变量总体均值差异|$t
{df} = \frac{\bar{x}
1 - \bar{x}_2}{s
{\bar{x}
1 - \bar{x}_2}}$|
|单因素方差分析|比较多组因变量总体均值差异|$F(df_B, df_W) = \frac{MS_B}{MS_W}$,$MS_W = \frac{\sum
{g}\sum_{i}(x_{gi} - \bar{x}
g)^2}{N - G}$,$MS_B = \frac{\sum
{g}(\bar{x}
g - \bar{x}
{tot})^2}{G - 1}$|
|析因方差分析|分析多个独立变量及其交互作用|$y_{ghi} = \mu + \alpha_h + \beta_g + \alpha_h \cdot \beta_g + \epsilon_{ghi}$|
以下是一个简单的 mermaid 流程图,展示从数据收集到统计分析的大致流程:
graph LR
A[数据收集] --> B[描述性统计]
B --> C[推断性统计选择]
C --> D{t 检验/方差分析等}
D --> E[得出结论]
群体算法的统计分析
8. 多元方差分析
方差分析可扩展到分析一个或多个独立变量对多个因变量的影响,即多元方差分析(MANOVA)。大多数统计软件,如 SAS、SPSS 等,都能进行 MANOVA。通常,会创建因变量的线性组合,并使用这个新组合作为因变量进行方差分析。
例如,Kennedy 和 Spears 分析了各种算法随时间生成的曲线形状差异。假设测量两个算法在三个时间点的情况,算法 1 在 1000、2000 和 3000 次迭代后的因变量均值为 (0, 1, 2),算法 2 为 (2, 1, 0)。虽然两个算法的平均值相同,但我们关注的是它们随时间的变化。
MANOVA 通过将原始数据乘以一个权重向量(权重和为 0 且能最大程度区分组)并求和来处理。例如,权重向量 (-1, 0, 1) 可用于区分两组。算法 1 的加权均值为 (0, 1, 2) × (-1, 0, 1) = (0, 0, 2),总和为 2;算法 2 的加权均值为 (-2, 0, 0),总和为 -2。这表明两组加权后有差异,可对转换后的数据进行单变量方差分析,检验两组随时间的变化是否不同。
以下是一个简单的示例表格,展示两个算法在不同时间点的均值及加权结果:
|算法|1000 次迭代均值|2000 次迭代均值|3000 次迭代均值|加权总和|
| ---- | ---- | ---- | ---- | ---- |
|算法 1|0|1|2|2|
|算法 2|2|1|0|-2|
9. 回归分析
回归分析在计算智能领域名声不太好,因为它通常是线性的。实际上,前面描述的所有分析方法都是广义线性模型(GLM)的子集,方差分析也不例外。可以将回归分析及其相关方法视为更大模型家族(如神经网络)的线性单变量子集,神经网络和回归是密切相关的方法。而且,回归模型不一定是线性的,可以在方程项上使用指数,分析任何类型的数据表面。
回归分析通常用于独立变量和因变量都是数值的情况。例如,想改变遗传算法(GA)中的种群大小或粒子群中的邻域大小,观察其对 1000 次迭代后适应度的影响,可使用公式:
[y_i = \mu + \beta x_i + \epsilon_i]
在普通定量回归中,$x$ 是独立变量的值,会根据设定的条件变化。例如,假设关于种群大小的假设,在某些条件下种群大小为 100,则 $x = 100$。在定量回归分析中,误差不像方差分析那样在单元格内计算,而是根据观测值与回归线上计算值的偏差计算。找到使平方误差最小的 $\beta$ 值,并将其绘制为穿过数据点的直线,使数据点到直线的距离最小。
如果直线向右上方倾斜,表明独立变量对因变量有正效应;如果直线水平,表明无效应;如果直线向左上方倾斜,表明有负效应。回归分析会计算 F 统计量,并根据斜率估计值与残差误差的比率检验显著性。
回归分析有时会被误用,特别是当独立变量不是由研究人员分配,而是通过观察收集时,此时不能称之为实验,实际上只是一种相关性分析。但如果研究人员分配独立变量的值并测量因变量的效应,那么就进行了实验,回归直线的斜率 $\beta$ 估计了独立变量效应的强度。
多元回归允许同时测试多个独立变量的效应。因变量的方差由独立变量的值“解释”,在测试下一个变量之前会去除一个变量的效应。实现多元回归测试有多种方法,有些方法不够严谨,未经训练、能力不足或不道德的分析人员容易滥用回归分析。
以下是回归分析的关键信息表格:
|分析类型|适用情况|关键公式|判断依据|
| ---- | ---- | ---- | ---- |
|普通回归分析|独立和因变量为数值|$y_i = \mu + \beta x_i + \epsilon_i$|斜率 $\beta$ 及 F 统计量|
|多元回归分析|多个独立变量|/|方差解释及变量效应去除|
10. 卡方独立性检验
在某些实验中,无法对因变量进行数值测量,只能统计某些结果的出现次数。例如,粒子群实验可能观察有多少个体最终处于参数空间的特定区域、解决问题或完成某个目标,研究人员可能测量成功、失败或其他事件出现的比例。
假设对独立变量的高低水平进行处理,统计算法达到或未达到某个标准的次数。可假设两个变量不独立,即一个变量(如成功 - 失败变量)的观测次数会受另一个变量(低 - 高水平)的影响。结果数据可显示在列联表中。
例如,有如下列联表:
| |失败|成功|
| ---- | ---- | ---- |
|低水平|20|25|
|高水平|50|30|
根据这些简单频率可计算每个条件的预期计数。例如,第一行有 20 + 25 = 45 个观测值,第一列有 20 + 50 = 70 个观测值,那么第一个(低 - 失败)单元格的预期计数为:
[E_{ij} = \frac{T_i \times T_j}{N} = \frac{45 \times 70}{125} = 25.2]
对所有单元格进行相同计算,得到预期频率表:
| |失败|成功|
| ---- | ---- | ---- |
|低水平|25.2|19.8|
|高水平|44.8|35.2|
然后计算卡方独立性检验统计量:
[\chi^2 = \sum_{i}\sum_{j}\frac{(O_{ij} - E_{ij})^2}{E_{ij}}]
在本例中:
[\chi^2 = \frac{(20 - 25.2)^2}{25.2} + \frac{(25 - 19.8)^2}{19.8} + \frac{(50 - 44.8)^2}{44.8} + \frac{(30 - 35.2)^2}{35.2} \approx 3.81]
通过查卡方分布表,判断在给定观测次数下,如果两个变量实际上独立,得到这么大或更大卡方值的概率。卡方检验的自由度定义为行数减 1 乘以列数减 1,对于 2×2 列联表,自由度为 1。在 p < 0.05 水平下,自由度为 1 时,卡方值需大于 3.84 才显著。此例中,没有足够证据表明操纵高低水平变量导致了成功和失败次数的真正差异。
11. 实验设计
实验分析和设计是相辅相成的。在进行实验前,研究人员应知道如何进行分析。例如,进行 2×3×2 析因实验,需相应分配试验并规划分析。如果预期设计中的某些单元格与其他单元格有对比,应在开始时明确表达,并合理分配自由度以检验确切假设。
实验要求在收集数据前明确假设,不能盲目寻找结果,而应清楚要寻找什么并规划合理的测试方法。与现实世界的实验相比,计算机实验非常容易进行。随机算法的测试应保证单元格大小相等,精心选择独立变量的水平,并进行全面规划的研究设计。
可以控制所有可能的混杂变量,计算机生成的数据能达到其他领域无法实现的完美程度。实验设计应遵循简单性原则,2×2 析因设计优雅、全面且易于理解。实验假设应明确陈述,统计结果应告知读者初始假设是否得到支持。如果结果提示需要进一步研究,后续研究应与原研究一样谨慎进行。
以下是实验设计的要点列表:
1. 明确假设:在收集数据前清晰陈述假设。
2. 合理规划:合理分配试验和自由度,规划分析方法。
3. 控制变量:控制所有可能的混杂变量。
4. 简单原则:采用简单的实验设计,如 2×2 析因设计。
5. 后续研究:后续研究应与原研究一样严谨。
以下是一个 mermaid 流程图,展示实验设计的流程:
graph LR
A[提出假设] --> B[设计实验]
B --> C[收集数据]
C --> D[选择统计方法]
D --> E[分析数据]
E --> F{假设是否支持}
F -- 是 --> G[得出结论]
F -- 否 --> H[调整假设或设计]
H --> B
综上所述,在群体算法的研究中,合理运用各种统计分析方法和精心设计实验,能帮助研究人员准确判断独立变量对因变量的影响,得出可靠的结论。不同的统计方法适用于不同的情况,研究人员应根据具体问题选择合适的方法。同时,简单而合理的实验设计是保证研究有效性和可理解性的关键。
超级会员免费看
2596

被折叠的 条评论
为什么被折叠?



