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에 몇 가지 기능이 있습니다.
+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. Java 정규 분포
- 2. 랜덤 색상 편차 정규 분포
- 3. C#을 사용하여 정규 분포 그래프 생성
- 4. 부스트 정규 분포 클래스를 사용하는 방법은 무엇입니까?
- 5. 정규 표현식^[A-Za-z] + $
- 6. 공분산 행렬로 정규 분포 된 랜덤 벡터 생성
- 7. PHP 정규 표현식의 기초
- 8. PHP 및 통계 저장
- 9. PHP 서버 통계 스크립트?
- 10. PHP + MySQL 웹 통계
- 11. 정규 표현식 [A-z]와 [a-zA-Z]의 차이
- 12. PHP 배열 정규 표현식
- 13. 바이 모달 분포 특성화 알고리즘?
- 14. 정수 범위에서 정규 분포 랜덤을 생성하는 방법은 무엇입니까?
- 15. PHP 정규 표현식에서 공백 사용하기
- 16. PHP 용 통계 라이브러리가 있습니까?
- 17. MySQL의 표준 분포 계산
- 18. PHP 정규 표현식을 사용하여 XML 구문 분석
- 19. 어떻게 3 개의 점수() 점수 합계를 구합니까?
- 20. PHP : 배열 병합 문제 A - Z! = a - z
- 21. PHP 정규 표현식 보조 파일 이름을 굵게
- 22. 통계 통계 다이어그램 아이디어
- 23. 계산 점수
- 24. PHP 동적 정규 표현식?
- 25. 정규 표현식 PHP
- 26. PHP 정규 표현식, [기호?
- 27. PHP 정규 표현식 preg_replace
- 28. PHP 정규 표현식 리소스
- 29. 간단한 PHP 정규 표현식
- 30. PHP preg_replace 정규 표현식
normal_cdf 기능이 올바르지 않습니다. x의 일부 값에 대해 음의 값을 제공합니다. –