7.5 交叉验证
在前一个例子中,我们使用数据集来构建HA,然后再用同一个数据集进行检验。这并不是一个好方法,很容易产生错误结果。
这里会出现的问题是:即使原假设是真的,也可能因为随机抽样的缘故而导致两个分组的均值有差别(δ)。如果直接用这个差别计算HA,然后再用同样的数据来计算P(HA|E),那么即使HA为假,也会得到一个很高的P(HA|E)。
可以用交叉验证(cross-validation)的方法来解决这个问题:用一批数据来计算δ,然后再用另一批数据来计算P(HA|E)。第一批数据称为训练集(training set),第二批数据称为测试集( testing set)。
在像NSFG这类包含不同周期不同人群的研究中,可以利用一个周期的数据做训练集,然后用另一个周期的数据做测试集。或者也可以随机地将数据分成两部分,一部分是训练集,另一部分是测试集。
我们按第二种方法将第6周期收集到的数据随机地分成两部分。重复数次之后,得到的P(HA|E)的平均值是0.621。跟预期一致,观测到的差异对检验的影响变小了。一方面是因为我们所用的样本量变小了,另一方面则是训练集和测试集已经不是同一批数据了。