series_fit_2lines()

在數列上套用兩個分段線性回歸,並傳回多個數據行。

接受包含動態數值陣列的表達式做為輸入,並套用 兩個分段線性回歸 ,以識別並量化數列中的趨勢變更。 函式會逐一查看數列索引。 在每個反覆項目中,函式會將序列分割為 2 個部分,將單獨的線適配 (using series_fit_line()) 至每個部分,並計算 r 平方的總數。 最佳分割是將 r 平方最大化;此函式會傳回其參數︰

參數 描述
rsquare R-平方是適配度等級的標準量值。 這是範圍 [0-1] 中的數位,其中 1 - 是最佳的配適,0 表示數據未排序且不符合任何行。
split_idx 將點區分為兩個區段 (以零為基礎) 的索引。
variance 輸入資料的變異數。
rvariance 剩餘變異數,也就是輸入資料值與近似值 (依兩個直線線段) 之間的變異數。
line_fit 保留最配合線之值序列的數值陣列。 序列長度等於輸入陣列的長度。 這主要用於圖表。
right_rsquare 分割右側的線的 r 平方,請參閱 series_fit_line()
right_slope 右邊近似線的斜率 (y=ax+b 的形式)。
right_interception 左側近似線的截距 (取自 y=ax+b 的 b)。
right_variance 分割右側輸入資料的變異數。
right_rvariance 分割右側輸入資料的剩餘變異數。
left_rsquare 分割左側的線的 r 平方,請參閱 series_fit_line()
left_slope 左邊近似線的斜率 (y=ax+b 的形式)。
left_interception 左側近似線的截距 (y=ax+b 的形式)。
left_variance 分割左側輸入資料的變異數。
left_rvariance 分割左側輸入資料的剩餘變異數。

注意

此函式會傳回多個資料行,因此不能作為另一個函式的引數。

語法

專案 series_fit_2lines(系列)

深入瞭解 語法慣例

  • 會傳回所有上述資料行,以及以下名稱:series_fit_2lines_x_rsquare、series_fit_2lines_x_split_idx 等。

project (rs, si, v) =series_fit_2lines(series)

  • 將會傳回下列資料行:rs (r-square)、si (split index) 和 v (variance),其餘部分會看起來像 series_fit_2lines_x_rvariance、series_fit_2lines_x_line_fit 等。

extend (rs, si, v) =series_fit_2lines(series)

  • 只會傳回︰rs (r-square)、si (split index) 和 v (variance)。

參數

名稱 類型 必要 Description
系列 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
    (Slope, Interception, RSquare, Variance, RVariance, LineFit)=series_fit_line(y),
    (RSquare2, SplitIdx, Variance2, RVariance2, LineFit2)=series_fit_2lines(y)
| project id, x, y, LineFit, LineFit2
| render timechart

數列符合 2 行。