timothepearce/laravel-time-series

Laravel Time Series 提供了一个 API,用于创建和维护从你的 Eloquent 模型生成的预测数据,并将它们表示为时间序列。

v1.0.0-beta-9 2022-02-27 15:21 UTC

README

LogoLogo

Latest unstable Version Download count

轻松构建时间序列

关于

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)。有关更多信息,请参阅 许可文件