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


series_fit_line()

Применяет линейную регрессию к ряду, возвращая несколько столбцов.

Принимает выражение, содержащее динамический числовой массив, в качестве входных данных и выполняет линейную регрессию , чтобы найти наиболее подходящую для него линию. Эту функцию следует использовать для массивов временных рядов, чтобы подбирать выходные данные оператора make-series. Функция создает следующие столбцы:

  • rsquare: r-square является стандартной мерой качества соответствия. Значение — это число в диапазоне [0–1], где 1 — является наиболее подходящим, а 0 означает, что данные не упорядочены и не соответствуют ни одной строке.
  • slope: наклон приблизительной линии ("a" от y=ax+b).
  • variance: отклонение входных данных.
  • rvariance: остаточная дисперсия, которая представляет собой дисперсию между значениями входных данных и приблизительными значениями.
  • interception: перехват приблизительной линии ("b" из y=ax+b).
  • line_fit: числовой массив, содержащий ряд значений наиболее подходящей линии. Длина ряда равна длине входного массива. Значение, используемое для построения диаграмм.

Синтаксис

series_fit_line(Серии)

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

Параметры

Имя Тип Обязательно Описание
Серии 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