series_fit_2lines_dynamic()

对序列应用两段线性回归,返回动态对象。

采用包含动态数值数组的表达式作为输入,并应用两段线性回归,以便识别和量化序列中的趋势变化。 该函数针对序列索引进行迭代。 在每次迭代中,它将序列拆分为两部分,并使用 series_fit_line()series_fit_line_dynamic() 来拟合一个单独的线条。 此函数将线条与两个部分中的每部分进行拟合,并计算总的 R 平方值。 最佳拆分是最大化 R 平方的拆分。 函数以动态值返回包含以下内容的参数:

  • rsquareR 平方是对拟合质量进行的标准度量。 它是 [0-1] 范围内的一个数字,其中 1 表示拟合质量可能最佳,0 表示数据是无序的,无法与任何线拟合。
  • split_idx:两段的拆分点的索引(从零开始)。
  • variance:输入数据的方差。
  • rvariance:残差方差,即输入数据值和近似数据值之间的方差(按两个线段)。
  • line_fit:数值数组,其中包含拟合度最好的直线的一系列值。 序列长度等于输入数组的长度。 它用于绘制图表。
  • right.rsquare:拆分点右侧直线的相关系数平方,请参阅 series_fit_line()series_fit_line_dynamic()
  • right.slope:右近似线(形式为 y=ax+b)的斜率。
  • right.interception:左近似线的截距(即 y=ax+b 中的 b)。
  • right.variance:拆分点右侧输入数据的方差。
  • right.rvariance:拆分点右侧输入数据的残差方差。
  • left.rsquare:拆分点左侧直线的相关系数平方,请参阅 [series_fit_line()].(series-fit-line-function.md) 或 series_fit_line_dynamic()
  • left.slope:左近似线(形式为 y=ax+b)的斜率。
  • left.interception:左近似线(形式为 y=ax+b)的截距。
  • left.variance:拆分点左侧输入数据的方差。
  • left.rvariance:拆分点左侧输入数据的残差方差。

此运算符类似于 series_fit_2lines。 与 series-fit-2lines 不同,它返回一个动态包。

语法

series_fit_2lines_dynamic(series)

详细了解语法约定

参数

客户 类型​​ 必需 说明
series dynamic 数值的数组。

提示

使用此函数最便捷的方法是将其应用于 make-series 运算符的结果。

示例

print
    id=' ',
    x=range(bin(now(), 1h) - 11h, bin(now(), 1h), 1h),
    y=dynamic([1, 2.2, 2.5, 4.7, 5.0, 12, 10.3, 10.3, 9, 8.3, 6.2])
| extend
    LineFit=series_fit_line_dynamic(y).line_fit,
    LineFit2=series_fit_2lines_dynamic(y).line_fit
| project id, x, y, LineFit, LineFit2
| render timechart

Series fit 2 lines.