Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 外推时间序列_R_Time Series_Extrapolation - Fatal编程技术网

R 外推时间序列

R 外推时间序列,r,time-series,extrapolation,R,Time Series,Extrapolation,我下载了谷歌过去4年的年度收入: library(quantmod) getFinancials(GOOG) df<-viewFinancials(GOOG.f, type='IS', period='A',subset = NULL)['Net Income',] df<-(as.data.frame(df)) 我想将这些数据“外推”为未来10年的平均线性增长,以这种方式: 在Excel中,我只需粘贴上述数据,从最旧到最新排序,选择它,然后将选择“拉伸”到另外10行,结果如下:

我下载了谷歌过去4年的年度收入:

library(quantmod)
getFinancials(GOOG)
df<-viewFinancials(GOOG.f, type='IS', period='A',subset = NULL)['Net Income',]
df<-(as.data.frame(df))
我想将这些数据“外推”为未来10年的平均线性增长,以这种方式:

在Excel中,我只需粘贴上述数据,从最旧到最新排序,选择它,然后将选择“拉伸”到另外10行,结果如下:

12/31/2012  10737
12/31/2013  12733
12/31/2014  14136
12/31/2015  16348
12/31/2016  18048
12/31/2017  19871
12/31/2018  21695
12/31/2019  23518
12/31/2020  25342
12/31/2021  27166
12/31/2022  28989
12/31/2023  30813
12/31/2024  32636
12/31/2025  34460

我怎样才能在R中做同样的事情(或类似的事情)

在R中还需要一些额外的步骤。以下是您的示例数据:

date<-as.Date(c("2015-12-31", "2014-12-31", "2013-12-31", "2012-12-31"))
value<-c(16348, 14136, 12733, 10737)

date在R中需要额外的几个步骤。以下是您的示例数据:

date<-as.Date(c("2015-12-31", "2014-12-31", "2013-12-31", "2012-12-31"))
value<-c(16348, 14136, 12733, 10737)

date就是这样。它在“GOOG”中运行得很顺利,但当我将其应用于“TSLA”时,它只预测了4年而不是10年。你知道为什么吗?太不可预测了?predict函数应该为传递给它的数据帧中的每一行生成一个估计值。确保数据框中的列名与模型中的因变量名匹配!在上面的例子中,lm模型的值与“日期”相对,因此,dfuture数据框中的列名也被命名为“日期”。就是这样。它在“GOOG”中运行得很顺利,但当我将其应用于“TSLA”时,它只预测了4年而不是10年。你知道为什么吗?太不可预测了?predict函数应该为传递给它的数据帧中的每一行生成一个估计值。确保数据框中的列名与模型中的因变量名匹配!在上面的例子中,lm模型的值与“日期”相对,因此dfuture数据框中的列名也被命名为“日期”
#fit linear regression
model<-lm(value~date)
#build predict dataframe
dfuture<-data.frame(date=seq(as.Date("2016-12-31"), by="1 year", length.out = 10))
#predict the futurne
predict(model, dfuture, interval = "prediction")