Як використовувати функцію 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 .

Використовуючи ці значення, ми можемо написати рівняння для цієї простої моделі регресії:

y = 3,52169 + 0,693717(x)

Ми інтерпретуємо це так, що кожне додаткове збільшення на одну одиницю змінної предиктора 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: як обчислити середньозважену величину

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *