回答:
あなたが持っている場合は、累積分布関数 、そして計算したp与えられた統計の-value Tは単純である1 - F (T )。これは、あなたが持っている場合はR.で簡単です確率密度関数を他の一方で、その後、F (X )= ∫ X - ∞ P (T )Dのトン。この積分は、分析的または数値的に見つけることができます。Rでは、これは次のようになります。
dF <- function(x)dnorm(x)
pF <- function(q)integrate(dF,-Inf,q)$value
> pF(1)
[1] 0.8413448
> pnorm(1)
[1] 0.8413447
integrate
より正確に調整することができます。もちろん、積分がうまく動作しない特定のケースではこれは失敗するかもしれませんが、密度関数の大部分で機能するはずです。
もちろんpF
、試してみるパラメーター値がいくつかあり、そのdF
たびに再定義したくない場合は、にパラメーターを渡すことができます。
dF <- function(x,mean=0,sd=1)dnorm(x,mean=mean,sd=sd)
pF <- function(q,mean=0,sd=1)integrate(dF,-Inf,q,mean=mean,sd=sd)$value
> pF(1,1,1)
[1] 0.5
> pnorm(1,1,1)
[1] 0.5
もちろん、@ suncoolsuで詳細に説明されているように、モンテカルロ法も使用できます。これは、統合のためのもう1つの数値法になります。
dF
。これはdF
、指定された引数で密度関数値を返すはずです。
はい、任意の分布を使用して統計の p値を取得することができます。理論的および実際的には、この式によって(一方的な)p値を計算できます。
ここで行う唯一の仮定は、T のヌル分布を知っていることです(これは標準のR乱数ジェネレーター形式ではない場合があります)。それだけです-ヌル分布を知っている限り、p値を計算できます。