甄世达 大数据从业者,R语言爱好者
很早就拿R语言想做时间序列预测,试了试forecast库,太麻烦了,对初学者很不友好。
最近发现一个新的库prophet,拿来一试效果非常好,而且简单,速度也不慢。
我是先把数据导入oracle数据库,然后使用odbc连接数据库,如果你喜欢,
改用roracle也可以。
代码如下:
library(RODBC) #odbc库
library(prophet)#预测库
library(dplyr)
con<-odbcConnect("odbc",uid="orcl",pwd="orcl",believeNRows=FALSE) ##建立Oracle连接
rs_data<-sqlQuery(con,"select ds, y
from shibor order by ds") ##sqlQuery可带查询语句
odbcClose(con) #关闭连接
#命名各列
names(rs_data)<-c("ds","y")
df <- as.data.frame(rs_data)
#df$y <- log(df["y"])
m <- prophet(df)
future <- make_future_dataframe(m,periods =365)
forecast <- predict(m,future)
#预测图
plot(m,forecast)
#趋势,周,年
prophet_plot_components(m,forecast)
公众号后台回复关键字即可学习
回复 爬虫 爬虫三大案例实战
回复 Python 1小时破冰入门回复 数据挖掘 R语言入门及数据挖掘
回复 人工智能 三个月入门人工智能
回复 数据分析师 数据分析师成长之路
回复 机器学习 机器学习的商业应用
回复 数据科学 数据科学实战
回复 常用算法 常用数据挖掘算法