の計算方法を教えていただきたいP ≥ -0.0001
です。私は数学、統計、R の初心者です。
現在、R でスプレッド データをモデル化しています。データを特定の分布 (以下の例の場合、これは双曲線) にモデル化し、尤度比テストを実行して、指定された分布を使用することの実行可能性を確認することができました。
私の頭の中で、分布を取得したら、曲線の下の領域をより正確に理解するにつれて、より確実に確率を計算できるようになりましたか?
分布が一致したら、t統計と同様のテストを実行できると想定していましたが、これを行う方法がわかりません。
私はpnorm(x)
関数を見てきphyper
ましたが、単純に計算する方法もわかりませんP ≥ -0.0001
。
以下は私のコードです。ご協力いただければ幸いです。
`# ライブラリ (ghyp) ライブラリ (timeSeries)
# Coverting to Time Series
E <- timeSeries(A[,"Spread"])
# Fitting
ef <- (density(E))
ghdfit <- fit.ghypuv(E,symmetric = FALSE, control = list(maxit = 1000))
hypfit <- fit.hypuv(E,symmetric = FALSE, control = list(maxit = 1000))
nigfit <- fit.NIGuv(E,symmetric = FALSE, control = list(maxit = 1000))
# Density
ghddens <- dghyp(ef$x, ghdfit)
hypdens <- dghyp(ef$x, hypfit)
nigdens <- dghyp(ef$x, nigfit)
nordens <- dnorm(ef$x, mean = mean(E),sd = sd(c(E[,1])))
col.def <- c("black","red","green","orange")
plot(ef, xlab = " Spread ", ylab = expression(f(x)),ylim = c(0,50), main ='CABLE - 3 Day Comparison across 28 Years')
lines(ef$x, ghddens, col = "red")
lines(ef$x, hypdens, col = "blue")
lines(ef$x, nigdens, col = "green")
lines(ef$x, nordens, col = "orange")
legend("topleft", legend = c("Empirical","GHD","HYP","NIG","NORM"), col = col.def, lty = 1)
# QQ Plot
qqghyp(ghdfit, line = TRUE, ghyp.col = "red", plot.legend = FALSE, gaussian = FALSE, main = " ", cex = 0.8)
qqghyp(hypfit, add = TRUE, ghyp.pch = 2, ghyp.col = "green", gaussian = FALSE, line = FALSE, cex = 0.8)
qqghyp(nigfit,add = TRUE, ghyp.pch = 3, ghyp.col = "orange", gaussian = FALSE, line = FALSE, cex = 0.8)
legend("topleft", legend = c("GHD","HYP","NIG"), col = col.def[-c(1,5)], pch = 1:3)
# Diagnostic
options(scipen=999)
AIC <- stepAIC.ghyp(E, dist = c("ghyp","hyp","NIG"), symmetric = FALSE, control = list(maxit=1000))
LRghdnig <- lik.ratio.test(ghdfit,nigfit)
LRghdhyp <- lik.ratio.test(ghdfit,hypfit)
LRghdhyp $statistic L 0.07005745
$p.value 1 0.0211198
$df 1 1
$H0 1 偽
だから、私は正しい分布とそれをどのように適合させるかを知っています。発生する確率を決定するにはどうすればよい> - 0.0001
ですか?