class Rating
{
public static function ratingAverage($positive, $total, $power = '0.05')
{
if ($total == 0)
return 0;
$z = Rating::pnormaldist(1-$power/2,0,1);
$p = 1.0 * $positive/$total;
$s = ($p + $z*$z/(2*$total) - $z * sqrt(($p*(1-$p)+$z*$z/(4*$total))/$total))/(1+$z*$z/$total);
return $s;
}
public static function pnormaldist($qn)
{
$b = array(
1.570796288, 0.03706987906, -0.8364353589e-3,
-0.2250947176e-3, 0.6841218299e-5, 0.5824238515e-5,
-0.104527497e-5, 0.8360937017e-7, -0.3231081277e-8,
0.3657763036e-10, 0.6936233982e-12);
if ($qn < 0.0 || 1.0 < $qn)
return 0.0;
if ($qn == 0.5)
return 0.0;
$w1 = $qn;
if ($qn > 0.5)
$w1 = 1.0 - $w1;
$w3 = - log(4.0 * $w1 * (1.0 - $w1));
$w1 = $b[0];
for ($i = 1;$i <= 10; $i++)
$w1 += $b[$i] * pow($w3,$i);
if ($qn > 0.5)
return sqrt($w1 * $w3);
return - sqrt($w1 * $w3);
}
}
क्या मैं 5 सितारा रेटिंग सिस्टम (जहां 1 सितारा = 1 बिंदु) के आधार पर औसत रेटिंग की गणना करते समय इसका उपयोग कर सकता हूं? और यदि ऐसा है, तो मैं लिंक किए गए वर्ग का उपयोग कर एक उदाहरण चाहूंगा। या मुझे "Bayesian अनुमान" की तरह कुछ के लिए जाना चाहिए?स्टार रेटिंग, विल्सन स्कोर अंतराल को कार्यान्वित करना
http://www.goproblems.com/test/wilson/wilson.php?v1=0&v2=0&v3=3&v4=0&v5=0, हालांकि – Johan
@Johan संशोधित:: यहाँ एक अनुकूलित विल्सन समारोह है मेरा उत्तर तय । – Bytemain
महान, स्वीकार्य – Johan