Как сообщать о крошечных

63

Для некоторых тестов в R, существует нижний предел на расчетов 2.221016 . Я не уверен, почему это число, если для этого есть веская причина или оно просто произвольно. Многие другие пакеты статистики просто идут 0.0001, так что это намного более высокий уровень точности. Но я не видел слишком много статей отчетности p<2.221016 или p=2.221016 .

Является ли распространенной / лучшей практикой сообщать об этом вычисленном значении или более типично сообщать что-то еще (например p < 0.000000000000001)?

Павел
источник
Если вы получаете такое маленькое значение p и хотите рассчитать фактическое значение p, вы можете использовать эту функцию в excel = TDIST (t, df, 2). Добавьте значения ваших 't' и df, и вы получите фактическое значение. р-значение та
7
@ Tahzeeb, есть ли причина, по которой Excel вернет более точную оценку, чем R ..? Насколько я знаю, это гораздо менее точно.
Тим
...But I haven't seen too many papers reporting p<2.22⋅10−16....См. Некоторые статьи GWAS , есть много работ, показывающих результаты для pvalues ​​в сотнях, например: область KLK рака простаты, p = 9x10 ^ -186.
zx8754
1
Смотрите также ответ whuber здесь: stats.stackexchange.com/questions/11812 .
амеба говорит восстановить монику

Ответы:

87

Для этого есть веская причина.

Значение можно найти через noquote(unlist(format(.Machine)))

           double.eps        double.neg.eps           double.xmin 
         2.220446e-16          1.110223e-16         2.225074e-308 
          double.xmax           double.base         double.digits 
        1.797693e+308                     2                    53 
      double.rounding          double.guard     double.ulp.digits 
                    5                     0                   -52 
double.neg.ulp.digits       double.exponent        double.min.exp 
                  -53                    11                 -1022 
       double.max.exp           integer.max           sizeof.long 
                 1024            2147483647                     4 
      sizeof.longlong     sizeof.longdouble        sizeof.pointer 
                    8                    12                     4 

Если вы посмотрите на помощь, ( ?".Machine"):

double.eps  

the smallest positive floating-point number x such that 1 + x != 1. It equals 
double.base ^ ulp.digits if either double.base is 2 or double.rounding is 0; 
otherwise, it is (double.base ^ double.ulp.digits) / 2. Normally 2.220446e-16.

По сути, это значение, ниже которого вы можете быть совершенно уверены, что это значение будет численно бессмысленным, поскольку любое меньшее значение вряд ли будет точным вычислением значения, которое мы пытались вычислить. (Изучив небольшой численный анализ, в зависимости от того, какие вычисления были выполнены конкретной процедурой, есть большая вероятность того, что численная бессмысленность будет выше этого.)

Но статистический смысл будет утерян гораздо раньше. Обратите внимание, что значения p зависят от допущений, и чем дальше в крайний хвост, тем сильнее на истинное значение p (а не на номинальное значение, которое мы рассчитываем) будут влиять ошибочные предположения, в некоторых случаях, даже если они только немного не правы. Поскольку предположения просто не будут полностью удовлетворены, средние p-значения могут быть достаточно точными (с точки зрения относительной точности, возможно, лишь незначительной доли), но чрезвычайно малые p-значения могут отсутствовать во многих порядках величина.

То есть обычная практика (что-то вроде «<0,0001», которое, как вы говорите, распространена в пакетах, или правило APA, которое Jaap упоминает в своем ответе), вероятно, не так далека от разумной практики, но является приблизительной точкой, в которой вещи потерять смысл, не говоря «очень-очень мало », конечно, будет сильно зависеть от обстоятельств.

Это одна из причин, по которой я не могу предложить общее правило - не может быть единого правила, которое хотя бы отдаленно подходит для всех при любых обстоятельствах, - немного измените обстоятельства, а широкая серая линия, обозначающая изменение от несколько значимого до относительно бессмысленно изменится, иногда далеко.

Если бы вы указали достаточную информацию о точных обстоятельствах (например, это регрессия с такой большой нелинейностью, это количество вариаций в этой независимой переменной, этот вид и степень зависимости в выражении ошибки, такого рода и степень гетероскедастичности, это форма распределения ошибок), я мог бы смоделировать «истинные» p-значения, чтобы вы могли сравнить их с номинальными p-значениями, чтобы вы могли видеть, когда они были слишком различны для номинального значения, чтобы нести какой-либо смысл.

Но это приводит нас ко второй причине, почему - даже если вы указали достаточно информации для имитации истинных p-значений - я все равно не смог бы ответственно заявить об ограничении даже для этих обстоятельств.

p106

105104103

В отсутствие знаний об их предпочтительных функциях и правилах, а также в отсутствие знаний о ваших собственных утилитах, как я могу ответственно предлагать какой-либо общий выбор действий, которые следует предпринять?

Я могу, по крайней мере, рассказать вам о том, что я делаю (и я не думаю, что это хороший выбор для вас):

106105104

Это, безусловно, полезно для информирования о выборе - но я с такой же вероятностью буду обсуждать результаты моделирования, чтобы использовать их для выбора предельного значения, предоставляя другим возможность выбирать свои собственные.

Альтернативой симуляции является рассмотрение некоторых процедур, которые более устойчивы * к различным потенциальным ошибкам предположения, и посмотрите, как сильно может измениться значение p. Их p-значения также не будут особенно значимыми, но они, по крайней мере, дают некоторое представление о том, какое влияние это может оказать. Если некоторые из них сильно отличаются от номинальных, это также дает больше представления о том, какие нарушения допущений для исследования воздействия. Даже если вы не сообщите о какой-либо из этих альтернатив, это дает более полную картину того, насколько значимым является ваше маленькое значение p.

