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

foundryts.functions.scatter

foundryts.functions.scatter(start=None, end=None, before='NONE', internal='LINEAR', after='NONE', regression=None, regression_fit=None)

2 つの time series に対して整列された (x,y) ポイントのリストを生成する関数を返します。

散布図は (x,y) 座標で構成されます。2 つの指定された time series に対して、(x,y) 座標はタイムスタンプが一致する各シリーズのポイントで構成されます。基になるシリーズのタイムスタンプが一致しないポイントには、構成された補間戦略が使用され、そのタイムスタンプでポイントが欠落しているシリーズに適用されます。

内部、before、after に対応する補間戦略については interpolate() を参照してください。

さらに、回帰関数を渡して、グラフ内のポイントに最適なフィットラインを見つけることができます。

  • パラメーター:
    • start (int | datetime | str , optional) – ポイントの整列を開始するタイムスタンプ (包括的) (デフォルトは pandas.Timestamp.min)
    • end (int | datetime | str , optional) – ポイントの整列を終了するタイムスタンプ (排他的) (デフォルトは pandas.Timestamp.max)
    • before (str | List [str ] , optional) – 最初のポイントを整列させるために使用する補間戦略の名前。利用可能な補間戦略を使用 interpolate() から (デフォルトは NONE)
    • internal (str | List [str ] , optional) – シリーズ内のすべてのポイントを整列させるために使用する補間戦略の名前。利用可能な補間戦略を使用 interpolate() から (デフォルトは LINEAR)
    • after (str | List [str ] , optional) – 最後のポイントを整列させるために使用する補間戦略の名前。利用可能な補間戦略を使用 interpolate() から (デフォルトは NONE)
    • regression (linear_regression() | polynomial_regression() | exponential_regression(), optional) – 回帰関数の出力。これにより、2 つの入力シリーズ間の最適なフィットライン (およびその他の関連メトリクス) のポイントが提供されます (デフォルトは回帰なし)。
  • 戻り値: 2 つのシリーズを正確に入力として受け取り、散布図の整列されたポイントを返す関数を返します。結果のデータフレーム内の各行は整列されたポイントを表します。
  • 戻り値の型: (NodeCollection) -> SummarizerNode

データフレームスキーマ

列名説明
is_truncatedboolこのフィールドは非推奨であり、無視する必要があります。
大規模なシリーズで出力が切り捨てられた場合。
points.first_valuefloat最初のシリーズのポイントの値。
points.second_valuefloat2 番目のシリーズのポイントの値。
points.timestampdatetimeポイントのタイムスタンプ。
regression.*float回帰関数からの列 (回帰が使用されている場合)。
注意

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

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >>> series_1 = F.points((11, 21.0), (13, 23.0), (15, 25.0), (17, 27.0), name="series-1") >>> series_2 = F.points((11, 21.0), (13, 23.0), (17, 37.0), (37, 47.0), name="series-2") >>> series_1.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000011 21.0 1 1970-01-01 00:00:00.000000013 23.0 2 1970-01-01 00:00:00.000000015 25.0 3 1970-01-01 00:00:00.000000017 27.0 >>> series_2.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000011 21.0 1 1970-01-01 00:00:00.000000013 23.0 2 1970-01-01 00:00:00.000000017 37.0 3 1970-01-01 00:00:00.000000037 47.0 >>> nc = NodeCollection([series_1, series_2]) # NodeCollectionにseries_1とseries_2を追加
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 >>> scatter_plot = F.scatter( # 補間を含む散布図 ... before="NEAREST", # 補間前の値は最近傍の値を使用 ... internal="LINEAR", # 内部補間は線形補間を使用 ... after="NEAREST", # 補間後の値は最近傍の値を使用 ... )(nc) >>> scatter_plot.to_pandas() is_truncated points.first_value points.second_value points.timestamp 0 False 21.0 21.0 1970-01-01 00:00:00.000000011 1 False 23.0 23.0 1970-01-01 00:00:00.000000013 2 False 25.0 30.0 1970-01-01 00:00:00.000000015 3 False 27.0 37.0 1970-01-01 00:00:00.000000017 4 False 27.0 47.0 1970-01-01 00:00:00.000000037
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 >>> lin_regression_scatter_plot = F.scatter( ... before="NEAREST", # 予測前に最も近いデータを使用 ... internal="LINEAR", # 線形補間を内部で使用 ... after="NEAREST", # 予測後に最も近いデータを使用 ... regression=F.linear_regression(), # 線形回帰を使用 ... )(nc) >>> lin_regression_scatter_plot.to_pandas() is_truncated points.first_value points.second_value points.timestamp regression.max_bounds.first_value regression.max_bounds.second_value regression.min_bounds.first_value regression.min_bounds.second_value regression.regression_fit_function.linear_regression_fit.intercept regression.regression_fit_function.linear_regression_fit.slope regression.regression_fit_function.linear_regression_fit.statistics.rsquared 0 False 21.0 21.0 1970-01-01 00:00:00.000000011 27.0 47.0 21.0 21.0 -59.926471 3.720588 0.827161 1 False 23.0 23.0 1970-01-01 00:00:00.000000013 27.0 47.0 21.0 21.0 -59.926471 3.720588 0.827161 2 False 25.0 30.0 1970-01-01 00:00:00.000000015 27.0 47.0 21.0 21.0 -59.926471 3.720588 0.827161 3 False 27.0 37.0 1970-01-01 00:00:00.000000017 27.0 47.0 21.0 21.0 -59.926471 3.720588 0.827161 4 False 27.0 47.0 1970-01-01 00:00:00.000000037 27.0 47.0 21.0 21.0 -59.926471 3.720588 0.827161

このコードは、線形回帰を用いた散布図を作成し、その結果をPandasデータフレームに変換しています。各行のデータには、線形回帰の結果として得られる切片、傾き、決定係数 (R²) が含まれています。