Задать вопрос

Кто может помочь с алгоритмом?

$count = 10000;
$now = 20000;
$start = 5000;
$end = 90000;

$count - это количество лайков;
$now - текущее время;
$start - начальный отрезов времени;
$end - конечный отрезок времени;

Мне нужно запилить алгоритм прогноза количества лайков на конечный отрезок времени.
Допустим, прошло 8 часов, осталось 16 часов и нужно $count увеличить на процент оставшегося времени.
  • Вопрос задан
  • 576 просмотров
Подписаться 4 Оценить 3 комментария
Решения вопроса 1
@SolidMinus
линейным же уравнением описывается, бро ( в реальности полиномиальным, т.к со временем просмотры идут на спад, но раз нужен линейный, то дальше читай )


f($end, $start, $now, $count) = ($count * $end- $start * $count) / ($now - $start)
f($end, $start, $now, $count) = ($count * ($end- $start)) / ($now - $start)


44467b2ecc6f4fc794fac0b474fceed9.PNG

f(x) = ax + b, f(x) - количество предсказываемое лайков, x - время a, b - коэффициенты

Предполагается, что в самом начале нет лайков:
20000a + b = 10000
5000a + b = 0

b = -5000a

20000a - 5000a =10000
15000a = 10000
a = 0.666
b = -3333.3

Следовательно:

лайки(время) = 0.666 * время - 3333.3

лайки($end) = 56 607

В общем виде:

$now * a + b = $count
$start * a + b = 0

-b = $start * a
$now * a - $start * a = $count

a($now - $start) = $count
a = $count / ($now - $start)
b = -($start * $count) / ($now - $start)


f($time) = ($count * $time - $start * $count) / ($now - $start)
f($time) = ($count * ($time - $start)) / ($now - $start)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@BorisKorobkov
Web developer
Комментировать
@Sinnk
wov = (Весь отрезок времени)/100;
fpp = $now / $wov;
$count * $fpp
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы