series_fit_line()
对序列应用线性回归,返回多个列。
采用包含动态数值数组作为输入的表达式,并执行线性回归以查找拟合度最好的那条线。 应对时间序列数组使用此函数,拟合 make-series 运算符的输出。 此函数生成以下列:
rsquare
:r-square 是用于衡量拟合质量的标准。 此值是 [0-1] 范围内的数字,其中 1 表示拟合度最好,0 表示数据无序,与任何直线均不拟合。slope
:近似直线的斜率(即 y=ax+b 中的“a”)。variance
:输入数据的方差。rvariance
:剩余方差,即输入数据值和近似数据值之间的方差。interception
:近似直线的截距(即 y=ax+b 中的“b”)。line_fit
:数值数组,其中包含拟合度最好的直线的一系列值。 序列长度等于输入数组的长度。 该值用于绘制图表。
语法
series_fit_line(
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 (RSquare, Slope, Variance, RVariance, Interception, LineFit)=series_fit_line(y)
| render timechart
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 |