timothepearce / laravel-time-series
Laravel Time Series 提供了一个 API,用于创建和维护从你的 Eloquent 模型生成的预测数据,并将它们表示为时间序列。
v1.0.0-beta-9
2022-02-27 15:21 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^9.0
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-10 13:31:26 UTC
README
轻松构建时间序列
关于
Laravel Time Series 提供了一个 API,用于将你的 Eloquent 模型数据转换为时间序列。
文档
完整文档可以在 这里 找到。
用法
安装
composer require timothepearce/laravel-time-series
迁移表格
php artisan migrate
创建预测
php artisan make:projection MyProjection
使模型可预测
当你想要使模型可预测时,你必须添加 Projectable
特性并定义 $projections
类属性
use App\Models\Projections\MyProjection; use TimothePearce\TimeSeries\Projectable; class MyProjectableModel extends Model { use Projectable; protected array $projections = [ MyProjection::class, ]; }
实现预测
当你实现预测时,遵循以下三个步骤
查询预测
预测是一个 Eloquent 模型,以相同的方式进行查询,但请注意,所有预测都存储在单个表中。这意味着你必须使用作用域方法来获取你之前定义的周期相关的正确预测
MyProjection::period('1 day') ->between( today()->subDay(), // start date today(), // end date ) ->get();
查询时间序列
要从预测模型获取时间序列,请使用 toTimeSeries 方法
MyProjection::period('1 day') ->toTimeSeries( today()->subDay(), today(), );
请注意,此方法 使用你之前定义的默认内容填充给定日期之间的缺失预测。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。