Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**********************************************************************************************
- Title: Experimental Exponential Smoothing Modification A
- ***********************************************************************************************
- /* Модификация экспоненцианльного сглаживания для прогнозирования следующего значения
- -----------------------------------------------------------------------------------------------
- ===============================================================================================*/
- class ExperimentalExponentialSmoothingModificationA {
- /**
- * Получение предсказания
- *
- * @param Array $data (напр. array(80, 100, 150))
- * @return Integer (напр. 168)
- */
- public function prediction($data) {
- $c = count($data);
- $progression = array(0.20, 0.10, 0.05, 0.025, 0.0125, 0.00625);
- $summ = array_sum($progression);
- $newVal = 0;
- $newVal += 0.3*($data[($c-1)]-$data[0]);
- $data = array_reverse($data);
- foreach ($data as $k => $v) {
- if ($k == 0) {
- $newVal += 0.5*$v;
- } elseif (isset($progression[($k-1)])) {
- $newVal += $progression[($k-1)]*$v;
- }
- }
- return $newVal;
- }
- }
- ?>
Add Comment
Please, Sign In to add comment