【问题标题】:How do I print the growth rate for an exponential regression model?如何打印指数回归模型的增长率?
【发布时间】:2020-12-08 05:05:50
【问题描述】:

因此,我使用 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 次)次)。我如何获得这个值?

【问题讨论】:

    标签: r regression exponential


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2021-05-06
        • 2016-05-05
        • 2018-11-06
        • 1970-01-01
        • 2021-06-24
        • 2018-05-18
        • 2012-07-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多