2013-08-23 41 views
4

如何獲得不同臨界值和自由度的準確概率爲0.9的非中心性參數的值?非中心卡方概率和非中心性參數

例如,具有顯着性水平α= 0.05和1個自由度(臨界值= 3.84),則NCP必須等於10.50742以獲得0.9的概率:

1 - pchisq(3.841459, 1, 10.50742) 
[1] 0.9 

回答

6

重新安排項在:1 - pchisq(3.841459,1,10.50742)= 0.9和包裹絕對周圍的結果來構造最小化函數:

optim(1, function(x) abs(pchisq(3.841459, 1, x) - 0.1)) 
#------- 
$par 
[1] 10.50742 

$value 
[1] 1.740301e-08 

$counts 
function gradient 
     56  NA 

$convergence 
[1] 0 

$message 
NULL 

要執行靈敏度分析,可以串行地改變其他參數的值:

for(crit.val in seq(2.5, 3.5, by=0.1)) { 
     print(optim(1, 
       function(x) abs(pchisq(crit.val, 1, x) - 0.1), 
       method="Brent" , lower=0, upper=20)$par)} 
[1] 8.194852 
[1] 8.375145 
[1] 8.553901 
[1] 8.731204 
[1] 8.907135 
[1] 9.081764 
[1] 9.255156 
[1] 9.427372 
[1] 9.598467 
[1] 9.768491 
[1] 9.937492 
+2

或使用'uniroot()' –