Hoe u machtsregressie uitvoert in r (stap voor stap)
Machtsregressie is een type niet-lineaire regressie die de volgende vorm aanneemt:
y = bijl
Goud:
- y: de responsvariabele
- x: de voorspellende variabele
- a, b: de regressiecoëfficiënten die de relatie tussen x en y beschrijven
Dit type regressie wordt gebruikt om situaties te modelleren waarin deresponsvariabele gelijk is aan de voorspellende variabele tot een macht.
Het volgende stapsgewijze voorbeeld laat zien hoe u een machtsregressie uitvoert voor een bepaalde gegevensset in R.
Stap 1: Creëer de gegevens
Laten we eerst valse gegevens maken voor twee variabelen: x en y.
#create data
x=1:20
y=c(1, 8, 5, 7, 6, 20, 15, 19, 23, 37, 33, 38, 49, 50, 56, 52, 70, 89, 97, 115)
Stap 2: Visualiseer de gegevens
Laten we vervolgens een spreidingsdiagram maken om de relatie tussen x en y te visualiseren:
#create scatterplot
plot(x, y)
De grafiek laat zien dat er een duidelijke machtsrelatie bestaat tussen de twee variabelen. Het lijkt dus verstandig om een machtsregressievergelijking aan de gegevens toe te passen in plaats van een lineair regressiemodel.
Stap 3: Pas het machtsregressiemodel toe
Vervolgens gebruiken we de functie lm() om een regressiemodel aan de gegevens aan te passen, waarbij we specificeren dat R het log van de responsvariabelen en het log van de voorspellende variabelen moet gebruiken bij het aanpassen van het model:
#fit the model model <- lm(log(y)~ log(x)) #view the output of the model summary(model) Call: lm(formula = log(y) ~ log(x)) Residuals: Min 1Q Median 3Q Max -0.67014 -0.17190 -0.05341 0.16343 0.93186 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.15333 0.20332 0.754 0.461 log(x) 1.43439 0.08996 15.945 4.62e-12 *** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.3187 on 18 degrees of freedom Multiple R-squared: 0.9339, Adjusted R-squared: 0.9302 F-statistic: 254.2 on 1 and 18 DF, p-value: 4.619e-12
De totale F-waarde van het model is 252,1 en de overeenkomstige p-waarde is extreem laag (4,619e-12), wat aangeeft dat het model als geheel bruikbaar is.
Met behulp van de coëfficiënten uit de uitvoertabel kunnen we zien dat de aangepaste machtsregressievergelijking is:
ln(y) = 0,15333 + 1,43439ln(x)
Door e op beide zijden toe te passen, kunnen we de vergelijking als volgt herschrijven:
- y = e 0,15333 + 1,43439ln(x)
- y = 1,1657x 1,43439
We kunnen deze vergelijking gebruiken om de responsvariabele, y , te voorspellen op basis van de waarde van de voorspellende variabele, x .
Als x = 12, dan voorspellen we bijvoorbeeld dat y 41,167 zou zijn:
y = 1,1657(12) 1,43439 = 41,167
Bonus: voel je vrij om deze online machtsregressiecalculator te gebruiken om automatisch de machtsregressievergelijking voor een bepaalde voorspeller en responsvariabele te berekenen.
Aanvullende bronnen
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe exponentiële regressie uit te voeren in R
Hoe logaritmische regressie uit te voeren in R