# 加载需要用到的R包
#| messages: false
#| warning: false
#| echo: false
library(tidyverse)
library(flextable)
library(rstatix)
showtext::showtext_auto()
library(ggsci)
注:记录一篇自我练习的文献,根据文献中的概念和模拟数据,在R里面进行自我操练(计算、制表和画图),以及如何用Mardown进行公众号编辑。翻译水平有限,内容翻译的准确性不做保证!
摘要
当代的体能教练必须不断扩展其技能,其中就包括数据分析,学习理解 p值、效应量、置信区间的有效性和实用性以及最小有价值变化和最小差异等术语。本综述的目的是在原假设显著性检验(本系列综述的第一篇)的基础上,引入效应量、变异性和置信区间等概念,并提出哪些方法可能是实践中最可行的选择,以及在报告基于团队运动能力变化的潜在方法。而且文中还列举了一些示例来帮助读者加深理解。
前言
零假设显著性检验 (NHST)是检验在零假设下观察到的数据或更极端数据的概率,并假设所有模型假设都是正确的;这记为 P(D|H~0~)。然而,在训练实践中,我们更想知道的是我们数据的实际意义。也就是说,例如我们的干预措施在我们的群体之间造成了多大的差异,重要的是,与我们的数据相适应的数值范围是什么,以及我们估计的精确度。后一个问题使我们能够从运动员样本中推断出更广泛的人群特征。本文的目的正是讨论如何达到这一目标。重要的是,这些可以通过 Microsoft Excel 计算,因此大多数教练都可以使用,本文包括一系列操作示例来讲解实操。
效应量
效应量 (ES) 是实证研究的一个重要结果指标 (13),因为它们使研究人员能够报告效应的大小(例如,一些新的训练刺激),从而为应用实践者提供一些关于"实际意义"的衡量标准。常见的 ES 是标准化的均数差,通过将均数差除以一些标准值,例如 SD(13)来计算。使用标准化 ES,可以认为分子代表信号,分母代表噪声的某种估计,或者我们在重复试验或不同组间会看到的自然(无法解释的)变化。这个值率很重要,因为它有助于我们发现真正的变化,而不是被随机的变化和错误所愚弄。Cohen's d 可能是报告变化时最常用的标准化效应估计值,尽管已知它在小样本(n<20)时有向上的偏倚(导致高估);见 @eq-Cohen 。另一个选择是Hedge's g,它为小样本提供了一个修正的效应大小,并按 @eq-hedges 计算。两者都可以解释为SD的百分比,因此,d=0.5的值意味着SD一半的差异(或效果)(但我们需要根据实际情况来确定这到底是什么百分比)。同样,当没有估计ES指标的更好基础时,为了帮助研究人员解释数据,已有研究提供了量化变化幅度的阈值; 例如,d = 0.2是"小"效应,d = 0.5是"中等"效应,d = 0.8是"大"效应(Cohen,1988)。但是,正如第一部分所述,传统的阈值往往不能捕捉实际情况和不确定性,并在数据和对数据的任何解释中引起怀疑——因此,我们将在本文的后半部分着眼于解决某些问题。Cohen's d 和 Hedge's g 的计算如下所示 (13)。~s~表示我们正在进行独立的样本分析。
公式1:Cohen's d
其中 是组内样本的平均值; 是组内样本的标准差;和 是各自的样本量。
公式2:Hedges
作为参考,组内设计实验ES计算的一个示例称为 Cohen's , 并根据 公式3 计算,其中 表示以两个重复测量的平均 SD进行标准化 (13)。该方程中的分子是前后测试的均值差。我们还应该明确的是,还有许多其他不同的效应量计算公式(用于组间和组内实验设计),如想进一步了解,可阅读 Lakens (13) 和 Caldwell 和 Vigotsky (4) 的相关研究。
公式3:Cohen's
示例演示
下面的数据集和演示实例强调了通过ES来评估变化(或差异)大小的好处,而不是仅仅基于测量数据与零假设检验的结果(即P值)来做决定,当然,与由临界阈值(如=0.05)驱动的是非决定(yes or no)相比,也是如此。表1 模拟了足球、篮球和曲棍球三支精英球队的纵跳高度数据。虽然此处本文选择采用这一数据,但是读者也可以把这些数据想象成自己感兴趣的数据内容。此处提出的实际问题是:"哪只球队(足球VS篮球VS曲棍球)的运动员跳的更高?"
在这里,我们将分析 @tbl-cmj 中的数据(使用 IBM SPSS Statistics,版本 25),使用单因素方差分析 (ANOVA) 作为我们的统计模型来计算相关的检验统计量(即 F 统计量),并比较各组以确定它们之间是否存在"统计上"的显著差异。原(零)假设是三组都一样,备择假设是至少有一个球队与其他不同。我们在这里需要注意,因为方差分析假设各组方差相等(称为方差齐性),并且个体平均值可能会受到偏度和极值的影响,这些偏度和极值可能会掩盖或突出任何可能的差异。下面的 图1 显示该数据集不存在上述问题,尽管在处理如此小的样本量时经常会碰到这样的问题;我们将在本文后面讨论为什么要特别留意这个问题。
#| label: tbl-cmj
#| tbl-cap: "3只球队纵跳高度模拟数据"
#| messages: false
#| warning: false
#| echo: false
jump <- tibble::tribble(
~足球队, ~篮球队, ~曲棍球队,
43.7, "46.8", 47.4,
36, "37.6", 35.7,
42.8, "44.7", 42.5,
46.2, "54.5", 50.8,
37, "38.7", 36.7,
45.1, "47.1", 44.8,
41.2, "47.2", 44.9,
39.6, "42.4", 39.3,
44.9, "46.9", 44.6,
40.1, "41.9", 39.8,
45.3, "47.3", 45,
47.7, "49.8", 47.4,
31.5, "38.0", 33.3,
36.7, "56.1", 49.3,
46.7, "48.8", 46.4,
43.7, "45.7", 43.4
) %>% mutate(
篮球队 = as.numeric(篮球队)
)
jump_long <- jump %>%
pivot_longer(
cols = everything(),
names_to = "team",
values_to = "height"
)
jump_mean <- jump %>%
pivot_longer(
cols = everything(),
names_to = "team",
values_to = "height"
) %>% group_by(team) %>%
summarise(
mean = round(mean(height),1),
sd = round(sd(height),1)
) %>% pivot_longer(
cols = -1,
names_to = "统计",
values_to = "value"
) %>% pivot_wider(
names_from = team,
id_cols = 统计,
values_from = value
) %>% relocate(足球队,.before = 2)
options(knitr.kable.NA = "")
bind_rows(jump,jump_mean ) %>%
relocate(统计,.before = 1) %>%
rename(" " = 统计) %>% flextable() %>% theme_apa() %>% autofit()
#| label: fig-point
#| fig-cap: "使用效应量来计算3个球队之间的差异大小"
#| warning: false
#| echo: false
jump_long %>% ggplot(aes(x = factor(team, levels = c("足球队","篮球队","曲棍球队")), y = height))+
geom_point(shape = 1)+
scale_y_continuous(limits = c(30,60),breaks = seq(30,60,5))+
stat_summary(fun.y = mean, geom = "point",color = "red",size = 3)+
theme_classic()+
xlab("")+
ylab("纵跳高度(cm)")+
theme(
axis.title = element_text(face = "bold")
)+
geom_segment(aes(x = 1, y = 57, xend = 2, yend = 57),arrow = arrow(ends = "both",type = "closed",length = unit(0.1,"cm")),color = "blue")+
geom_segment(aes(x = 1, y = 59, xend = 3, yend = 59),arrow = arrow(ends = "both",type = "closed",length = unit(0.1,"cm")),color = "blue")+
geom_segment(aes(x = 2, y = 57, xend = 3, yend = 57),arrow = arrow(ends = "both",type = "closed",length = unit(0.1,"cm")),color = "blue")+
annotate("text",x = 1.5, y = 58, label = "g = 0.81", size = 3, face = "")+
annotate("text", x = 2.5, y = 58, label = "g = 0.51", size = 3)+
annotate("text", x = 2, y = 60, label = "g = 0.28", size = 3)
表1 三只球队纵跳高度模拟数据


