【问题标题】:Calculate `eta` for sample size calculation using power anova使用幂 anova 计算样本量计算的 `eta`
【发布时间】:2021-06-11 14:36:35
【问题描述】:
我在 python 中使用pingouin.power_anova(eta=None, k=None, n=None, power=None, alpha=0.05) 来计算样本量。
我有关于control_group_historic_mean、control_group_historic_std_deviation 和minimum_detectable_effect 的信息。我从here 中了解到eta 的定义。但无法弄清楚我应该如何使用给定的信息来计算eta。
对不起,如果我遗漏了一些基本的东西,我是统计新手。
【问题讨论】:
标签:
python
statistics
anova
sample-size
【解决方案1】:
处理eta 的最简单方法是查看平方和(SSs),其中eta 等于组间的 SS(SSbetween 或 SSeffect)与总 SS 的比率(SSbetween + SSerror )。
显然,您需要访问各个数据点才能计算组内和组间的差异。
但是,您也可以根据汇总数据重建 ANOVA 表。 SSbetween 是组均值 Yi 和总均值 Y 的平方差之和乘以每组中值的数量。
例如:
| group |
mean |
n |
calculation |
| A |
41 |
8 |
8 * (41 - 32.5)² |
| B |
38 |
8 |
8 * (38 - 32.5)² |
| C |
14 |
8 |
8 * (14 - 32.5)² |
| D |
37 |
8 |
8 * (37 - 32.5)² |
| sum |
|
|
3720 |
总平均值 Y = (41 + 38 + 14 + 37) / 4 = 32.5
对于 SSerror(也称为 SSwithin),我们无法访问单个数据点 Yij,但我们可以访问每个组的标准差。我们知道方差是平方和的平均值,因此 SSwithin 是平方标准差的总和乘以每组中的一个或多个值减 1,如下所示:
| group |
SD |
n |
calculation |
| A |
3.5 |
8 |
(8 - 1) * 3.5² |
| B |
4.6 |
8 |
(8 - 1) * 4.6² |
| C |
3.8 |
8 |
(8 - 1) * 3.8² |
| D |
4.9 |
8 |
(8 - 1) * 4.9² |
| sum |
|
|
503.02 |
Eta² = 3720 / (3720 + 503.02)