平行线性回归或使用多个数据源

6月21日,二千零一十八
通过

(本文首次发表于 R-English–畸形经济学,并对 188bet appR博主

我的上一篇文章解释了如何在数学上并行计算来估计线性回归的参数。更具体地说,我们有一个矩阵\mathbf_x_ 哪个是n次k 矩阵和Mathbf {y} N号 -尺寸矢量,我们要计算宽帽子\mathbf \beta=[\mathbf x ^t\mathbf x]^-1 \mathbf x ^t\mathbf y 通过拆分工作。而不是使用N号 观察,我们已经看到可以计算“某物”使用第一NY1 排,然后是下一个n_2号 排,等。然后,最后,我们”骨料”这个米 创建对象以获取我们的总体估计。

多核并行化

让我们从计算的角度来看它是如何工作的,在机器的不同核心上运行每个计算。每个核心将看到奴隶,计算我们在上一篇文章.在这里,我们使用的数据是

123
Y= 汽车$distx= 数据。框架()1个,,汽车美元速度K= 士官()X

在我的笔记本电脑上,我有三个核心,所以我们要把它分成两半m=3个

一千二百三十四
图书馆()平行
图书馆()应用程序NCL公司=detectCores()-1个=生成群集()NCL公司

这或多或少是我们要做的:我们有我们的数据集,我们分工合作,,

然后我们可以创建包含将发送到每个核心的元素的列表,作为埃温建议,,

一万二千三百四十五
= 功能()XN号 分裂()X,()塞克朗()X,n,标签 =错误的一个旅行社=()塞克伦()诺罗()X,NCL公司
对于()在里面 1个长度()一个旅行社一个旅行社[[]] = 代表()我,,长度()一个旅行社[[]]XLIST= 分裂()X,取消列表()一个旅行社雅斯特= 分裂()是的,,取消列表()一个旅行社

也可以简化我们将使用的二维码功能。

一千二百三十四万五千六百七十八
计算= 功能()X{
  列表()Q=QR。Q()QR()AS。矩阵()X,R=QR。R()QR()AS。矩阵()X
}获取列表= 功能()J{Q3=QR1[[J]]Q美元%*%问题2列表[[J]]
  T()Q3 %*%雅斯特[[J]]
}集群出口()氯,,C()“计算机“QR”“,,“GETYVVLIST“,环境=环境()

然后,我们可以在每个核心上运行我们的函数。第一个是

1个
QR1=帕拉普里()=氯,XLIST,计算

注意,也可以使用

1个
QR1=PBLPASP()XLIST,计算器QR氯=

其中包括一个进度条(当数据库很大时,这很好)。然后使用

1234567
R1=PBLPASP()QR1,功能()XX $ R,氯= %和燃气轮机;% 做。呼叫()“圆形”“,.Q1= QR。Q()QR()AS。矩阵()R1R2= QR。R()QR()AS。矩阵()R1问题2列表= 分开。数据.框架()Q1,,代表()1个NCL,每个=K集群出口()氯,,C()“QR1“,,““Q2LIST”“,,““一览”“,环境=环境()VLIST=PBLPASP()1个长度()QR1,GETYVVLIST,氯=萨姆夫= 减少()“+”,VLIST

最后输出是

一千二百三十四
解决()R2 %*%萨姆夫[,,1个]X1-17.579095x2个3.932409号

这正是我们所期待的……

使用多个源

实际上,也可能发生各种各样的服务器“有数据,但我们找不到副本。但是可以在服务器上运行一些函数,得到一些输出,我们以后可以用。

数据集应该在某个地方可用。我们可以发送请求,得到一个矩阵。然后我们把所有的数据汇总起来,再发送一个请求。这就是我们在这里要做的。供应商J 应该运行FY1(\ Mathbf {x}) 关于他的数据,该函数将返回R ^(1)U J .更准确地说,到第一个提供者,发送

123
功能1= 功能()苏比克{
返回()QR。R()QR()AS。矩阵()苏比克}R1=功能1()XLIST[[1个]]

实际上,将该函数发送给所有提供程序,把产量加起来

1个
对于()J在里面 R1= 重新绑定()R1功能1()XLIST[[J]]

在您一侧创建以下对象

一千二百三十四
Q1= QR。Q()QR()AS。矩阵()R1R2= QR。R()QR()AS。矩阵()R1问题2列表=列表()
对于()J在里面 1个问题2列表[[J]] =Q1[()J-1个*K+1个K,]

最后,最后一次联系供应商,并发送一个对象

一千二百三十四
功能2=功能()子X苏比,Q{Q1=QR。Q()QR()AS。矩阵()苏比克第2季度=Q返回()T()Q1%*%第2季度 %*%苏比}

供应商J 然后应该运行FY2(\ Mathbf {x}),\mathbf y,qyj^ {(2)} 关于他的数据,使用也qyj^ {(2)} 作为参数(我们从自己的角度获得),函数将返回(\mathbf q(2)u j \mathbf q(1)u j)^ t u j \mathbf y u j .例如,要求第一个提供程序运行

1个
萨姆夫=功能2()XLIST[[1个]],雅斯特[[1个]],问题2列表[[1个]]

并对所有提供者执行相同的操作

1个
对于()J在里面 萨姆夫=萨姆夫+功能2()XLIST[[J]],雅斯特[[J]],问题2列表[[J]]
一千二百三十四
解决()R2 %*%萨姆夫[,,1个]X1-17.579095x2个3.932409号

这正是我们所期待的……

留下评论作者,请关注他们博客上的链接和评论: R-English–畸形经济学.

188bet appr-bloggers.com网站提供 每日电子邮件更新金宝搏网址 R新闻与 教程关于以下主题: 数据科学,, 大数据,, R作业,可视化(可视化) GGPROTT2,, 箱形图,, 地图,, 动画),程序设计(程序) 演播室,, 斯威夫特,, 乳胶,, SQL,, 日食,, 吉特,, Hadoop公司,, 刮网)统计数据( 回归,, 主成分分析,, 时间序列,, 交易)等等…



如果你走这么远,为什么不 订阅更新 从站点?选择您的口味: 电子邮件,, 推特,, 1188bet app,或 脸谱网

注释已关闭。

搜索R-Blo188bet appggers


赞助商

千万不要错过更新!!
订阅R-Bloggers188bet app接收
最新R帖子的电子邮件。
(您将不再看到此消息。)

单击此处关闭(此弹出窗口将不再出现)