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

foundryts.functions.polynomial_regression

foundryts.functions.polynomial_regression(max_degree=0, time_unit='ns', start=None, end=None)

単一のtime seriesに対する多項式回帰を計算する関数を返します。

多項式回帰は、入力されたtime seriesのポイントに基づいて、指定された次数の最適なフィットの多項式曲線のパラメーターを見つけます。多項式は y = a0 + a1*x + a2*x^2 + ... + an*x^n と表され、係数 a0, a1, ..., an は回帰によって決定されます。

多項式回帰は、変数間の関係が単純な線形関係よりも複雑な場合に有用です。

  • パラメーター:
    • max_degree (int , オプション) – フィットする多項式の最大次数 (デフォルトは 0)。たとえば、次数が 2 の場合は二次多項式をフィットします。
    • time_unit (str , オプション) – 係数の時間単位で、「s」、「ms」、「us」、「ns」のいずれかである必要があります (デフォルトは「ns」)。
    • start (str | int | datetime.datetime , オプション) – 多項式回帰を計算するためのtime seriesの開始点 (含む)。
    • end (str | int | datetime.datetime , オプション) – 多項式回帰を計算するためのtime seriesの終了点 (除く)。
  • 戻り値: 単一のtime seriesを受け取り、そのtime seriesのポイントに対して多項式回帰を使用して最適なフィットの多項式曲線のパラメーターを返す関数。
  • 戻り値の型: (FunctionNode) -> SummarizerNode

データフレームスキーマ

列名説明
max_bounds.first_valuefloat最初の係数 (a0) の最大値。
max_bounds.second_valuefloat2番目の係数 (a1) の最大値。
min_bounds.first_valuefloat最初の係数 (a0) の最小値。
min_bounds.second_valuefloat2番目の係数 (a1) の最小値。
regression_fit_function.
polynomial_regression_fit.
coefficients.coefficient
float多項式回帰フィットの係数値。
regression_fit_function.
polynomial_regression_fit.
coefficients.degree
int各係数に対応する多項式の次数。
注意

この関数は数値系列にのみ適用可能です。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 >>> poly_regr = F.polynomial_regression(3)(series) # 3次の多項式回帰をシリーズに適用します。 >>> poly_regr.to_pandas() # 結果をPandasデータフレームに変換します。 max_bounds.first_value max_bounds.second_value min_bounds.first_value min_bounds.second_value regression_fit_function.polynomial_regression_fit.coefficients.coefficient regression_fit_function.polynomial_regression_fit.coefficients.degree 0 50.0 96.0 10.0 6.0 -4.800000 0 # 定数項の係数が -4.800000 で、次数は 0 1 50.0 96.0 10.0 6.0 1.585714 1 # 一次の項の係数が 1.585714 で、次数は 1 2 50.0 96.0 10.0 6.0 -0.066429 2 # 二次の項の係数が -0.066429 で、次数は 2 3 50.0 96.0 10.0 6.0 0.001500 3 # 三次の項の係数が 0.001500 で、次数は 3

このコードは、3次の多項式回帰を適用した結果をPandasデータフレームとして表示しています。各行には回帰に使用した係数とその次数が記録されています。