图1 使用效应量来计算3个球队之间的差异大小
单因素方差分析得到的 p 值为0.072,大于传统的 值0.05。因此,我们无法拒绝零假设,考虑到我们的检验统计量、样本量、统计功效和选择的假阳性错误率,我们会宣称三组之间没有统计学上的显著差异——因此,一些研究人员对数据的分析可能就止步于此。然而,正如我们在第一部分中指出的,p 值是一个连续型变量,因此我们应该说的是,假设零假设为真,并且基础模型所做的所有假设都为真,则获得此类结果或更极端结果的概率为7.2%。
#| label: tbl-anova
#| tbl-cap: "单因素方差分析结果"
#| echo: false
jump_long %>% anova_test(height ~ team) %>% flextable() %>% theme_apa()表2 单因素方差分析结果

同样在第一部分中,我们建议设置一些临界阈值(即水平),因为它可以确保基于长期概率的一致决策,确保我们在可接受的误差范围内操作。然而,根据Lakens等人(14)的观点,我们应该根据手头的情况和假阴性(第二类错误)的影响来设定该假阳性错误率。同样,正如我们在第一部分所讨论的,我们也许可以证明将水平提高到0.1(即10%)是合理的,因为高水平的运动员已经接近了他们的遗传上限,而且运动上的成功也建立在很小的差异上;因此,通常宁愿冒着增加假阳性(I型错误)的风险,也不愿严防假阴性。当考虑到我们的统计检验往往统计功效不足(由于样本量低)以及我们的训练干预很少有受伤的风险时,这种思路似乎更有道理--当然,如果在假阳性的情况下操作可能招致经济损失和/或有受伤、健康的风险,并可能是致命的,那么水平应该降低。现在,在0.1这一阈值下虽然存在一定的差异,这通过比较平均值时检验到的简单效应大小得到了验证。总之,对于我们来说,如果任何 p 值确实代表了一个差异,它应该小于我们预定的水平,这应该基于具体现实情况,以及我们控制假阳性错误率的愿望。在这个例子中,如果概率值低于10%,也许可以将水平设为0.1,并以此判断为存在差异,因此我们在长期决策中只有10%的时间是错误的。值得注意的是,如果零假设为真,则所有 p 值的可能性都相等。
我们现在需要计算一个重要的、具有实际意义的统计指标,即标准化的ES,同时需要注意到,有时候我们可能一开始就不进行NHST。使用 @eq-hedges(考虑到我们的样本量低于 20),我们可以注意到足球队和篮球队之间存在"大"差异,而足球队和曲棍球队之间存在"小"差异。此外,篮球队和曲棍球队之间存在"中等"差异。@fig-point 说明了这些变化,Hedges g 的值与相关的描述符也在图中有所展示。因此,在这个例子中,我们可以看到使用传统错误率(即 5%)的二分法思维可能会掩盖具有实际意义的差异,至少在高水平队伍可能希望聚合一系列"边际收益"以提高运动比赛成功的机会,并且相对较高的错误率(高于 5%)不会危及运动员、支持人员或俱乐部的财务完整性。现在,剩下的问题是,通过使用Cohen的设定的标准阈值来确定通过 ES 分析观察到的效果大小。因此,在接下来的几节中,我们将力求通过了解手头的情况以及确定真正变化的精确度来确定我们自己的阈值; 这些将为我们的决策选择提供依据。
最小有价值变化
考虑到效应量告诉了我们干预措施之间或组与组之间的变化幅度,因此它们可以被逆向工程来确定目标数据。通过该方法可以计算最小有价值变化(SWC),最初由 Hopkins (2004)提出。这个统计指标的目的是通过将受试者之间的 SD 乘以0.2(根据 Cohen 的说法,这是一个很小的变化幅度) ,然后从运动员当前的分数中加或减,来建立一个运动员的新目标分数。很明显,对于冲刺,我们希望时间尽可能短,我们减去,而对于跳跃,我们希望分数尽可能高,我们加上。因此,以足球队为例,我们可以定义 SWC = 0.2 × 4.6cm = 0.9 cm。因此,足球队必须跳到(作为小组平均水平)42.7 厘米(即 41.8 + 0.9 厘米),才能定义成绩的第一个有意义提高。
现在,重要的是要承认上述中"有意义"的定义是可以解释的。比方说,如果我们计划每年进行一次跳高评估,足球队决定下一次在跳高方面获得最佳球队的称号。在这种情况下,0.9厘米的 SWC 没有意义,因为它仍然会让足球队排在最后(假设其他球队没有变化)。为了使它有意义(考虑到我们的背景),假设他们对第二名的成绩感到满意,它必须≥1.4厘米,或者如果必须拿到第一名,它必须≥4.1厘米。如果我们假设是前者(即第二名),那么实现这一目标所需的ES将是0.3,计算方法如下ES × 4.6 = 1.4;因此,ES = 1.4/4.6 = 0.3。对于后者,实现这一目标(即第一名)所需的ES为0.9,计算方法如下。ES × 4.6 = 4.1;因此,ES = 4.1/4.6 = 0.9。因此,在这种情况下确定SWC的效用时(我们对做出有意义的改进所需的变化有一个概念),我们必须再次对简单地遵守某一个数值(如0.2)持批评态度。相反,我们应该根据实际情况来调整这些值以表示其是"有意义的"。这个概念被描述为感兴趣地最小效应量(smallest effect size of interest,SESOI),也可以应用于统计功效计算(在第一部分中已讨论),以定义研究者不希望错过的ES(3)。计算SESOI的另一种方法是将其值建立在测量误差的基础上,也就是说,你能测量到的最低ES是多少,并确保它在数据随机变化产生的噪声之外;这一概念将在下一节讨论。
使用噪音来设定目标
首先,有几种确定目标差异的方法,我们推荐读者参考Hislop等人(10)的研究,对每种方法的优点、缺点和效用进行详细的了解。然而,在这里,我们将只关注基于分布的方法,这通常涉及到使用一个大于测量中固有不确定性的值,改值可能代表了一个有意义差异的最小水平。因此,为了让我们建立有意义的变化,我们将考虑测试的自然变化和误差(或噪音),并确保我们的目标分数不在此范围内。在这方面,我们可以把误差值看作定义测试不能可靠地确定运动能力变化的边界。Weir (18) 提出了一种方法,称为最小差值 (minimal difference, MD),其计算公式为:MD = SEM × 1.96 × 。SEM被定义为测量的标准误差,是衡量分数精确度的标准,其计算方法是差值的SD(SD~diff~)除以(SEM被一些人称为典型误差(12))。然后,1.96定义了与95%置信区间相关的Z分数(这在下一节有更全面的描述),而的存在是为了提供在同一主体上的2个随机测量之间可能得到的差异的估计。考虑到这个差值的方差等于2个方差之和,也就是 + ,等于2 × 。鉴于SD被计算为方差的平方根,那么这将等于 × SD(注意,计算时使用方差而不是SD,因为它们是相加的)--在计算MD的背景下,SEM代表SD。下面用足球队的数据提供了一个SEM的计算实例(@tbl-two),每个运动员在测试中进行了2次最大努力的跳跃。收集2次跳跃的数据,可以定义测试的误差(或噪音),这使从业人员能够衡量其对(真实)变化的敏感性。因此,在进行体能测试时,进行多次尝试应被视为一种良好的做法,如果没有这样,数据可能被认为是不可用的。
#| label: tbl-two
#| tbl-cap: "两次纵跳衡量测试信度"
#| echo: false
options(knitr.kable.NA = "")
table <- tibble::tribble(
~"运动员", ~"第一跳", ~"第二跳", ~"前后差",
"A", 43.7, 42.8, -0.9,
"B", 34.8, 36, 1.2,
"C", 42.8, 40.2, -2.6,
"D", 46.2, 45.8, -0.4,
"E", 37, 36.2, -0.8,
"F", 45.1, 44, -1.1,
"G", 36, 41.2, 5.2,
"H", 38.5, 39.6, 1.1,
"I", 41.9, 44.9, 3,
"L", 37.5, 40.1, 2.6,
"M", 42.7, 45.3, 2.6,
"N", 47.7, 45.8, -1.9,
"0", 31.5, 30.1, -1.4,
"P", 33.8, 36.7, 2.9,
"Q", 46.7, 45.1, -1.6,
"R", 43.7, 42.7, -1,
"前后差值的SD", NA, NA, 2.3,
"SEM (cm)", NA, NA, 1.6,
"最小差值MD (cm)", NA, NA, 4.4
) %>% flextable() %>% theme_apa() %>% autofit()
table

