Jak wykonać regresję mocy w r (krok po kroku)


Regresja mocy jest rodzajem regresji nieliniowej, która przyjmuje następującą postać:

y = topór b

Złoto:

  • y: zmienna odpowiedzi
  • x: zmienna predykcyjna
  • a, b: współczynniki regresji opisujące zależność pomiędzy x i y

Ten typ regresji stosuje się do modelowania sytuacji, w którychzmienna odpowiedzi jest równa zmiennej predykcyjnej podniesionej do potęgi.

Poniższy przykład pokazuje krok po kroku, jak przeprowadzić regresję mocy dla danego zbioru danych w R.

Krok 1: Utwórz dane

Najpierw utwórzmy fałszywe dane dla dwóch zmiennych: x i 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)

Krok 2: Wizualizuj dane

Następnie utwórzmy wykres rozrzutu, aby zwizualizować relację między x i y:

 #create scatterplot
plot(x, y) 

Wykres pokazuje, że istnieje wyraźna zależność mocy pomiędzy obiema zmiennymi. Dlatego rozsądne wydaje się dopasowanie do danych równania regresji mocy, a nie modelu regresji liniowej.

Krok 3: Dopasuj model regresji mocy

Następnie użyjemy funkcji lm() , aby dopasować model regresji do danych, określając, że R powinien podczas dopasowywania modelu używać logu zmiennych odpowiedzi i logu zmiennych predykcyjnych:

 #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

Ogólna wartość F modelu wynosi 252,1, a odpowiadająca jej wartość p jest wyjątkowo niska (4,619e-12), co wskazuje, że model jako całość jest użyteczny.

Korzystając ze współczynników z tabeli wyników, możemy zobaczyć, że dopasowane równanie regresji mocy ma postać:

ln(y) = 0,15333 + 1,43439ln(x)

Stosując e do obu stron, możemy przepisać równanie w następujący sposób:

  • y = e 0,15333 + 1,43439ln(x)
  • y = 1,1657 x 1,43439

Możemy użyć tego równania do przewidzenia zmiennej odpowiedzi y w oparciu o wartość zmiennej predykcyjnej x .

Na przykład, jeśli x = 12, przewidywalibyśmy, że y wyniesie 41,167 :

y = 1,1657(12) 1,43439 = 41,167

Premia: Skorzystaj z internetowego kalkulatora regresji mocy, aby automatycznie obliczyć równanie regresji mocy dla danego predyktora i zmiennej odpowiedzi.

Dodatkowe zasoby

Jak wykonać wielokrotną regresję liniową w R
Jak przeprowadzić regresję wykładniczą w R
Jak wykonać regresję logarytmiczną w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *