Как использовать функцию linest в vba (с примером)


Вы можете использовать метод LinEst в VBA, чтобы подогнать модель линейной регрессии.

Эта функция использует следующий базовый синтаксис:

 LinEst(Arg1, Arg2, Arg3, Arg4)

Золото:

  • Arg1 : Набор значений y.
  • Arg2 : Набор значений x
  • Arg3 (необязательно) : TRUE = обычный расчет перехвата, FALSE = принудительное обнуление перехвата.
  • Arg4 (необязательно) : TRUE = вычислить дополнительную статистику регрессии, FALSE = вычислить только коэффициенты.

В следующем примере показано, как использовать метод LinEst для практической реализации модели регрессии в VBA.

Пример: как использовать функцию LinEst в VBA

Предположим, у нас есть следующий набор данных, который содержит переменную-предиктор (x) и переменную ответа (y):

Мы можем создать следующий макрос, который использует метод LinEst для подгонки простой модели линейной регрессии к этому набору данных:

 Sub UseLinEst()
Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "))
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Значения результата представляют собой коэффициенты регрессионной модели:

  • Коэффициент при β 0 равен 3,52169 .
  • Коэффициент для β1 равен 0,693717 .

Используя эти значения, мы можем написать уравнение для этой простой модели регрессии:

у = 3,52169 + 0,693717(х)

Мы интерпретируем это как означающее, что каждое дополнительное увеличение переменной-предиктора x на одну единицу связано со средним увеличением переменной отклика y на 0,693717 .

Мы интерпретируем исходный термин так, что когда x равен нулю, среднее значение y равно 3,52169 .

Если мы хотим использовать метод LinEst для получения дополнительной статистики регрессии, мы можем использовать следующий синтаксис:

 Sub UseLinEst()
Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True)
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

На следующем снимке экрана показано объяснение каждого значения в результате:

Указав True последнему аргументу метода LinEst , мы можем вычислить несколько дополнительных статистических данных регрессии.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как классифицировать список значений
VBA: как рассчитать стандартное отклонение диапазона
VBA: Как рассчитать средневзвешенное значение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *