R 中基于 CAGR 的预测

在这篇文章中,我提供了一个基于 CAGR 的预测示例,使用了中国汽车行业的 OICA 汽车生产数据。

CAGR 是复合平均增长率。

例如,如果 2000 年的产量为 1,000,000 台,那么如果预计 CAGR = 3%,则计算 10 年后的产量并预计为:

基于 CAGR 的预测包括两步工作流程:

  1. 从历史数据计算 CAGR
  2. 假设历史 CAGR 计算未来价值

如果预测年度值,则必须根据年度历史值计算 CAGR。如果预测月度值,则必须根据月度历史值计算 CAGR。等等。

下面我使用 CAGR 方法来预测未来汽车产量,以每年生产的单位数量表示。我使用 OICA 汽车行业生产数据来计算历史年度 CAGR,并根据计算出的 CAGR 值预测未来的产量。

第一步是读入数据。该步骤也包括过滤。

library(readxl)
library(dplyr)
data_df = as.data.frame(read_xls("oica.xls"))
data_df = dplyr::filter(data_df,year>=2005,country=="China")
head(data_df)
##   year country    total
## 1 2018   China 27809196
## 2 2017   China 29015434
## 3 2016   China 28118794
## 4 2015   China 24503326
## 5 2014   China 23731600
## 6 2013   China 22116825
tail(data_df)
##    year country    total
## 9  2010   China 18264761
## 10 2009   China 13790994
## 11 2008   China  9299180
## 12 2007   China  8882456
## 13 2006   China  7188708
## 14 2005   China  5717619

接下来,可以计算历史 CAGR。在这种情况下,对于 2005 年至 2018 年:

cagr = (data_df$total[1]/data_df$total[length(data_df$total)])^(1/(length(data_df$total)-1)) - 1

使用历史年度 CAGR 值,我预测 2030 年中国汽车产量以每年生产的单位衡量:

data_df$total[1]*(1+cagr)^(2030-2018)
## [1] 119761592

基于 CAGR 的预测显然是天真的。这种预测方法仅在强有力的假设下有效,例如假设增长是无限的。在汽车生产的情况下,这是不可行的。因此,这种预测方法可能仅适用于有限的时间范围。此外,基于 CAGR 的预测需要一定的方差容忍度。

You May Also Like

Leave a Reply

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据