の一部のテストでR
は、のp値の計算に下限があります。正当な理由がある場合、または単にarbitrary意的なものである場合、なぜこの数字なのかわかりません。他の多くの統計パッケージはに移動するだけなので、これははるかに高いレベルの精度です。しかし、または報告している論文はあまり見ていません。0.0001
この計算値を報告するのは一般的/ベストプラクティスp < 0.000000000000001
ですか、それとも他の何か(など)を報告するのがより一般的ですか?
の一部のテストでR
は、のp値の計算に下限があります。正当な理由がある場合、または単にarbitrary意的なものである場合、なぜこの数字なのかわかりません。他の多くの統計パッケージはに移動するだけなので、これははるかに高いレベルの精度です。しかし、または報告している論文はあまり見ていません。0.0001
この計算値を報告するのは一般的/ベストプラクティスp < 0.000000000000001
ですか、それとも他の何か(など)を報告するのがより一般的ですか?
回答:
それには十分な理由があります。
値は次の方法で見つけることができます 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」のようなもの、またはJaapが彼の答えで言及しているAPAルール)は、おそらく賢明なプラクティスからそれほど遠くなく、おおよそのポイントです「それは非常に小さい」と言うこと以上に意味を失います。もちろん、状況によってかなり異なります。
これが、一般的なルールを提案できない理由の1つです。あらゆる状況のすべての人にリモートでさえ適した単一のルールはあり得ません。意味のないものは、時には長い道のりで変わります。
あなたが(それは回帰だ例えば、正確な状況についての十分な情報を指定した場合、このくらいの非線形性、つまりこの独立変数の変化量、この誤差項で種類や依存性の量、それの種類及び不均一の量、このエラー分布の形)、「真の」p値をシミュレートして名目上のp値と比較することができるため、名目値では意味が伝わらないほど異なっていたことがわかります。
しかし、それが、真のp値をシミュレートするのに十分な情報を指定したとしても、そのような状況でさえ責任を持ってカットオフを述べることができなかった2番目の理由につながります。
あなたが報告するものは、あなたの好み、そしてあなたの聴衆によって異なります。私は、公称で線を引くために望んでいたことを決定するためにあなたが事情について十分な私に言った想像の10 - 6。
あなた自身の好み関数を除いて、あなたは統計パッケージによって与えられた名目上のp値と特定のセットを仮定したときのシミュレーションから得られたp値の違いを見たのですか?仮定の失敗)を置き、提出したいジャーナルの編集者は10 − 4で遮断するブランケットルールを持ち、次のジャーナルは10 − 3に置き、 nextには一般的なルールがなく、得た特定のエディターは私が与えた値よりもさらに低い値を受け入れるかもしれません...
好みの機能やルールに関する知識がなく、またあなた自身のユーティリティに関する知識がない場合、どのような行動をとるかの一般的な選択を責任を持って提案するにはどうすればよいですか?
少なくとも、私がしていることの種類を話すことができます(そして、これがあなたにとって良い選択であることはまったくお勧めしません):
私はより少ないAPの多くなるだろうした(p値をシミュレートする外)いくつかの事情がある(私はしてもしなくてもよいパッケージによって報告された値を挙げることができるが、私はよりそれの何が他のことはないだろうそれは非常に小さかったので、通常は正確な数の無意味を強調します)。時々私はどこかの地域での値をとる10 - 5に10 - 4およびpはそれよりもはるかに少なかったと言います。時々私は実際に上記のように行います-いくつかのシミュレーションを実行して、特に私が心配している特定の種類の違反がある場合、仮定のさまざまな違反に対してp値がどれだけ敏感であるかを確認します。
これは確かに選択肢を知らせるのに役立ちますが、シミュレーションの結果を使用してカットオフ値を選択し、他の人が自分で選択する機会を与えるのと同様に、シミュレーションの結果を議論する可能性があります。
シミュレーションに代わる方法は、仮定のさまざまな潜在的な失敗に対してより堅牢な*手順を調べ、p値にどの程度の差が生じるかを調べることです。それらのp値も特に意味はありませんが、少なくともどれほどの影響があるかについてある程度の感覚を与えます。いくつかが名目上のものと非常に異なる場合、それはまた、どの仮定の違反が影響を調査するかについてのより多くのアイデアを提供します。これらの選択肢のいずれも報告しなくても、小さなp値がどれほど有意義であるかをよりよく把握できます。
*ここでは、何らかの仮定の重大な違反に対して堅牢な手順は実際には必要ないことに注意してください。関連する仮定の比較的軽度の偏差による影響が少ないものは、この演習では問題ないはずです。
非常に穏やかな違反であっても、そのようなシミュレーションを行うようになった場合/そうする場合、場合によっては、それほど小さいp値でさえ間違っている可能性があることに驚くことがあります。これは、使用する可能性のある特定のカットオフをシフトするよりも、個人的にp値を解釈する方法を変更するためにより多くを行いました。
実際の仮説検定の結果をジャーナルに提出するとき、それらにルールがあるかどうかを調べようとします。そうでない場合、私は自分自身を喜ばせ、レフェリーが文句を言うのを待ちます。
一般的な方法は、研究分野によって異なります。最もよく使用される引用スタイルの1つであるアメリカ心理学会(APA)のマニュアルには次のように記載されています(p。139、第6版)。
p <0.001より小さい値は使用しないでください
このような極端なp値は、ゲノミクスやプロセスモニタリングなど、非常に大量のデータを持つフィールドで頻繁に発生します。これらの場合、-log 10(p-value)として報告されることがあります。たとえば、Natureのこの図を参照してください。p値は1e-26になります。
-log 10(p-value)は、JMPで働いている統計学者によって「LogWorth」と呼ばれています。
Rでは、「<2e-16」は文字通り<2e-16を意味しませんが、代わりに、値が非常に小さいため、Rが記録または表示できません。
回帰テストでは、pが4.940656e-324になることがよくあります。「<2e-16」を出力すると、これは4.940656e-324よりもさらに小さい数値になります。
<2e-16
、値は2e-16
文字通りより小さいです。
format.pval
か、単に試してくださいformat.pval(1e-16)
。