注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
関数ベースの時系列を使用すると、関数で定義した Python ロジックを使って数値時系列を生成および変換できます。Foundry は、時系列同期を定義することなく、関数の出力を時系列として扱います。
以下の例では、Workshop モジュールで関数ベースの時系列を使用し、週次予測をリアルタイムで計算しています。オペレーターは、機械の制御設定の変更が性能予測にどのような影響を与えるかについて、さまざまなシナリオをシミュレーションできます。

関数ベースの時系列には、シリアル化された数値時系列を返す Python の Foundry 関数が必要です。データをクエリすると、Quiver は指定されたパラメーターで関数を呼び出し、クエリ時に時系列を動的に生成します。この出力は Foundry 内で通常の時系列と同様に扱われるため、さらに操作や可視化を適用できます。
この統合により、カスタムモデルやその場で実行する分析をダッシュボードに簡単に組み込めるようになり、柔軟でモジュール化された時系列ワークフローを実現できます。
以下の例では、関数ベースの時系列と Prophet ↗ を組み合わせて予測する方法を示します。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24from functions.api import function from timeseries_sdk.types import TimeSeries from ontology_sdk.ontology.objects import Machine from prophet import Prophet @function def performance_prophet_forecast( machine: Machine, periods: int = 96, # 将来のステップ数 freq: str = "15min", # サンプリング頻度 ) -> list[bytes]: """ Prophet を使用してマシンの performance_score を予測します。 """ df = machine.performance_score.to_pandas(all_time=True) if df.empty: return TimeSeries.serialize(df) df = df.rename(columns={"timestamp": "ds", "value": "y"}).sort_values("ds") model = Prophet().fit(df) future = model.make_future_dataframe(periods=periods, freq=freq, include_history=True) forecast = model.predict(future) out = forecast[["ds", "yhat"]].rename(columns={"ds": "timestamp", "yhat": "value"}) return TimeSeries.serialize(out)