在 @tbl-two 中,信度计算为测量的标准误差(SEM) ,首先计算前后差值的SD(=2.3) ,然后除以 (=1.6)。然后通过将 SEM 乘以1.96(建立95% 置信区间) ,然后再乘以来计算最小差异MD( = 4.4) ,以解释干预后后续测试中的估计误差。在任何后续测试中,运动员的分数超过MD,才能被认为是真正的改变。
作为一种基于误差检测真实变化的额外方法,我们可以计算变异系数(CV) ,这将提供另一种信度度量,使我们能够形成一个边界来检测真实变化。CV 根据平均值来衡量标准差,使它成为了一个标准化的度量标准。此外,它可以在 Excel 中通过超过 2 次测试轻松计算,并且每个运动员都可以有自己的精确度测量。后面这一点很重要,在测试中产生低变异性的运动员将比他们不太稳定的对友有更低的CV,因此,他们个人的测试分数将对变化更敏感。当个人信度数据被整合以后,对一些运动员将有利(他们的CV高),而对另一些运动员则不利(他们的CV低)。现在,以 @tbl-two 中的相同数据来计算每个运动员的CV值、联合CV值,以及每个运动员单独或作为一个群体集体所需的变化(@tbl-three)。在这里,我们应该注意到,与上述的 MD 方法非常相似,基于 CV 的变化分数,无论是单独的还是联合的,都可以乘以 ,然后根据偏好乘以 1.645(对于 90% 置信区间)或 1.96(对于 95% 置信区间),代表最大差异。这些数值也已经在表格中为每个运动员(见CVMD栏)和团队(见最后一行)进行了计算。当这样做的时候,2种方法之间没有太大的区别,需要注意的是如果MD方法是用90%的置信区间而不是95%的置信区间来计算,那么这个值将等于3.7厘米。因此,选择使用哪种方法可能只取决于偏好,哪种方法最容易计算,或者是否需要每个运动员的数值。
#| label: tbl-three
#| tbl-cap: CV计算测试信度
#| echo: false
options(knitr.kable.NA = "")
tablethree <- tibble::tribble(
~Athlete, ~CMJ.trial1, ~CMJ.trial2, ~Best.effort, ~`Athlete.CV(%)`, ~`CVBC(cm)`, ~`CVMD(cm)`,
"A", 43.7, 42.8, 43.7, 1.5, "0.6", 1.5,
"B", 34.8, 36, 36, 2.4, "0.9", 2,
"C", 42.8, 40.2, 42.8, 4.4, "1.9", 4.4,
"D", 46.2, 45.8, 46.2, 0.6, "0.3", 0.7,
"E", 37, 36.2, 37, 1.5, "0.6", 1.3,
"F", 45.1, 44, 45.1, 1.7, "0.8", 1.8,
"G", 36, 41.2, 41.2, 9.5, "3.9", 9.1,
"H", 38.5, 39.6, 39.6, 2, "0.8", 1.8,
"I", 41.9, 44.9, 44.9, 4.9, "2.2", 5.1,
"L", 37.5, 40.1, 40.1, 4.7, "1.9", 4.4,
"M", 42.7, 45.3, 45.3, 4.2, "1.9", 4.4,
"N", 47.7, 45.8, 47.7, 2.9, "1.4", 3.2,
"0", 31.5, 30.1, 31.5, 3.2, "1.0", 2.4,
"P", 33.8, 36.7, 36.7, 5.8, "2.1", 5,
"Q", 46.7, 45.1, 46.7, 2.5, "1.2", 2.7,
"R", 43.7, 42.7, 43.7, 1.6, "0.7", 1.7,
"最好成绩均值", NA, NA, NA, 41.8, NA, NA,
"联合CV (%)", NA, NA, NA, 3.3, NA, NA,
"CV-基于差异(联合) (cm)", NA, NA, NA, 1.4, NA, NA,
"CV-基于最小差值(联合) (cm)", NA, NA, NA, 3.3, NA, NA
) %>% flextable() %>% theme_apa() %>% autofit()
tablethree

