Поделиться через


series_fit_2lines_dynamic()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Применяет два сегмента линейной регрессии к рядам, возвращая динамический объект.

Принимает выражение, содержащее динамический числовый массив в качестве входных данных, и применяет два сегмента линейной регрессии , чтобы определить и квалифицировать изменения тренда в ряде. Функция выполняет итерацию по индексам ряда. В каждой итерации он разделяет ряд на две части и помещает отдельную строку с помощью series_fit_line() или series_fit_line_dynamic(). Функция соответствует строкам каждой из двух частей и вычисляет общее значение R-квадрата. Лучшее разделение — это тот, который максимизирует R-квадрат. Функция возвращает свои параметры в динамическом значении со следующим содержимым:

  • rsquare: R-квадрат является стандартной мерой качества соответствия. Это число в диапазоне [0-1], где 1 лучше всего подходит, и 0 означает, что данные не упорядочены и не соответствуют какой-либо строке.
  • split_idx: индекс критической точки на два сегмента (от нуля).
  • variance: дисперсию входных данных.
  • rvariance: остаточное отклонение, которое является дисперсией между входными значениями данных, приблизительными (по двум сегментам линии).
  • line_fit: числовый массив, содержащий ряд значений оптимальной линии. Длина ряда равна длине входного массива. Он используется для диаграммы.
  • right.rsquare: r-квадрат линии справа от раскола, см . series_fit_line() или series_fit_line_dynamic().
  • right.slope: наклон правой приблизительной линии (формы y=ax+b).
  • right.interception: перехват приблизительной левой линии (b от y=ax+b).
  • right.variance: дисперсию входных данных справа от разбиения.
  • right.rvariance: остаточное отклонение входных данных справа от разделения.
  • left.rsquare: r-квадрат линии слева от раскола, см. [series_fit_line()]. (series-fit-line-function.md) или series_fit_line_dynamic().
  • left.slope: наклон левой приблизительной линии (формы y=ax+b).
  • left.interception: перехват приблизительной левой линии (формы y=ax+b).
  • left.variance: дисперсию входных данных в левой части разделения.
  • left.rvariance: остаточное отклонение входных данных в левой части разделения.

Этот оператор аналогичен series_fit_2lines. В отличие от series-fit-2linesэтого, он возвращает динамический мешок.

Синтаксис

series_fit_2lines_dynamic(серия)

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
серия 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
    LineFit=series_fit_line_dynamic(y).line_fit,
    LineFit2=series_fit_2lines_dynamic(y).line_fit
| project id, x, y, LineFit, LineFit2
| render timechart

Ряд подходит 2 линии.