series_fit_2lines()

Aplica uma regressão linear segmentada numa série, devolvendo várias colunas.

Utiliza uma expressão que contém uma matriz numérica dinâmica como entrada e aplica uma regressão linear segmentada para identificar e quantificar uma alteração de tendência numa série. A função itera nos índices da série. Em cada iteração, a função divide a série em duas partes, ajusta uma linha separada (utilizando series_fit_line()) a cada parte e calcula o total r-quadrado. A melhor divisão é aquela que maximizou o r-quadrado; a função devolve os respetivos parâmetros:

Parâmetro Description
rsquare O quadrado R é uma medida padrão da qualidade de ajuste. É um número no intervalo [0-1], em que 1 - é o melhor ajuste possível, e 0 significa que os dados não são ordenados e não cabem em nenhuma linha.
split_idx O índice do ponto de interrupção para dois segmentos (baseado em zero).
variance Variância dos dados de entrada.
rvariance Variância residual, que é a variância entre os valores de dados de entrada dos valores aproximados (pelos dois segmentos de linha).
line_fit Matriz numérica que contém uma série de valores da linha mais bem ajustada. O comprimento da série é igual ao comprimento da matriz de entrada. É utilizado principalmente para gráficos.
right_rsquare R-quadrado da linha no lado direito da divisão, consulte series_fit_line().
right_slope Declive da linha aproximada à direita (do formulário y=ax+b).
right_interception Intercepção da linha esquerda aproximada (b de y=ax+b).
right_variance Variância dos dados de entrada no lado direito da divisão.
right_rvariance Variância residual dos dados de entrada no lado direito da divisão.
left_rsquare R-quadrado da linha no lado esquerdo da divisão, consulte series_fit_line().
left_slope Declive da linha aproximada esquerda (do formulário y=ax+b).
left_interception Intercepção da linha esquerda aproximada (do formulário y=ax+b).
left_variance Variação dos dados de entrada no lado esquerdo da divisão.
left_rvariance Variância residual dos dados de entrada no lado esquerdo da divisão.

Nota

Esta função devolve múltiplas colunas, pelo que não pode ser utilizada como argumento para outra função.

Syntax

série de projetosseries_fit_2lines()

Saiba mais sobre as convenções de sintaxe.

  • Devolverá todas as colunas mencionadas acima com os seguintes nomes: series_fit_2lines_x_rsquare, series_fit_2lines_x_split_idx etc.

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

  • Devolverá as seguintes colunas: rs (r-square), si (índice dividido), v (variância) e o resto terá o aspeto de series_fit_2lines_x_rvariance, series_fit_2lines_x_line_fit e etc.

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

  • Devolverá apenas: rs (r-square), si (índice dividido) e v (variância).

Parâmetros

Nome Tipo Necessário Descrição
série dynamic ✔️ Uma matriz de valores numéricos.

Dica

A forma mais conveniente de utilizar esta função é aplicá-la aos resultados do operador make-series .

Exemplos

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

A série ajusta-se a 2 linhas.