java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

分位数 百分位数php算法

1. 分位数的概率学概念

分位数指的就是连续分布函数中的一个点,这个点对应概率p。若概率0 百分位数,统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。

1)第一四分位数(Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字;

2)第二四分位数(Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字;

3)第三四分位数(Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

第三四分位数与第一四分位数的差距又称四分位距。

2.
php写一个分位数算法

php 算法

 $v) {
	echo $v.'
'; } echo '
'; echo count($values); echo '
'; echo Quartile($values,0.25); echo '
'; echo Quartile($values,0.50); echo '
'; echo Quartile($values,0.75); function Median($Array) { return Quartile_50($Array); } function Quartile_25($Array) { return Quartile($Array, 0.25); } function Quartile_50($Array) { return Quartile($Array, 0.5); } function Quartile_75($Array) { return Quartile($Array, 0.75); } function Quartile($Array, $Quartile) { $pos = (count($Array) - 1) * $Quartile; $base = floor($pos); $rest = $pos - $base; if( isset($Array[$base+1]) ) { return $Array[$base] + $rest * ($Array[$base+1] - $Array[$base]); } else { return $Array[$base]; } } function Average($Array) { return array_sum($Array) / count($Array); } function StdDev($Array) { if( count($Array) < 2 ) { return; } $avg = Average($Array); $sum = 0; foreach($Array as $value) { $sum += pow($value - $avg, 2); } return sqrt((1 / (count($Array) - 1)) * $sum); } ?>

输出

3. 用Excel检查算法的正确性


Excel有百分位公式
25% 分位

=PERCENTILE(A1:A19,0.25)

Excel计算出来的结果和php结果相同


This entry was posted in PHP, 数学与算法 and tagged , , , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/quartile-php/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply