Моя математика очень недельная, и теперь я все еще думаю, как этого добиться с помощью 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 обрабатывает такие математические вопросы?
Любая помощь будет оценена. Спасибо.
в 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
Других решений пока нет …