Quadratic polynomial prediction
25 декабря 2013
Хотел найти в интернете функцию полинома, а конкретно Квадратичный прогнозирующий полином на php (Quadratic polynomial prediction via php), но увы не нашел. Поэтому написал сам.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
function newTrend($hits) { $alpha = 2/((count($hits)-1)+1); $a0 = (1+$alpha+pow($alpha,2)) * $hits[0] - $alpha * (2+$alpha) * $hits[1] + $alpha * $hits[2]; $a1 = -0.5 * $alpha * (2+3*$alpha) * $hits[0] + 0.5 * $alpha * (5+3*$alpha) * $hits[1] - 1.5 * $alpha * $hits[2]; $a2 = pow($alpha,2) * $hits[0] - $alpha * (1+$alpha) * $hits[1] + $alpha * $hits[2]; $a0 = $a1 = $a2 = 0; foreach($hits as $k=>$i) { $Yt = $a0 + $a1 + 0.5 * $a2; $a0 = $i + pow((1-$alpha),3) * ($Yt - $i); $a1 = $a1 + $a2 - pow((1.5 * $alpha),2) * (2 - $alpha) * ($Yt - $i); $a2 = $a2 - pow($alpha,3) * ($Yt - $i); } for($i=0;$i<=6;$i++) { $hits[] = $a0 + $a1 * ($i) + 0.5 * $a2 * pow($i,2); } return $hits; } |
Leave a Reply