Как мне распечатать скорость роста для модели экспоненциальной регрессии?

#r #regression #exponential

#r #регрессия #экспоненциальный

Вопрос:

Итак, я создал экспоненциальную регрессию, используя 50 точек данных, взятых за 50 дней. Поиск сводки по нему привел к следующему:

 > summary(TotalModel)

Call:
lm(formula = log(Total) ~ Time)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0570 -0.4827 -0.1168  0.5545  0.8195 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 4.537196   0.165779   27.37   <2e-16 ***
Time        0.148937   0.005658   26.32   <2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.5773 on 48 degrees of freedom
Multiple R-squared:  0.9352,    Adjusted R-squared:  0.9339 
F-statistic: 692.9 on 1 and 48 DF,  p-value: < 2.2e-16
 

Теперь, хотя это дает мне некоторую необходимую информацию, я хочу взять скорость роста этой экспоненциальной модели и распечатать ее в переменной, которую я позже экспортирую в электронную таблицу (и повторить это еще примерно 13 раз).). Как мне получить это значение?

Ответ №1:

Прежде всего, в приведенном выше примере подобранная модель:

 log(Total) = 4.537196   0.148937 * Time
 

Возведя в степень обе стороны, мы имеем:

 Total = exp(4.537196)*exp(0.148937 * Time)
 

Ваш темп роста равен 0,148937, что является коэффициентом Time переменной. Чтобы извлечь это значение, вы могли бы сделать

 TotalModel$coefficients["Time"]
 

В общем, в будущем, если вы пытаетесь понять, как можно извлечь определенное значение из объекта, несколько вещей, которые вы можете попробовать, включают в себя: (не всегда будет работать для каждого объекта, но стоит попробовать)

  1. Посмотрите на структуру вашей модели, выполнив str(TotalModel) . В вашем случае вы увидите, что одним из элементов является coefficients , к которому вы можете получить доступ с помощью TotalModel$coefficients
  2. Введите TotalModel$ (со знаком доллара) и нажмите клавишу tab на клавиатуре, чтобы увидеть, к каким возможным элементам можно получить доступ.

Ответ №2:

Итак, общая экспоненциальная функция имеет следующий вид, где — экспоненциальная скорость роста:

Похоже, вы оценили преобразованную логарифмически-линейную модель, т.е.:

Или, другими словами, модель OLS, которую вы оценили, равна:

где и когда .

Таким образом, экспоненциальный темп роста равен:

Вы можете вычислить это по TotalModel объекту, где TotalModel$coefficient['Time'] находится и так r = exp(TotalModel$coefficient['Time']) - 1 далее.