Jak korzystać z funkcji linest w vba (z przykładem)
Aby dopasować model regresji liniowej, można użyć metody LinEst w języku VBA.
Ta funkcja wykorzystuje następującą podstawową składnię:
LinEst(Arg1, Arg2, Arg3, Arg4)
Złoto:
- Arg1 : Zbiór wartości y
- Arg2 : Zbiór wartości x
- Arg3 (opcjonalnie) : PRAWDA = normalnie oblicz przechwytywanie, FAŁSZ = wymuś przechwytywanie na zero
- Arg4 (opcjonalnie) : PRAWDA = oblicz dodatkowe statystyki regresji, FAŁSZ = oblicz tylko współczynniki
Poniższy przykład pokazuje, jak zastosować metodę LinEst , aby praktycznie dopasować model regresji w VBA.
Przykład: jak używać funkcji LinEst w VBA
Załóżmy, że mamy następujący zestaw danych zawierający zmienną predykcyjną (x) i zmienną odpowiedzi (y):
Możemy utworzyć następujące makro, które wykorzystuje metodę LinEst w celu dopasowania prostego modelu regresji liniowej do tego zbioru danych:
Sub UseLinEst() Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 ")) End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Wartości wyników reprezentują współczynniki modelu regresji:
- Współczynnik dla β 0 wynosi 3,52169 .
- Współczynnik β1 wynosi 0,693717 .
Korzystając z tych wartości, możemy zapisać równanie tego prostego modelu regresji:
y = 3,52169 + 0,693717(x)
Interpretujemy to w ten sposób, że każdy dodatkowy wzrost zmiennej predykcyjnej x o jedną jednostkę jest powiązany ze średnim wzrostem zmiennej odpowiedzi y o 0,693717 .
Interpretujemy pierwotny termin w ten sposób, że gdy x wynosi zero, średnia wartość y wynosi 3,52169 .
Jeśli chcemy użyć metody LinEst do wygenerowania dodatkowych statystyk regresji, możemy zastosować następującą składnię:
Sub UseLinEst() Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True) End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Poniższy zrzut ekranu zawiera wyjaśnienie każdej wartości w wyniku:
Podając True do ostatniego argumentu metody LinEst , możemy obliczyć kilka dodatkowych statystyk regresji.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak sklasyfikować listę wartości
VBA: Jak obliczyć odchylenie standardowe zakresu
VBA: Jak obliczyć średnią ważoną