我在Linux机器上运行R,它有8个多核处理器,并且有一个优化问题我希望通过并行优化例程本身来加速.重要的是,该问题涉及(1)多个参数,以及(2)固有的慢速模型运行.一个相当普遍的问题!
有人知道这种场合的并行化优化器吗?
更具体地说,nlm()每次算法在参数空间中执行一个步骤时,解算器就会运行多个模型评估(每个参数值两个),因此,当多个参数值超过几个时,并行化多个模型运行的实例将大大加快速度.健康.
似乎使用包的代码parallel可以用户必须进行最少的代码修改以从使用nlm()或optim()转移到此并行化优化例程的方式编写.也就是说,似乎可以基本上没有任何改变地重写这些例程,除了在基于梯度的方法中常见的多次调用模型的步骤将并行完成.
理想情况下,像nlmPara()这样的代码会采用看起来像的代码
fit <- nlm(MyObjFunc, params0);
Run Code Online (Sandbox Code Playgroud)
并且只需要很小的修改,例如,
fit <- nlmPara(MyObjFunc, params0, ncores=6);
Run Code Online (Sandbox Code Playgroud)
思考/建议吗?
PS:我已采取措施加速这些模型运行,但由于各种原因它们很慢(即我不需要加速模型运行的建议!;-)).
我想帮助着色从已经汇总的计数数据生成的ggplot2直方图.
这些数据类似于生活在许多不同领域的#males和#females.可以很容易地绘制总计数的直方图(即男性+女性):
set.seed(1)
N=100;
X=data.frame(C1=rnbinom(N,15,0.1), C2=rnbinom(N,15,0.1),C=rep(0,N));
X$C=X$C1+X$C2;
ggplot(X,aes(x=C)) + geom_histogram()
Run Code Online (Sandbox Code Playgroud)
但是,我想根据C1和C2的相对贡献为每个条形图着色,这样我得到与上例相同的直方图(即整体条形高度),再加上我看到"C1"类型的比例和"C2"个体在堆积条形图中.
有关使用ggplot2执行此操作的简洁方法的建议,使用示例中的"X"等数据?