* Обратите внимание, что здесь нам не нужны процедуры, которые были бы устойчивы к грубым нарушениям некоторых предположений; те, которые менее подвержены относительно умеренным отклонениям соответствующего предположения, должны подойти для этого упражнения.

Я скажу, что когда / если вы приходите делать такое моделирование, даже с довольно легкими нарушениями, в некоторых случаях может быть удивительно, насколько далеко даже не такие маленькие p-значения могут быть неправильными. Это сделало больше, чтобы изменить способ, которым я лично интерпретирую значение p, больше, чем оно изменило конкретные ограничения, которые я мог бы использовать.

При отправке результатов проверки фактической гипотезы в журнал я пытаюсь выяснить, есть ли у них какое-либо правило. Если они этого не делают, я склонен угождать себе, а затем ждать, пока судьи будут жаловаться.

Glen_b
источник
11
Мне особенно нравится комментарий о том, что статистический смысл теряется гораздо раньше.
usεr11852 говорит восстановить Monic
Отличный ответ! Я ценю все детали по этому вопросу, это проясняет, почему R дает это число Но это на самом деле не отвечает на вопрос о том, что сообщать.
Пол
1
Я скорее почувствовал, что обратился к проблеме, в том смысле, что я объяснил, почему он не несет ответственности за конкретное предложение. Обратите внимание, что я обсуждаю, почему имеет смысл сообщать что-то вроде «<0,0001», что является обычной практикой в ​​некоторых пакетах. Есть несколько причин, по которым я не предлагаю конкретное число - первую из которых я дал. Я остановлюсь на этой причине и второй в редактировании.
Glen_b
Пол, я добавил более содержательное обсуждение.
Glen_b
2
Да, вам нужно что-то сделать; смысл моего более обширного комментария состоял в том, чтобы передать, что я не могу сказать вам, что вы должны сделать, я могу только обсуждать вопросы, которые возникают на ваш выбор. Я надеюсь, что сделал это, но я рад попытаться прояснить любые вопросы, если смогу.
Glen_b
27

То, что является обычной практикой, может зависеть от вашей области исследований. В руководстве Американской психологической ассоциации (APA), которое является одним из наиболее часто используемых стилей цитирования, говорится (стр. 139, 6-е издание):

Не используйте любое значение меньше p <0,001

Яап
источник
8
Хотя это то, что я обычно цитирую (+1), я не уверен, нужно ли пересматривать эту рекомендацию на один знак после запятой, учитывая недавнюю рекомендацию Валена Джонсона в PNAS : «Сделайте 0,005 уровнем значимости по умолчанию [ ...]. Свяжите очень значимые результаты теста со значениями P, которые меньше 0,001. "
Хенрик
3
Хороший ответ. В моих областях нет руководств по стилю и реальных стандартов, по крайней мере, для p-значений. Я занимаюсь междисциплинарной работой, но думаю, что информатика и HCI были бы полем для этого. Я думаю, что стиль APA был бы тем, к которому обратились бы авторы, поскольку методы обычно заимствованы из когнитивной психики или других областей, которые охватит APA.
Пол
10
5σp<106
1
5σzpp0.0001zp
@amoeba Да, я думаю, ты прав.
Glen_b
14

Такие экстремальные значения p встречаются чаще в областях с очень большими объемами данных, таких как геномика и мониторинг процессов. В этих случаях иногда сообщается как -log 10 (значение p). Посмотрите, например, этот рисунок из Nature , где значения p снижаются до 1e-26.

-log 10 (p-value) называется "LogWorth" статистиками, с которыми я работаю в JMP.

Xan
источник
22
ppp
8
@BenBolker Действительно, хотя это и менее вероятно, чем «АНБ подделало ваши данные», даже такие события, как «Космический луч перевернул несколько важных битов в ваших данных», гораздо более вероятны, чем эти вероятности.
Glen_b
6
p<10100ρ0.9n500
8
p=2.2×10226
9
@amoeba В разделе комментариев Кодекса Slate Star Даниэль Уэллс отмечает, что science.sciencemag.org/content/363/6425/eaau1043 сообщает, что p-значение составляет 3,6e-2382 («не опечатка, две тысячи », говорит Даниэль). ), который превосходит ваши!
Марк Амери
-3

в R «<2e-16» не означает буквально <2e-16, но вместо этого это означает, что значение настолько мало, что R не может записать или отобразить его.

В регрессионном тесте я часто получаю p равным 4.940656e-324, когда он выдает «<2e-16», это число даже меньше, чем 4.940656e-324

user3590816
источник
Какое число « даже меньше, чем 4.940656e-324 »?
Свен Хоэнштайн
8
Ваше утверждение " в R" <2e-16 "не означает буквально <2e-16 " неверно. Когда R отображает <2e-16значение является меньшим , чем 2e-16, в буквальном смысле.
Свен
Вы неправильно поняли, что я сказал. Когда R говорит «<2e-16», значение p меньше 2e-16, но это не означает, что значение p меньше 2e-16 будет отображаться как «<2e-16». Как я показал, у R нет проблем с отображением в итоговом p-значении lm любого числа между [4.940656e-324, 2e-16], в то время как левая граница равна 2 ^ -1074. Поэтому я предполагаю, что только когда значение p меньше, чем 2 ^ -1074, R тогда скажет, что значение p меньше, чем небольшое дельта-значение. Просто так получается, что R отображает это значение дельты как 2e-16. Так что я думаю, что «<2e-16» на самом деле означает «<2 ^ -1074» в значениях p
user3590816
6
Однако ваше предположение неверно: именно это @Sven пытается вам сказать. Смотрите помощь format.pvalили просто попробуйте, как в format.pval(1e-16).
whuber