series_fit_line_dynamic()

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

采用包含动态数值数组作为输入的表达式,并执行线性回归以查找拟合度最好的那条线。 应对时间序列数组使用此函数,拟合 make-series 运算符的输出。 它生成具有以下内容的动态值:

  • rsquarer 平方是对拟合质量的标准度量。 它是 [0-1] 范围内的数字,其中 1 表示拟合度最好,0 表示数据无序,与任何直线均不拟合
  • slope:近似直线的斜率(即 y=ax+b 中的 a 值)
  • variance:输入数据的方差
  • rvariance:剩余方差,即输入数据值和近似数据值之间的方差。
  • interception:近似直线的截距(即 y=ax+b 中的 b 值)
  • line_fit:数值数组,其中包含拟合度最好的直线的一系列值。 序列长度等于输入数组的长度。 它主要用于绘制图表。

此运算符与 series_fit_line 相似,但与 series-fit-line 不同(它返回动态包)。

语法

series_fit_line_dynamic(series)

详细了解语法约定

参数

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

提示

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

示例

print
    id=' ',
    x=range(bin(now(), 1h) - 11h, bin(now(), 1h), 1h),
    y=dynamic([2, 5, 6, 8, 11, 15, 17, 18, 25, 26, 30, 30])
| extend fit=series_fit_line_dynamic(y)
| extend
    RSquare=fit.rsquare,
    Slope=fit.slope,
    Variance=fit.variance,
    RVariance=fit.rvariance,
    Interception=fit.interception,
    LineFit=fit.line_fit
| render timechart

Series fit line.

RSquare 斜率 Variance RVariance Interception LineFit
0.982 2.730 98.628 1.686 -1.666 1.064、3.7945、6.526、9.256、11.987、14.718、17.449、20.180、22.910、25.641、28.371、31.102