A simple and extensible library for forecasting missing data points using different regression models: Linear, Power, Logarithmic, and Exponential. Designed for PHP 8.1+.
- π Supports Linear, Power, Logarithmic, and Exponential regression.
- π Optional interpolation-only mode to avoid extrapolation.
- π§© Pluggable architecture via
RegressionInterface. - β‘οΈ Fast, simple, and stateless static prediction:
ForecastService::predict($data, $method) - β Thoroughly unit-tested.
The complete source code is available on GitHub.
composer require mykolavuy/forecast-regressionsuse MykolaVuy\Forecast\ForecastService;
$data = [
1 => 10,
2 => null,
3 => 30,
4 => null,
5 => 50,
6 => null,
];
$service = new ForecastService();
// Linear regression forecast
$result = $service->forecast($data, method: 'linear');
// Power regression with interpolation only
$interpolated = $service->forecast($data, method: 'power', interpolateOnly: true);
// πΉ Static call (no instance needed)
$static = ForecastService::predict($data, method: 'exponential');| Method | Formula | Description |
|---|---|---|
linear |
y = a * x + b | Straight-line fitting |
power |
y = a * x^b | Exponential-style growth/decay |
logarithmic |
y = a + b * log(x) | Logarithmic trend modeling |
exponential |
y = a * e^(b * x) | Classic exponential regression |
- PHP 8.1 or higher
- Composer
./vendor/bin/phpunitTest files are located in the tests/ directory.
This project is licensed under the MIT License.
InTester is a secure and transparent online knowledge assessment platform. It offers time-limited tests, anti-cheating measures, instant results with PDF certificates, and public test records β making it ideal for job seekers and recruiters alike.
DCT Sign is a blockchain-backed electronic signature platform that prioritizes privacy and data integrity. Users can securely sign documents without storing the original files, ensuring confidentiality and compliance with advanced e-signature standards.
Thank you for using ForecastRegressions! Contributions and feedback are welcome.