注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

foundryts.functions.integral

foundryts.functions.integral(method='LINEAR')

単一のtime seriesに対して毎秒積分を計算する関数を返します。

time seriesの各ポイント (t_i, v_i) に対して、そのポイントまでのすべてのポイントの積分に等しい値を持つティックを出力します(そのポイントを含む)。

積分は推定のために↗ Reimann sums を使用して計算されます。積分は引数のmethodを使用して行われ、サポートされているオプションは次のとおりです。

Method説明
LHSLeft-Hand Sum (LHS) は各区間の始まりでの値を合計することによって積分を近似します。増加傾向では過小評価し、減少傾向では過大評価する傾向があります。初期値が区間全体を代表すると仮定し、履歴の値が合計に強く影響を与える場合に有用です。
RHSRight-Hand Sum (RHS) は各区間の終わりでの値を合計することによって積分を近似します。増加傾向では過大評価し、減少傾向では過小評価する傾向があります。最終値がトレンドを示していると仮定し、最近の値が累積トレンドをより反映している場合に有用です。
> LINEAR

(default)
台形則は各区間の開始と終了時の値を平均します。過大評価または過小評価を減少させるバランスの取れた近似を提供します。変動するトレンドに対しては、初期値と最近の値の両方を考慮するため有用です。
  • パラメーター: method (str , optional) – 指定されたポイントの積分値を推定するために使用されるメソッド。上記の表に記載された有効なオプション(デフォルトは LINEAR)。
  • 戻り値: 単一のtime seriesを入力として受け取り、毎秒の積分値を持つtime seriesを返す関数。
  • 戻り値の型: (FunctionNode) -> FunctionNode

データフレームのスキーマ

列名説明
timestamppandas.Timestampポイントのタイムスタンプ
valuefloatポイントの値
注意

この関数は数値シリーズにのみ適用されます。

関連項目

derivative()

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> series = F.points( ... (1000, 1.0), (3000, 3.0), (5000, 0.0), (6000, 5.0), (8000, -7.0), ... name="series" ... ) # F.points関数を使用して、時系列データを作成しています。 # 各タプルの最初の要素はタイムスタンプ(マイクロ秒単位)、2番目の要素はその時点の値を示します。 >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000001 1.0 1 1970-01-01 00:00:00.000003 3.0 2 1970-01-01 00:00:00.000005 0.0 3 1970-01-01 00:00:00.000006 5.0 4 1970-01-01 00:00:00.000008 -7.0 # to_pandasメソッドを使用して、時系列データをPandasのデータフレーム形式で表示しています。 # タイムスタンプは1970年1月1日からのマイクロ秒を基準とした時刻を示し、対応する値が表示されています。
Copied!
1 2 3 4 5 6 7 8 9 10 11 >>> linear_integral = F.integral(method="LINEAR")(series) # 線形補間法で数列の積分を計算し、結果を `linear_integral` に代入 >>> linear_integral.to_pandas() # 結果を pandas DataFrame に変換して表示 timestamp value 0 1970-01-01 00:00:00.000001 0.000000 1 1970-01-01 00:00:00.000003 0.000004 2 1970-01-01 00:00:00.000005 0.000007 3 1970-01-01 00:00:00.000006 0.000009 4 1970-01-01 00:00:00.000008 0.000007

このコードは、series データに対して線形補間法を用いて積分を計算し、その結果をpandasのDataFrame形式で表示しています。timestampは時間情報を、valueはその時点での積分結果の値を示しています。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 >>> lhs_integral = F.integral(method="LHS")(series) # LHS(左端点法)を用いて積分を行う # `series` は積分対象のデータ列を表す >>> lhs_integral.to_pandas() # 結果を pandas の DataFrame 形式で出力 timestamp value 0 1970-01-01 00:00:00.000001 0.000000 1 1970-01-01 00:00:00.000003 0.000002 2 1970-01-01 00:00:00.000005 0.000008 3 1970-01-01 00:00:00.000006 0.000008 4 1970-01-01 00:00:00.000008 0.000018 # `timestamp` は時刻を示し、`value` はその時刻までの積分値を示す
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 >>> rhs_integral = F.integral(method="RHS")(series) >>> rhs_integral.to_pandas() timestamp value 0 1970-01-01 00:00:00.000001 0.000000 1 1970-01-01 00:00:00.000003 0.000006 2 1970-01-01 00:00:00.000005 0.000006 3 1970-01-01 00:00:00.000006 0.000011 4 1970-01-01 00:00:00.000008 -0.000003 # このコードは、数列 `series` に対して数値積分を行っています。 # `F.integral(method="RHS")` は、右端点法 (Right Hand Sum) を用いた積分を実行します。 # `rhs_integral.to_pandas()` は、結果をPandasのデータフレーム形式に変換します。 # `timestamp` 列は各サンプルのタイムスタンプを示し、`value` 列は対応する積分値を示します。