Re: [請益] 請問"離群值"
※ 引述《tonyshan (考試好多..)》之銘言:
: EX :22、44、55、66、56、77、1000
: 以上的數列作"離群值"
: 請問要怎麼用PHP語法來做
: <?php
: $num = array (22,44,55,66,56,77,1000); //指定array
: $len = count($num); //個數
: $sum += $num[$i];//總合
: $avg = (double)$sum / $len;//平均
: $s=sqrt();//之後就不會做了
: ‧
: ‧
: ‧
: ‧
這是高中數學
標準差:
http://zh.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E5%B7%AE
母體標準差用n當分母;樣本標準差就用n-1當分母
閒著沒事我來寫寫看好了
這是母體標準差
$item = array (22,44,55,66,56,77,1000);
$i = 0;
while ($item[$i]) {
$sum += $item[$i];
$i++;
}
$num = count($item);
$avg = $sum/$num;
$i = 0;
while ($item[$i]) {
$sum_gap += pow($item[$i]-$avg,2);
$i++;
}
$standard_deviation = sqrt($sum_gap/$num);
電腦的運算能力很快很好,所以我建議可以用「平均絕對離差」,這個數值更有意義
平均絕對離差= sigma(|樣本-平均數|) / 樣本個數
$item = array (22,44,55,66,56,77,1000);
$i = 0;
while ($item[$i]) {
$sum += $item[$i];
$i++;
}
$num = count($item);
$avg = $sum/$num;
$i = 0;
while ($item[$i]) {
$gap = $item[$i]-$avg;
if ($gap < 0) $gap = -$gap;
$sum_gap += $gap;
$i++;
}
$absolute_deviation = $sum_gap/$num;
標準差的誕生是因為平均絕對離差不好算
--
西啦(九孔):「人來到世上都是有罪的,有罪怎麼辦?就要淨化(打頭三下)。小時候讀書偷吃
同學的便當,我有罪,我有罪我有罪我有罪(淨化);聯誼的時候,當你載到恐龍妹的時候,你心
裡面暗自訐譙,為什麼她那麼胖!真是超營養雞排!我有罪我有罪我有罪(淨化);小時候偷看A
片被你媽媽抓到,你還賴說那A片是你爸爸的,我有罪我有罪我有罪(淨化);去麥當勞的時候,
炸雞掉到地上,你拍一拍又給客人吃,你有罪,我有罪我有罪我有罪(淨化);上廁所去尿尿的
時候,你的馬桶蓋沒有掀,一把尿撒在上面,女朋友去尿尿的時候沾在她屁股上,我有罪我有
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.196.145
※ 編輯: worldhero 來自: 140.119.196.145 (11/05 20:00)
推
11/05 20:15, , 1F
11/05 20:15, 1F
→
11/05 20:21, , 2F
11/05 20:21, 2F
※ 編輯: worldhero 來自: 140.119.196.145 (11/05 20:24)
推
11/06 16:49, , 3F
11/06 16:49, 3F
推
11/06 21:01, , 4F
11/06 21:01, 4F
→
11/08 12:09, , 5F
11/08 12:09, 5F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
151
156