series_fit_2lines()

Aplica uma regressão linear de dois segmentos em uma série, retornando várias colunas.

Usa uma expressão que contém matriz numérica dinâmica como entrada e aplica uma regressão linear segmentada para identificar e quantificar uma alteração de tendência em uma 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 (usando series_fit_line()) a cada parte e calcula o total de r-square. A melhor divisão é a que maximiza r-quadrado; a função retorna os parâmetros:

Parâmetro Descrição
rsquare R-quadrado é 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 se encaixam em nenhuma linha.
split_idx O índice de ponto de interrupção para dois segmentos (baseado em zero).
variance Variação dos dados de entrada.
rvariance Variação residual, que é a variação entre os valores de dados de entrada os 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 tamanho da série é igual ao tamanho da matriz de entrada. Ele é usado principalmente para gráficos.
right_rsquare R-quadrado da linha no lado direito da divisão, consulte series_fit_line().
right_slope Inclinação da linha aproximada direita (do formato y=ax+b).
right_interception Interceptação da linha esquerda aproximada (b de y=ax+b).
right_variance Variação dos dados de entrada no lado direito da divisão.
right_rvariance Variação 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 Inclinação da linha aproximada esquerda (do formato y=ax+b).
left_interception Interceptação da linha esquerda aproximada (do formato y=ax+b).
left_variance Variação dos dados de entrada no lado esquerdo da divisão.
left_rvariance Variação residual dos dados de entrada no lado esquerdo da divisão.

Observação

Essa função retorna várias colunas e, portanto, não pode ser usada como um argumento para outra função.

Syntax

série de projetos series_fit_2lines()

Saiba mais sobre as convenções de sintaxe.

  • Retornará 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)

  • Retornará as seguintes colunas: rs (r-square), si (índice dividido), v (variação) e o restante será semelhante a series_fit_2lines_x_rvariance, series_fit_2lines_x_line_fit e etc.

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

  • Retorna apenas: rs (r-quadrado), si (índice de divisão) e v (variação).

Parâmetros

Nome Tipo Obrigatório Descrição
Série dynamic ✔️ Uma matriz de valores numéricos.

Dica

A maneira mais conveniente de usar essa 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 se ajusta a duas linhas.