PHP рассчитывает линию тренда, как функция Excel TREND

Моя математика очень недельная, и теперь я все еще думаю, как этого добиться с помощью PHP.
Я использовал функцию Excel TREND ().
Допустим, у меня есть 2 списка известных значений


| known_x_values | known_y_values |
|----------------|----------------|
| 323 | 0.038 |
| 373 | 0.046 |
| 423 | 0.053 |
| 473 | 0.062 |
| 523 | 0.071 |
| 573 | 0.080 |

И теперь мне нужно знать значение Y когда х = 428.
Используя функцию Excel TREND (), я получаю 0,055 в качестве значения у.

Кто-нибудь может показать мне, как PHP обрабатывает такие математические вопросы?
Любая помощь будет оценена. Спасибо.

1

Решение

в Excel TREND() использует метод наименьших квадратов.

Математика сложная, поэтому я бы использовал библиотеку для тяжелой работы. В этом случае PHP-AI / PHP-мл.

Пример:

use Phpml\Regression\LeastSquares;

$x = [[323], [373], [423], [473], [523], [573]];
$y = [.038, .046, .053, .062, .071, .080];

$regression = new LeastSquares();
$regression->train($x, $y);
echo $regression->predict([428]);

Выходы:

0.054973333333333235

Вывод может немного отличаться в зависимости от вашей точности настройки.


Можно конечно round() или же number_format() этот результат, как вы хотите, например:

echo number_format($regression->predict([428]), 3);

дает:

0.055
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]