Stats Regression est une bibliothèque PHP simple pour la régression linéaire, qui aide à modéliser la relation entre une variable dépendante (Y) et une variable indépendante (X) à l'aide d'un modèle linéaire. Elle inclut des méthodes pour ajuster un modèle de régression, faire des prédictions, et extraire des statistiques clés comme la pente, l'intercept, les erreurs standards, et les valeurs t
.
- Ajustement de modèle : ajuste une régression linéaire simple à partir de deux séries de données.
- Prédictions : génère des prédictions basées sur le modèle ajusté.
- Statistiques de régression :
- Pente (Slope) et Ordonnée à l'origine (Intercept)
- Erreurs standards pour la pente et l'ordonnée à l'origine
- Valeurs t pour tester la significativité des coefficients
- PHP >= 7.4
- Composer pour la gestion des dépendances
- PHPUnit pour exécuter les tests unitaires
- Installation via Composer (recommandé) :
composer require stats/statistic-regression
- Clonez ce dépôt :
git clone https://github.com/Ibrahimzongo/stats-regression.git
- Installez les dépendances :
composer install
Voici un exemple simple d'utilisation de la classe SimpleLinearRegression
:
require 'vendor/autoload.php';
use Statistics\Regression\SimpleLinearRegression;
$x = [1, 2, 3, 4, 5];
$y = [1.5, 2.5, 2.8, 3.6, 3.9];
$regression = new SimpleLinearRegression();
$regression->fit($x, $y);
echo "Pente (Slope) : " . $regression->getSlope() . PHP_EOL;
echo "Ordonnée à l'origine (Intercept) : " . $regression->getIntercept() . PHP_EOL;
echo "Erreur standard pour la pente : " . $regression->getStdErrorSlope() . PHP_EOL;
echo "Erreur standard pour l'ordonnée : " . $regression->getStdErrorIntercept() . PHP_EOL;
$predictedY = $regression->predict(6);
echo "Prédiction pour x=6 : " . $predictedY . PHP_EOL;
Pour exécuter les tests unitaires, utilisez l'une des commandes suivantes :
# Directement avec PHPUnit
vendor/bin/phpunit
# Ou avec Composer
composer test
Les contributions sont les bienvenues ! Pour contribuer :
- Forkez le projet.
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/nouvelle-fonctionnalite
). - Commitez vos modifications (
git commit -m 'Ajout d'une nouvelle fonctionnalité'
). - Pushez vers la branche (
git push origin feature/nouvelle-fonctionnalite
). - Créez une Pull Request.
N'hésitez pas à ouvrir une issue pour rapporter un bug ou proposer une amélioration.
Créé par Ibrahim Zongo.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.