我該如何計算使用PHP的數組數組的Z值?我需要計算Z值,然後找到百分位數(CDF)!我可以使用哪些PHP函數?謝謝!php統計z分數正態分佈
2
A
回答
2
下面的代碼將得到CDF(阿布拉莫維茨& Stegun(1964))
function normal_pdf($x) {
return exp(-$x * $x/4)/sqrt(2 * M_PI);
}
function normal_cdf($x) {
$b = array(0.2316419, 0.319381530, -0.356563782, 1.781477937, -1.821255978, 1.330274429);
$t = 1/(1 + $b[0] * $x);
$result = 0;
for ($i = 1; $i < 6; $i++) {
$result += $b[$i] * pow($t, $i);
}
return 1 - normal_pdf($x) * $result;
}
這假定標準正態分佈的良好近似。回想一下,以規範,使用z = (x - mean)/(standard deviantion)
0
PHP statistics extension有幾項功能可以幫助您—您可能需要stats_standard_deviation
作爲開始。
+0
我需要stats_cdf_binomial似乎但是功能沒有很好的記載。我甚至不知道該函數的參數是什麼.. –
0
$control=array(15,7);
$treatment=array(46,8);
$confidence=number_format(cumnormdist(zscore($control, $treatment))*100,0);
function cr($t)
{
return $t[1]/$t[0];
}
function zscore($c, $t)
{
$z = cr($t)-cr($c);
$s = (cr($t)*(1-cr($t)))/$t[0] + (cr($c)*(1-cr($c)))/$c[0];
return $z/sqrt($s);
}
function cumnormdist($x)
{
$b1 = 0.319381530;
$b2 = -0.356563782;
$b3 = 1.781477937;
$b4 = -1.821255978;
$b5 = 1.330274429;
$p = 0.2316419;
$c = 0.39894228;
if($x >= 0.0) {
$t = 1.0/(1.0 + $p * $x);
return (1.0 - $c * exp(-$x * $x/2.0) * $t *
($t *($t * ($t * ($t * $b5 + $b4) + $b3) + $b2) + $b1));
}
else {
$t = 1.0/(1.0 - $p * $x);
return ($c * exp(-$x * $x/2.0) * $t *
($t *($t * ($t * ($t * $b5 + $b4) + $b3) + $b2) + $b1));
}
}
1
/* Mean */
function mean($input_array)
{
$total = 0;
foreach ($input_array as $value)
{
$total += $value;
}
return ($total/count($input_array));
}
/* Standard Deviation */
function std($arr)
{
if (!count($arr))
return 0;
$mean = mean($arr);
$sos = 0; // Sum of squares
for ($i = 0; $i < count($arr); $i++)
{
$sos += ($arr[$i] - $mean) * ($arr[$i] - $mean);
}
return sqrt($sos/(count($arr) - 1));
}
/* Z Scores */
function z($var, $arr)
{
return ($var -mean($arr))/std($arr);
}
相關問題
- 1. Python - 計算正態分佈
- 2. SQL - 統計正態分佈的數量範圍
- 3. Python - 統計分佈
- 4. 標準正態分佈z值函數在C#
- 5. 平均數和在正常分佈和對數正態分佈
- 6. 分佈式系統設計
- 7. DAX正態分佈
- 8. Java正態分佈
- 9. 在正態分佈
- 10. 正態分佈的matlab測試(非測試非正態分佈)
- 11. scipy,對數正態分佈 - 參數
- 12. 二項分佈z得分值太大
- 13. python pylab plot正態分佈
- 14. Tensorflow:正態分佈廣播
- 15. skeip正態分佈在scipy
- 16. 如何擬合對數正態分佈
- 17. 使用正態分佈創建數組
- 18. 對數正態分佈/ C++ GNU
- 19. 對數正態分佈的逆
- 20. 繪製一個對數正態分佈
- 21. 哪個Java庫計算累積標準正態分佈函數?
- 22. 分析分佈式系統
- 23. 獲得對數正態分佈一些百分位數
- 24. 如何將正態分佈的累積分佈函數擬合到數據點?
- 25. 分佈式系統
- 26. 隨機分配正態分佈的數字(javascript)
- 27. 適合泊松分佈到正態分佈
- 28. 變換:正態分佈變量 - >均勻分佈變量
- 29. 針對PHP的統計分析
- 30. 尋求一個統計的javascript函數從z分數返回p值
的normal_cdf功能是不正確的。它給x的某些值提供負值。 –