Hoe de linest-functie in vba te gebruiken (met voorbeeld)
U kunt de LinEst- methode in VBA gebruiken om een lineair regressiemodel te passen.
Deze functie gebruikt de volgende basissyntaxis:
LinEst(Arg1, Arg2, Arg3, Arg4)
Goud:
- Arg1 : Set y-waarden
- Arg2 : Reeks waarden x
- Arg3 (optioneel) : WAAR = bereken de onderschepping normaal, FALSE = forceer de onderschepping naar nul
- Arg4 (optioneel) : TRUE = bereken aanvullende regressiestatistieken, FALSE = bereken alleen coëfficiënten
Het volgende voorbeeld laat zien hoe u de LinEst- methode kunt gebruiken om een regressiemodel praktisch in VBA te passen.
Voorbeeld: hoe u de LinEst-functie in VBA gebruikt
Stel dat we de volgende gegevensset hebben die een voorspellende variabele (x) en een responsvariabele (y) bevat:
We kunnen de volgende macro maken die de LinEst- methode gebruikt om een eenvoudig lineair regressiemodel aan deze gegevensset toe te passen:
Sub UseLinEst() Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 ")) End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
De resultaatwaarden vertegenwoordigen de coëfficiënten van het regressiemodel:
- De coëfficiënt voor β 0 is 3,52169 .
- De coëfficiënt voor β1 is 0,693717 .
Met behulp van deze waarden kunnen we de vergelijking voor dit eenvoudige regressiemodel schrijven:
y = 3,52169 + 0,693717(x)
We interpreteren dit zo dat elke extra toename van één eenheid in de voorspellende variabele x gepaard gaat met een gemiddelde toename van 0,693717 in de responsvariabele y.
We interpreteren de oorspronkelijke term zo dat wanneer x nul is, de gemiddelde waarde van y 3,52169 is.
Als we de LinEst- methode willen gebruiken om aanvullende regressiestatistieken te produceren, kunnen we de volgende syntaxis gebruiken:
Sub UseLinEst() Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True) End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
De volgende schermafbeelding geeft een uitleg van elke waarde in het resultaat:
Door True toe te voegen aan het laatste argument van de LinEst- methode, kunnen we verschillende aanvullende regressiestatistieken berekenen.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: een lijst met waarden classificeren
VBA: Hoe de standaardafwijking van het bereik te berekenen
VBA: hoe het gewogen gemiddelde te berekenen