Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
使用purrr提高批量预测的速度_R_Forecasting_Purrr - Fatal编程技术网

使用purrr提高批量预测的速度

使用purrr提高批量预测的速度,r,forecasting,purrr,R,Forecasting,Purrr,我正在读一篇关于批量预测的文章,想加快速度。我尝试使用purr,但只减少了不到一半的时间。下面是一个可复制的示例,显示了Hyndman博客文章中的示例,并显示了purr备选方案。我怎样才能减少这段时间 library(forecast) library(tidyverse) library(purrr) #read file retail <- read.csv("https://robjhyndman.com/data/ausretail.csv",header=FALSE) # hy

我正在读一篇关于批量预测的文章,想加快速度。我尝试使用
purr
,但只减少了不到一半的时间。下面是一个可复制的示例,显示了Hyndman博客文章中的示例,并显示了
purr
备选方案。我怎样才能减少这段时间

library(forecast)
library(tidyverse)
library(purrr)
#read file
retail <- read.csv("https://robjhyndman.com/data/ausretail.csv",header=FALSE)

# hyndmans loop
retail <- ts(retail[,-1],f=12,s=1982+3/12)
ns <- ncol(retail)
h <- 24
fcast <- matrix(NA,nrow=h,ncol=ns)
system.time(
for(i in 1:ns)
  fcast[,i] <- forecast(retail[,i],h=h)$mean
)

#   user  system elapsed 
#  60.14    0.17   61.72 

# purrr try
system.time(
retail_forecast <- retail %>% 
  as_tibble() %>% 
  map(~ts(.,frequency = 7)) %>% 
  map_dfc(~forecast(.,h=h)$mean))

#   user  system elapsed 
#  32.23    0.03   35.32 
库(预测)
图书馆(tidyverse)
图书馆(purrr)
#读取文件

零售您可以使用该软件包并行化
purrr
函数。以下是软件包页面的摘录

furr
的目标是简化
purr
的映射函数系列和
未来的
并行处理功能的组合。已经定义了一组新的
future\u map_*()
函数,可以(希望)作为相应
map_*()
函数的插入式替换

该代码大量借鉴了
purr
future.apply的实现

使用
furr
我能够在我的Linux机器上减少3倍以上的计算时间

库(预测)
图书馆(tidyverse)
###读取文件

如果使用频率=12而不是不正确的频率=7,零售purrr几乎与使用环路相同。Furr仍然非常快。更改频率将改变计算时间。频率越小速度越快。使频率=12,purr结果几乎与循环相同。