在结束本节时,我们可以根据我们的数据的误差确定一些ES阈值;这些代表了可以选择的最低值,因为我们已经试图将信号与噪音分开了。使用 MD (Z = 1.96) 计算足球队的 SESOI 将得到 ES 为 0.96,计算公式为:ES × 4.6 = 4.4;因此,ES = 4.4/4.6 = 0.96。如果MD是基于90%的置信区间(CI)(Z = 1.645),那么它将是ES × 4.6 = 3.7;因此,ES = 3.7/4.6 = 0.80。另外,如果我们选择使用CV(单独)方法。ES × 4.6 = 1.4;因此,ES = 1.4/4.6 = 0.30,最后,如果CV法还乘以1.645和(以考虑后续测试的误差):= ES × 4.6 = 3.3;因此,ES = 3.3/4.6 = 0.72。
为了与我们的叙述保持一致,我们更希望避免第二类错误,所以我们将使用单一CV法来定义我们的SESOI。我们还将继续使用阈值,因为教练和球员通常会更好地理解定性描述,而不是让他们去解释由SD推断的差异大小;然而,我们努力不使用武断的语言,因为这会促进二分法。因此,让我们说0.3以下的数值只是噪音,因此代表 "微不足道"的变化,而任何超过0.9的数值都代表 "大"的变化,因为这让我们获得了第一名。让我们也继续对我们的变化进行分级,把0.31-0.6作为 "小"变化,把0.61-0.9作为 "中等"变化,这两个区域的变化都与第二名有关,但第二个区域标志着我们越来越接近于赢得比赛。有趣的是,按照CV(单一)法能检测到的ES最低阈值是0.3,这意味着基于我们检测变化的分布方法,我们在 @fig-point 中注意到的足球和篮球运动员之间的ES不是 "真实"的,因此归因于数据的变异性。因此,在这个假设下,如果这两支球队第二天再来进行测试,比如说,如果由均值差异(简单效应)决定的球队排名变化,而足球队测试结果更好,我们不应该感到惊讶。
频率统计与置信区间
每个队伍的平均值以及其ES值为我们提供了一个点估计,也就是说,一个值代表了对一个目标统计量的最佳估计,比如队伍的平均值。但这存在问题,因为我们的数据可能会受到异常值的影响,例如,一名运动员(或几名运动员)的数据远高于或低于球队的其他人,而其他人的数据则比较集中。其次,它影响了我们使用数据的能力,即用样本对更广泛人群的特征做出推断。最后,它不提供对估计精度的直接洞察。关于后者,正如第一部分所讨论的P值,我们需要认识到,即使在两个完美的复制研究之间,取得相同ES的机会也很低,因此,我们必须学会接受不确定性,并谦虚地进行解释(1)。然而,如果我们使用CI,就可以在很大程度上克服这些问题,但要注意的是,不同研究之间的CI也是不同的,因为它们的计算是基于样本量和SD的,而且一如既往地受随机变化的影响,这可能会产生深刻的影响(1)。
置信区间被认为是 NHST 的一个替代推断统计量,首先由 Neyman (16)提出,并且得到了其他人的大力支持(1,5,7,8)。置信区间可以应用于平均值、相关性和效应量,例如,定义一个数据范围,你可以认为总体的真实值就在该区间之内。CI 是频率主义框架的一部分,因此它描述了一个关于在重复使用中绘制这种区间范围的过程的性能(9)。更具体地说,我们的模型表明,如果我们在相似样本中重复计算95%的CI,那么95%的CI将包括真实(总体)ES。因此,总而言之,CI使我们能够将样本统计数据作为包含总体的估计值(8)。CI也表明了我们估计的精确性(通过区间范围),这是体育界需要强调的重要一点,因为我们经常使用小样本,数据变异程度可能很高,因此CI也可以作为功效计算的一种替代。最后,CI有利于我们摆脱使用点估计来描述我们的整个数据集,并鼓励我们接受不确定性和描述区间内所有数值的实际影响,特别是点估计和极限(1)。Amrhein等人(1)提醒研究人员,鉴于用于计算区间的统计假设,区间界限之间的所有数值都与数据合理兼容,因此关注1个数值是毫无意义的。事实上,许多统计学家现在都主张将CI改名为相容区间,原因就在于此。这样的改名应该有助于促进谦虚,从而在解释其含义和推断结果时锤炼信心,并鼓励我们考虑和接受区间内的所有值(1)。
关于置信区间(或相容区间)的一些额外注意事项是,通过考虑区间是否包含空值,它们也可以成为 NHST 框架的一部分。在接下来的例子中,让我们假设空值为零,水平设定为0.05,并假设我们使用ES分析来量化两组运动员中从基线测试开始的变化。如果第一组显示95%的CI值在0.1到0.6之间,而第二组的95%CI值在-0.1到0.4之间,那么,鉴于这些数据,我们可以说第一组在统计学上与零有明显的不同,而第二组则没有。我们还应该指出,这种设计不适合确定各组之间是否有统计学上的显著差异,因为这需要通过以基线为协变量直接比较各组的平均值,而不是通过单独分析各平行组从基线开始的变化来进行(2)。因此,假设对独立平均值进行评估,那么如果需要精确的p 值,则将使用协方差分析。然而,我们可以再次在 NHST 框架内使用我们的 CI,Cumming 和 Finch (6) 提供了一个有用的"目测推理"指南,这将适合从业者或仅检查数字的人进行快速评估。在这种情况下,如果 95% CI 的重叠不超过平均误差范围的一半(即 1 个 CI 臂长度的一半),则可以认为 p < 0.5。如果误差条完全不重叠,那么可以认为P < 0.1。当两个样本量至少为10,且误差率不超过2倍时,这些关系就足够准确。
最后,与P值一样,CI的正确解释并不为所有使用CI的人所理解(11),这也是很不幸的,因为CI与P值一起构成了体育科学家从数据中得出结论的主要工具。为了重申它们的含义,使用 Hoekstra 等人提供的定义 (11),置信区间是围绕参数估计值构建的数值区间(请注意,统计量描述的是样本,而参数描述的是总体)。作为典型的频率主义技术,区间并不直接表明参数的属性,而是过程属性,关于数据的结论是基于假设的无限重复实验(即样本空间)的过程平均性能。具体来说,它告诉我们,当在一系列假设的数据集中重复使用这个过程时,在95% 的情况下产生包含真参数值的区间。因此,我们可以注意到,将 CI 解释为真值在区间内的概率是不正确的; 然而,我们可以选择将其视为这种情况。
因此,如果我们想使用 @tbl-cmj 中的样本数据(其中我们的模型仅基于原始分数,不包括年龄,身高,体重或性别等因素的协变量)来推断足球,篮球和曲棍球运动员所代表的总体跳跃高度,我们可以计算 CI,按照 @eq-four 。一般来说,当样本大小30时,我们使用 Z分数来围绕点估计建立我们的区间。但是,如果我们的样本小于30,就像在运动训练中经常出现的情况(在我们的示例中也是如此) ,那么我们使用 t 统计量。正如我们在上面已经讨论过的,Z分数对应的95%CI = 1.96,90%CI = 1.645(按照惯例,研究人员通常计算95%CI)。然而,我们可以使用Excel的NORM.S.INV函数对任何区间进行计算,如 @eq-five 所示。对于t统计,我们使用Excel的T.INV.2T,如 @eq-six 所示,其数值不仅基于CI的大小(如95%或90%),而且还基于样本大小(或者说自由度)。在我们的示例中,样本量为 16,我们将使用 t = 2.131 表示 95% CI,使用 t = 1.753 表示 90% CI。因此,使用 @eq-four ,我们可以计算与每个队伍相关的 CI,数据如 @tbl-CI 和 @fig-two 所示。我们还注意到,在实践中,坚持使用 t 分布可能更方便,因为它最适合于较小的样本,但随着样本量的增加,结果趋向于正态分布。最后,还可以围绕团队之间差异的计算 ES 构建 CI,但为此,我们需要使用 @eq-seven (15) ,数据如 @eq-five 所示。
#| label: tbl-CI
#| tbl-cap: 队伍均值的置信区间
#| echo: false
# 编写自定义函数计算两组之间比较Cohen’d 和 Hedges g
Cohen <- function(x1,x2){
diff = mean(x1,na.rm = T) - mean(x2, na.rm = T)
SDpooled = sqrt(((length(x1) - 1) * sd(x1, na.rm = T)^2 + (length(x1) - 1) * sd(x2, na.rm = T)^2) / (length(x1) + length(x2) - 2))
d = diff / SDpooled
g = d * (1 - (3 / (4 * (length(x1) + length(x2) -9))))
result = tibble(g = g) # 看需求选择输出1和还是2个
return(result)
}
tablefoure <- jump_long %>%
group_by(team) %>%
summarise(
样本量 = n(),
均值 = mean(height),
标准差 = sd(height),
`%95CIl` = 均值 - 1.96 * (标准差 / sqrt(样本量)),
`%95CIu` = 均值 + 1.96 * (标准差 / sqrt(样本量)),
`%90CIl` = 均值 - 1.645 * (标准差 / sqrt(样本量)),
`%90CIu` = 均值 + 1.645 * (标准差 / sqrt(样本量))
) %>% mutate(
across(where(is.numeric), round,digits = 1),
team = factor(team, levels = c("足球队" , "篮球队" , "曲棍球队"))
) %>%
unite("%95CI", `%95CIl`:`%95CIu`, sep = "-") %>%
unite("%90CI", `%90CIl`:`%90CIu`, sep = "-")
tablefoure %>% flextable() %>% theme_apa() %>% autofit()
#| label: fig-two
#| fig-cap: "均值的95%置信区间"
#| echo: false
#| warning: false
library(pBrackets)
bracketsGrob <- function(...){
l <- list(...)
e <- new.env()
e$l <- l
grid:::recordGrob( {
do.call(grid.brackets, l)
}, e)
}
b1 <- bracketsGrob(x1=0.48,y1=0.43,x2=0.48,y2=0.96,h=0.025,
lwd=2,col="blue")
figtwo <- tablefoure <- jump_long %>%
group_by(team) %>%
summarise(
样本量 = n(),
均值 = mean(height),
标准差 = sd(height),
`%95CIl` = 均值 - 1.96 * (标准差 / sqrt(样本量)),
`%95CIu` = 均值 + 1.96 * (标准差 / sqrt(样本量)),
`%90CIl` = 均值 - 1.645 * (标准差 / sqrt(样本量)),
`%90CIu` = 均值 + 1.645 * (标准差 / sqrt(样本量))
) %>% mutate(
across(where(is.numeric), round,digits = 1),
team = factor(team, levels = c("足球队" , "篮球队" , "曲棍球队"))
) %>% ggplot(aes(color = team))+
geom_errorbar(aes(x = team, ymin = `%95CIl`, ymax = `%95CIu`),
width = 0.05, size = 1.5)+
geom_point(aes(x =team, y = 均值), size = 3)+
annotate("text",x = 1.7, y = 46,label = "置信区间",color = "black" )+
annotate("text", x = 2.5, y = 42, label = "点估计")+
geom_segment(aes(x = 2.5, y = 42.5, xend = 2.9, yend = 43),
arrow = arrow(length = unit(0.2,"cm")))+
ylab("纵跳高度(cm)")+
xlab("")+
theme_classic()+
theme(
legend.position = "none"
) +
annotation_custom(b1)
figtwo
{#eq-four}$$公式4:用小样本(< 30)计算平均值的置信区间
其中 X = 平均值(例如,组平均值或平均变化);n = 样本量;t 基于所选的 CI 宽度(例如,95% 或 90%)以及样本量(有关如何计算此值,请参见 @eq-five )。当样本量 > 30 时,用 t 代替 z。
公式5:使用Excel的NORM.S.INV函数来返回标准正态累积分布的反值
该分布的平均值为0,SD为1
{#eq-five}$$在EXCEL中输入= NORM.S.INV
*"概率"*是指所选择的 水平,通常为0.05,但可以在研究团队认为合适的范围内设定最高值ーー在这里,我们建议使用0.1。选择0.05将产生与95% 置信区间(即1ー )相关联的值,而选择0.1将产生与90% 置信区间相关联的值。这里,我们除以2,因为我们的假设是双尾的,平均值的两边都有可能。
公式6:使用 Excel 的 T.INV.2T 函数计算双尾 t 分布的逆函数
{#eq-six}$$在Excel中输入=T.INV.2T
*"概率"*是所选的水平,通常为0.05,但可能高达0.1。deg_freedom 的计算方法是运动员人数减去组数。因此,如果我们只是测试1个由16名运动员组成的小队,这将是16-1=15。因此,我们将输入 15。@eq-seven 计算效应大小的 90% 置信区间,适用于小样本 (<30),使用将输入 Excel 的公式编写。然后在点估计值的两侧构建这些区间。该公式提供了偏差校正标准化均值差 (Hedges g) 的标准误差 (SE)。
{#eq-seven} $$现在,让我们重新检查ES数据,确保我们的分析不仅集中在点估计上,而且集中在每个区间的极值上,这些极值也与我们的数据一致,给出了用于计算区间的统计假设。我们还将使用上一节中提出的阈值和对它们的论证(即0-0.3=微不足道,0.31-06=小,0.61-0.9=中等,>0.9=大)。因此,我们可以这样说:我们发现篮球运动员与足球运动员(g=0.81,90%CI:0.20-1.41)和曲棍球运动员(g=0.51,90%CI:0.08-1.10)相比,分别表现出微不足道与大的差异,尽管足球运动员和曲棍球运动员之间的差异是微不足道的(g=0.28,90%CI:-0.30-0.87),但鉴于我们的假设,曲棍球运动员在跳跃高度上表现出小到中等幅度的差异,这一推论也在我们数据数据的合理范围内。
总结
效应量可能是结果中最重要的部分,为我们提供了数据的实际意义和观察到的差异大小的指示。从业人员在确定其ES的阈值时应考虑SESOI,该值的最低值应通过量化测试的误差来确定。在这里,我们提出了两个例子,分别使用MD和CV,选择使用哪种方法,可能会像以往一样,归结为从业者是否愿意冒I型或II型错误。置信区间应涵盖ES,使我们能够从样本数据中推断出更广泛的群体。它们还应该有助于引导我们远离关注点估计,鼓励我们接受数据中的不确定性,并描述区间内所有值的实际含义,特别是点估计和极限。最后,我们必须记住,CI定义了一个数据范围,我们可以将其视为真实的总体值,因为它们(如p值)是频率主义框架的一部分,因此实际上提供了一个关于过程长期性能的陈述。更具体地说,他们告诉我们,如果我们在相似的样本中重复计算 90% 的置信区间,那么其中 90% 的置信区间将包括真实的总体值。最后,尽可能与统计学家合作!
