Я не нашёл в G*Power McNemar’s Exact Test, a как в него превратить обычный Chi-squeare не разобрался, поэтому делаю в Эр, в котором есть готовая функция.
pb pc это специфичное для теста указание ожидаемого эффекта,
pb это ожидаемая precision, а pc это соответственно recall
В моём случая pb это шанс указать курс как релевантный, если он был рекомендован очень хорошим алгоритмом, а pc это шанс указать случайный курс (или курс рекомендованный худшим алгоритмом) как релевантный
Таким образом, чем больше разница между pb и pc, те больше ожидаемый размер эффекта
power | npairs | pb | pc | sig.level | alternative | method |
---|---|---|---|---|---|---|
0.845258546724136 | 200 | 0.6 | 0.35 | 0.01 | two.sided | Power for McNemar’s Exact Test |
0.889714363443298 | 50 | 0.7 | 0.2 | 0.01 | two.sided | Power for McNemar’s Exact Test |
0.805261191979888 | 30 | 0.7 | 0.2 | 0.05 | two.sided | Power for McNemar’s Exact Test |
Для оптимального и идеального эксперимента я выбрал большую мощность и низкую вероятность первого рода. Однако, я обмениваю размер эффекта на размер выборки, т.е. в идеальном эксперименте я могу позволить себе сравнить хороший алгоритм и очень хороший, и готов набрать 200 участников, а вот в оптимальном варианте я буду проверять только очень хороший алгоритм против случайного. Так я смогу ограничиться только 50 респондентами. (И сохранить бюджет проекта!)
В плохом эксперименте я пренебрегаю мощностью и скатываюсь в 0.8 и немного хакаю p-value, чтобы при небольшой выборке в 30 человек получить различие между очень хорошим алгоритмом и случайным.
А это просто картинка, которая позволяет взглянуть на 4 оси анализа мощности.