Come utilizzare la funzione linest in vba (con esempio)
È possibile utilizzare il metodo LinEst in VBA per adattare un modello di regressione lineare.
Questa funzione utilizza la seguente sintassi di base:
LinEst(Arg1, Arg2, Arg3, Arg4)
Oro:
- Arg1 : insieme di valori y
- Arg2 : insieme di valori x
- Arg3 (opzionale) : TRUE = calcola normalmente l’intercettazione, FALSE = forza l’intercettazione a zero
- Arg4 (facoltativo) : TRUE = calcola statistiche di regressione aggiuntive, FALSE = calcola solo coefficienti
L’esempio seguente mostra come utilizzare il metodo LinEst per adattare praticamente un modello di regressione in VBA.
Esempio: come utilizzare la funzione LinEst in VBA
Supponiamo di avere il seguente set di dati che contiene una variabile predittore (x) e una variabile di risposta (y):
Possiamo creare la seguente macro che utilizza il metodo LinEst per adattare un semplice modello di regressione lineare a questo set di dati:
Sub UseLinEst() Range(" D1:E1 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 ")) End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
I valori dei risultati rappresentano i coefficienti del modello di regressione:
- Il coefficiente per β 0 è 3,52169 .
- Il coefficiente per β1 è 0,693717 .
Utilizzando questi valori, possiamo scrivere l’equazione per questo semplice modello di regressione:
y = 3,52169 + 0,693717(x)
Interpretiamo ciò nel senso che ogni ulteriore aumento di un’unità nella variabile predittrice x è associato a un aumento medio di 0,693717 nella variabile di risposta y.
Interpretiamo il termine originale nel senso che quando x è zero, il valore medio di y è 3.52169 .
Se vogliamo utilizzare il metodo LinEst per produrre statistiche di regressione aggiuntive, possiamo utilizzare la seguente sintassi:
Sub UseLinEst() Range(" D1:E5 ") = WorksheetFunction.LinEst(Range(" B2:B15 "), Range(" A2:A15 "), True, True) End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
La schermata seguente fornisce una spiegazione di ciascun valore nel risultato:
Fornendo True all’ultimo argomento del metodo LinEst , possiamo calcolare diverse statistiche di regressione aggiuntive.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come classificare un elenco di valori
VBA: come calcolare la deviazione standard dell’intervallo
VBA: come calcolare la media ponderata