【发布时间】:2016-06-26 06:14:58
【问题描述】:
我正在尝试并行运行 R 来运行回归。我正在尝试使用降雪库(但对任何方法都持开放态度)。目前,我正在运行以下回归,这需要很长时间才能运行。有人可以告诉我怎么做吗?
sales_day_region_ctgry_lm <- lm(log(sales_out+1)~factor(region_out)
+ date_vector_out + factor(date_vector_out) +
factor(category_out) + mean_temp_out)
我已经开始了以下路径:
library(snowfall)
sfInit(parallel = TRUE, cpus=4, type="SOCK")
wrapper <- function() {
return(lm(log(sales_out+1)~factor(region_out) + date_vector_out +
factor(date_vector_out) + factor(category_out) + mean_temp_out))
}
output_lm <- sfLapply(*no idea what to do here*,wrapper)
sfStop()
summary(output_lm)
但这种方法充满了错误。
谢谢!
【问题讨论】:
-
这样做会让您重复 4 次相同的模型,而不是 1/4 次适合的模型。
-
如果
lm需要很长时间,这意味着您的设计矩阵很大,即您有许多因子水平。如果您正在采用的转换是最合适的方式,我也有点怀疑。仔细考虑普通最小二乘回归是否是实现目标的最佳方法。 -
特别是,包括一个变量作为连续预测器和因子预测器似乎......让我们称之为奇怪 ....
标签: r parallel-processing regression snowfall