快速地理加权回归 (FastGWR)
〖摘 要〗 地理加权回归 (GWR) 是一种广泛使用的工具,用于探索地理空间过程的空间异质性。 GWR 计算特定位置的参数估计值,这使得其校准过程需要大量计算。当前开源 GWR 软件可以处理的最大数据点数是标准桌面上的大约 个观测值。在大数据时代,这严重限制了 GWR 的使用。为了克服这一限制,我们提出了一种高度可扩展的开源 FastGWR 实现,该实现基于 Python 和消息传递接口 (MPI),可扩展到数百万个观测值的数量级。 FastGWR 优化内存使用以及并行化以显着提高性能。为了说明 FastGWR 的性能,对来自洛杉矶市 Zillow 数据集的大约 万个单户住宅物业进行了特征房价模型校准,这是将 GWR 应用于这种规模的数据集的首次尝试。结果表明,随着高性能计算 (HPC) 环境中内核数量的增加,FastGWR 呈线性扩展。它还优于当前可用的开源 GWR 软件包,在标准桌面上速度大幅降低——最高可达数千倍。
【原 文】 Li, Z. et al. (2019) ‘Fast Geographically Weighted Regression (FastGWR): a scalable algorithm to investigate spatial process heterogeneity in millions of observations’, International Journal of Geographical Information Science, 33(1), pp. 155–175. Available at: https://doi.org/10.1080/13658816.2018.1521523.
1 简介
地理加权回归 (GWR) 是一种广泛使用的工具,用于探索地理空间过程中的潜在空间异质性(Brunsdon 等人 1996 年,Fotheringham 等人 1996 年,2002 年)。它已被广泛应用于气候科学(Brown et al., 2012)、地质学(Atkinson et al. 2003)、犯罪学(Cahill and Mulligan 2007)、交通分析(Cardozo et al. 2012)和房屋等诸多领域价格建模(Fotheringham 等人,2015 年)。虽然传统的全球模型假设生成观测数据的过程在任何地方都是相同的,以便为模型中的每个协变量估计单个参数,但 GWR 允许通过在每个位置校准模型以获得特定于位置的参数来放宽此假设每个过程的估计。这是通过使用距离加权方案“借用”数据来实现的,这样附近的数据比在更远的位置观察到的数据的权重更大。通过这种方式,可以获得每个位置的局部参数估计、相关的局部标准误差和 t 值,并且可以将它们映射以探索生成数据的过程中的潜在空间变化
然而,由于 GWR 需要对每个校准位置进行单独回归,因此校准算法需要大量计算。许多研究明确报告了 GWR 的计算限制(Osborne 和 Suárez-Seoane 2002,Griffith 2008),尽管这些限制通常远小于局部建模的替代框架,例如特征向量滤波和贝叶斯空间变化系数模型(Wolf 等人. 2018). Harris 等人 (2010) 指出,随着校准位置数量的增加,GWR 呈指数级增长,并且具有 100,000 个观测值的 GWR 模型可能需要两周或更长时间才能校准。 Yu (2007) 不得不使用 68,906 条记录的子样本来校准 GWR 模型,因为使用所有观测值在计算上是不允许的。然而,使用数据的子集存在明显的问题,可能会影响结果的质量并引入样本偏差。 Feuillet 等人 (2018) 探索了 GWR 在具有 40,480 个观测值的数据集上的使用,以研究步行-环境关系之间的空间变化,但由于计算负担而无法直接利用整个数据集。因此,他们将研究区域分成更小的地理单元,为每个地理单元并行校准单独的 GWR 模型,然后汇总结果。但是,此解决方案可能不等同于完整的 GWR 模型,因为子集分析将受到边界和分区效应的影响,从而限制捕获关系中真实空间变化的能力。上面突出显示的挑战表明,当观测数量变得过大(即数万)时,传统的 GWR 工具开始失效。
很少有研究从各种角度努力解决 GWR 中的计算挑战。 Harris 等人 (2010) 在 R 环境中的开源 spgwr 软件包中开发了一个支持网格的 GWR。他们通过实施一种算法来利用 GWR 的可并行性,该算法将特定位置的模型校准集划分到网格计算系统上的一组节点上。尽管取得了这一进展,但包含 31,378 个观测值的数据集仍然需要 1-2 小时来进行模型校准。尽管在网格上使用了 100 个节点,但这种改进的适度可能是算法没有并行计算模型诊断的结果,这可能需要大量的计算成本。 Pozdnoukhov 和 Kaiser (2011) 使用 MapReduce 并行化框架实施了一种可扩展的局部回归算法来分析流式地理参考数据。该算法能够处理相对较少位置的大量流数据,但在处理大量位置时受到严重限制。 Zhang (2010) 提出了一个使用空间索引视角在图形处理单元 (GPU) 上运行 GWR 的理论并行框架,但没有提供操作实现。最后,Tran 等人。 (2016) 利用 Spark 框架实现了分布式 GWR;然而,这需要一个集群计算环境,普通用户不容易访问。
因此,尽管做出了这些努力,仍然缺乏能够在合理的时间范围内分析大量观测值的可操作且可访问的 GWR 算法。随着以越来越精细的空间分辨率收集数据,具有数十万个观测值的数据集变得司空见惯。因此,需要 GWR 算法的新实现来消除计算瓶颈并在非常大的数据集中启用应用程序。
2 GWR的基础知识
2.1 模型制定
地理加权回归 (GWR) 通过数据借用方案在每个位置校准单独的回归模型,该方案对来自回归点的观测值进行距离加权。它被表述为
yi 1⁄4 k X j1⁄41 βijxij þ εi
其中 yi 是位置 i 处的响应变量,i 2 1; 2; …; n f , xij g 是第 j 个预测变量,j 2 1; 2; …; k f , βij g 是第 j 个参数估计值,εi 是误差项。矩阵形式的 GWR 校准由下式给出
^ βi 1⁄4 XT WiX 1 XT Wiy
其中 ^ βi 是位置 i 处参数估计的 k x 1 行向量。 X 是预测变量的 n×k 矩阵,y 是响应变量的 n×1 矩阵,Wi 是 n×n 对角空间加权矩阵 specifictolocationi,它是根据指定的核函数和带宽计算的。最广泛使用的核函数是双平方和高斯函数,尽管也使用了其他函数,例如三立方体核函数(McMillen 和 McDonald,2004 年)。双平方和高斯核函数的方程式由下式给出:
Bisquare wij ¼ 1 dij bw 2 "2 # if dij < bw 0 otherwise Gaussian wij ¼ e 1=2 dij bw 2 (3)
其中 wij 是位置 i 和 j 之间的权重,dij 是 i 和 j 之间的距离,bw 是带宽参数,它可以是最近邻居的数量(生成空间自适应带宽)或邻域的距离半径(产生空间固定带宽)(Fotheringham 等人,2002 年)。带宽是控制 GWR 平滑度的关键参数。如果带宽非常大,GWR 结果将类似于从全局 OLS 获得的结果,参数估计的空间变化很小。如果带宽非常小,估计的参数将随空间变化很大,但可能有非常大的标准误差,因为使用很少的数据点进行估计。因此,找到最佳带宽是基于偏差方差权衡。这通常是通过检查修正后的 Akaike 信息准则 (AICc) 分数来完成的,该分数由下式给出
AICc ¼ 2n ln ^ σ ðÞþnln 2π ðÞþn n þ tr S ðÞ n 2 tr S ðÞ
其中n为观察次数,^σ为估计标准误差,tr(S)为帽子矩阵的迹,作为模型的有效参数个数(ENP),描述模型的复杂度。其他优化标准也可用于生成带宽,例如 AIC、贝叶斯信息标准 (BIC) 或交叉验证 (CV)。黄金分割搜索启发式通常用于有效地搜索与最低 AICc 分数相关联的最佳带宽。
2.2 GWR中的帽子矩阵
帽子矩阵 S,也称为投影矩阵或影响矩阵,是一个 n x n 矩阵,它将响应值投影到拟合值上,使得
^ y ¼ Sy
并且在 GWR 中很重要,因为它需要计算有效参数数 (ENP)、模型诊断(例如 AICc)以及推断统计(例如局部标准误差和局部 t 值)。帽子矩阵 S 的每一行 i 由下式给出:
si ¼ xi XT WiX 1 XT Wi
因此,全帽矩阵 S 可以表示为
S¼ s1 … sn 0 @ 1 A¼ x1 XTW1X 1X T W1 … xn XTWnX 1X T Wn 0 @ 1 A n n
模型的 ENP 由下式给出
ENP ¼ tr S ðÞ
2.3 局部参数估计的标准误差
方程 (2) 中表示的校准 GWR 模型的参数估计也可以表示为响应变量 y 的函数,这样
βi 1⁄4 Ci y
Ci 1⁄4 XTWiX 1 XT Wi
此外,令 ^ σ2 为 Yu et al.(2018)a 定义的估计方差
^ σ2 1⁄4 P yi y ^i ð2 Þ n tr S ðÞ
然后,位置 i 处局部参数估计的方差由下式给出
Var ^ βi ¼ diag CiCiT ^
标准误差来自:
SE ^ βi ¼ sqrt var ^ βi h
因此所有参数估计的局部标准误差是
SE ^ β ¼ SE ^ β1 ; SE ^ β2 …SE ^ βn hT i n k
局部 t 值可以计算为
t¼ ^ β SE ^ β 0 @ 1 A n k
3. GWR 校准中的计算问题
3.1 时间
如上所述,大部分 GWR 校准例程涉及计算矩阵运算。对于矩阵乘法,n×m 矩阵乘以 m×k 矩阵的时间复杂度为 O(nmk),其中大 O 是描述算法效率上限的渐近符号。在计算等式(2)中的局部参数 ^ βi 时,两个最耗时的计算是计算 XT XiX 的 O(k2n) 和计算它的逆 XT WiX 1t 的帽子需要 O(k3) 其中 是观察的数量和k 是预测变量的数量。鉴于 k 通常远小于 n,计算 ^ βi 的时间复杂度为 O(k2n),并且这将在每个位置重复总共 n 次。因此,如果给定带宽,GWR 中用于校准参数表面的总时间复杂度为 O(k2n2)。如果使用黄金分割搜索寻找最优带宽,其时间复杂度接近log(n),带宽选择和模型校准的总时间复杂度为O(k2n2logn)。 Harris 等人 (2010) 和 Feuillet 等人 (2018) 都提到 GWR 随着观测数量的增长呈指数级增长。然而,鉴于 GWR 的时间复杂度为 O(k2n2logn) 的详细解释,它以准二次方式缩放,比指数缩放的算法更有效。
3.2 内存
尽管对每个校准位置进行重复计算会产生时间复杂性,但 GWR 校准中的主要瓶颈在于存储帽子矩阵和其他模型结果所产生的内存复杂性。假设 n = 100,000,每个数字都用 32 位浮点数表示,仅 n×n 的帽矩阵就需要 38GB 的内存,这已经超过或非常接近大多数台式机的极限。当前的开源 GWR 软件,例如 Python 空间分析库 (PySAL) 中基于 Python 的 MGWR 模块,或基于 R 的 GWmodel (Gollini et al. 2013) 和 spgwr (Bivand et al. 2017) 包,存储整个 n通过内存中的n个帽子矩阵。 Harris 等人 (2010) 提到了存储帽矩阵的内存要求,但没有报告解决方案。
4 提高 GWR 校准的计算效率
通常,GWR 校准分两步进行。第一步(第 4.1 节)涉及通过最小化模型诊断(例如 AICc)来找到最佳带宽。第二步(第 4.2 节)涉及局部参数估计、标准误差和 t 值的计算,以及一些基于最佳带宽的模型诊断。我们现在演示 FastGWR 如何能够在不存储整个帽矩阵的情况下执行这两个步骤,从而显着降低 O(n2) 到 O(nk) 的内存复杂性,并使校准过程对于非常大的数据集而言可访问且高效。
4.1 优化 AICc 计算以获得最佳带宽选择
考虑等式 (4) 中的 AICc 公式,它可以等效地表示为
AICc ¼ n ln RSS n tr S ðÞ þ nln 2π ðÞþn n þ tr S ðÞ n 2 tr S ðÞ
其中 RSS 是残差平方和,tr S ðÞ 是参数的有效个数。请注意,RSS 计算为
RSS ¼ n X i¼1 εi2 ¼ n X i¼1 yi y ^i ð2 Þ
其中 εi 是位置 i 处的残差,yi 和 y ^i 是位置 i 处因变量的观测值和拟合值,并且
y ^i ¼ xi ^ βi
其中 xi 是预测矩阵的第 i 行
y ^i ¼ xiCiy
其中
Ci ¼ XT WiX 1 XT Wi
由于用于计算 Ci 的特定于位置的距离权重 Wi 是一个只有对角线非零元素的稀疏矩阵,它也可以表示为一个密集的 1 n 行向量,使得
Wi ¼ wi1 wi2 … . win 0 BB@ 1 CCA n n ) wi ¼ wi1 … win ð 1 n
行向量 wi 可能具有不同程度的稀疏性,具体取决于所采用的带宽估计和空间内核。如果带宽较小且使用双方核,wi 可能会非常稀疏,因为远距离观测值将被加权为零。相反,如果使用大带宽,wi 可以是密集的,特别是对于非截断函数,例如高斯核。计算成本可能会根据 wi 的稀疏性而变化。
让
Pi ¼ XTWi ¼ x1T wi … xkT wi 0 @ 1 A k n
其中 xjT 是预测矩阵 X 的第 j 列的行向量,xjT wi 是维度为 1 n 的两个行向量的逐元素乘法。那么 Ci 可以在后续计算中用 Ci 代替,其中
Ci ¼ PiX ð Þ1Pi
局部平方残差 εi2 可以计算为
εi2 ¼ yi y ^i ð2¼ Þyi xiCi y ð2
下一步是计算等式 (8) 中表示的 GWR 参数的有效数量。更新等式 (7) 以使用 Ci (等式 23),帽子矩阵也可以等效地表示为
S¼ x1 C1 … xn Cn 0 @ 1 A¼ r11 r12 … r21 r22 … . . . r1n rn1 rnn 0 BB@ 1 CCA n n
设 rii 是对角线的第 i 个元素,可以直接计算为
rii ¼ xici
其中ci是方程(23)中Ci的第i列。然后 ENP 可以更有效地计算为帽子矩阵的对角线元素之和,使得
ENP ¼ n X i¼1 rii
而不是等式(8)中的那样。这是因为,对于 S 的每一行,我们只计算对角线上的元素而忽略对角线外的元素,因为它们不在跟踪运算符中使用。这样,我们不需要计算和存储整个帽子矩阵 S 来提取它的对角线元素。此外,在带宽选择中,目标是找到最小化 AICc 的带宽。因此,通过避免计算或存储校准例程的此步骤不必要的其他模型诊断(例如本地标准误差),可以获得进一步的计算节省。
总之,在给定预定义带宽的情况下,算法 1 总结了有效计算 AICc 的步骤。
如上所述,并行化是减少 GWR 模型校准计算时间的直接自然方式(Harris 等人,2010 年)。但是,为了更有效地获得并行化的好处,还必须考虑如何计算模型诊断。由于此处介绍的用于计算 ENP 的加法有助于并行化,RSS 的计算也是如此,因此可以更有效地并行化整个 GWR 校准。与涉及存储整个 n×n 帽子矩阵 S 的传统方法相比,该算法的内存开销减少了,因为最大的存储矩阵是预测变量的 n×k 设计矩阵,这只会导致适度的内存复杂度 O (kn)。
4.2 优化局部标准误差计算
一旦找到最佳带宽(例如通过黄金分割搜索),局部标准误差计算为
SE ^ βi ¼ sqrt diag Ci C i T ^ σ2 hi ¼ sqrt diag Ci C i T ^ σ
其中 Ci 来自等式 (23)。让
hi ¼ sqrt diag Ci Ci T
以便
SE ^ βi ¼ hi^ σ
其中
RSS 和 tr S ðÞ 可以分别由等式 (16) 和 (25) 计算得出
算法 2 总结了有效计算标准误差的算法的细节。
与 AICc 计算一样,局部标准误差计算也可以很容易地并行化,因为每个校准位置的回归独立于所有其他位置。上述算法的基本内存复杂度为O(kn),而基本时间复杂度为O(k2n2)。如果使用黄金分割搜索进行带宽选择,那么AICc计算的时间复杂度增加了O(logn),导致总时间复杂度为O(k2n2logn)
5 FastGWR:使用 Python 和 MPI 的并行实现
上述计算增强是在称为 FastGWR 的完全可并行化 GWR 算法中实现的。实施是使用 Python 执行的,Python 是一种高级开源编程语言。对于算法的并行化,我们使用消息传递接口 (MPI),这是一种促进并行计算架构的核心和节点之间通信的通用协议 (Gropp et al. 1996),在许多研究中已被广泛用于科学计算场(Schmidt et al. 2002, Neese 2012,Wuet al. 2013)。选择 MPI 而不是其他替代方案(例如 Hadoop 上的 MapReduce)的主要原因是基于 MPI 的程序可以在具有单个 CPU 和 HPC 集群的计算机上执行。有许多 MPI 实现可用,为了方便起见,我们使用了开源实现 OpenMPI1 (Gabriel et al. 2004)。我们还使用了一个名为 mpi4py2 (Dalcin et al., 2008) 的 MPI Python 包装器将 MPI 直接集成到 FastGWR 算法中。算法 3 中描述了 FastGWR 并行实现的摘要。
6 FastGWR 作为开源程序
运行 FastGWR 软件例程的脚本和源代码开发文档可通过 GitHub 获得。3 获得软件后,调用 FastGWR 程序的示例如下:
mpiexec – np 32 python fastgwr-mpi.py – data input.csv – out gwr.csv – a -bw 1000
其中 mpiexec 是执行基于 MPI 的程序的命令;参数——np 32 表示要分配的处理器数量; – data input.csv 是包含坐标和关联的因变量和自变量的输入数据表的名称; -out gwr.csv 是包含 GWR 输出的文件,其中包括每个校准位置的 ID、预测值、残差、局部参数估计和局部标准误差; -a (-f) 表示使用双方(高斯)自适应(固定)带宽; – bw 1000 表示用于校准 GWR 模型的用户定义带宽。如果未给出参数 – bw,程序将默认使用黄金分割搜索启发式算法和 AICc 选择标准来搜索最佳带宽,以校准 GWR 模型。由于 FastGWR 和 MGWR (PySAL) 都是用 Python 编写的,因此可以将 FastGWR 的优势集成到可以通过用户友好的命令行 API 或图形用户界面访问的 MGWR (PySAL) 实现中。但是,这留给以后的工作。
7.一个经验例子
7.1 数据和模型
7.2 测试环境及规范
7.3 结果
7.3.1 128 万房价观测值的 OLS 和 GWR 校准
7.3.2 FastGWR的可扩展性
7.3.3 FastGWR 与其他开源 GWR 软件在单个桌面上的计算时间比较
7.3.4 FastGWR 参数估计的验证
7.3.5 减少内存使用
8 结论
地理加权回归是一种局部建模技术,广泛应用于各种学科。然而,特定位置的校准过程使得 GWR 的计算量很大,这限制了它的应用仅限于中小型数据集。例如,当前的开源 GWR 软件只能处理最多约 15,000 个地理参考观测的数据集,因为此时的内存需求变得太大。为了允许 GWR 应用于更大的数据集,我们提出了 FastGWR 实现,它比当前软件有几个优势。首先,FastGWR 优化 GWR 校准例程中的线性代数以克服内存限制。结果,内存需求从 O(n2) 减少到 O(nk),其中 n 是观察的数量,k 是协变量的数量。鉴于在大多数 GWR 应用程序中 k 远小于 n,这种方法可以节省大量内存。例如,如果 n = 100,000 且 k = 10,则 n x k 矩阵仅需要 3.8MB 内存,而 n x n 矩阵需要 38GB。其次,FastGWR 引入了并行模型诊断计算程序,可显着减少 GWR 校准所需的计算时间,比现有实施快 1000 倍。此外,由于在并行框架中可以自然地利用这两个优势,因此 FastGWR 算法会随着可用内核的数量线性扩展。
为了证明 FastGWR 的实用性,我们使用基于 Zillow 数据集的享乐房价模型进行了一项实证研究,该数据集包含洛杉矶市 128 万个单户住宅物业。据我们所知,这是 GWR 模型首次针对超过一百万个位置进行校准(并且可能是此类模型首次针对超过 100,000 个位置进行校准)。使用 512 核计算集群,128 万个位置的带宽选择过程仅用了 4-5 小时,而使用已知带宽的参数估计校准和标准误差计算用了不到 10 分钟。此外,基于 10,000 个数据点的样本,FastGWR 比 MGWR(PySAL) 快约 12 倍,比 GWmodel 快约 160 倍,比 spgwr 快约 3400 倍,并且这些加速甚至随着观察值增加。
因此,FastGWR 可能使 GWR 在规模上不受限制并跨越大型研究区域,避免通过数据聚合或采样牺牲数据质量和分辨率。这其中的一个含义是,GWR 现在可以更轻松地应用于遥感数据或社交媒体数据,其中大量地理参考观测值越来越多。将 GWR 应用于超大型数据集的挑战不再是计算方面的,而是在可视化和解释领域——估计大量局部参数、相关标准误差、t 统计量等的能力。如何有效地解释模型结果提出了重要的新挑战。未来的工作还将侧重于将 FastGWR 中的原理扩展到最近开发的和计算量更大的多尺度 GWR(Fotheringham 等人,2017 年)。
总结一下,FastGWR的优点是:
-
它将 GWR 校准程序加快几个数量级,尤其是当数据量很大时。
-
它将内存复杂度从 O(n2) 降低到 O(nk),以允许单个桌面在合理的时间内对数万个观测值运行 GWR。
-
它是一种基于 Python 和 MPI 的开源、并行和可移植的实现,可以在桌面或 HPC 环境中使用。
-
它为将 GWR 应用于非常大的数据集开辟了机会,这在以前被认为是不可能的。
参考文献
- [1] Atkinson, P.M., et al., 2003. Exploring the relations between riverbank erosion and geomorphological controls using geographically weighted logistic regression. Geographical Analysis, 35 (1), 58–82. doi:10.1111/gean.2003.35.issue-1
- [2] Bivand, R., et al., 2017. Package ‘spgwr’. R Software Package.
- [3] Brown, S., et al., 2012. Assessment of spatiotemporal varying relationships between rainfall, land cover and surface water area using geographically weighted regression. Environmental Modeling & Assessment, 17 (3), 241–254. doi:10.1007/s10666-011-9289-8
- [4] Brunsdon, C., Fotheringham, A.S., and Charlton, M.E., 1996. Geographically weighted regression: a method for exploring spatial nonstationarity. Geographical Analysis, 28 (4), 281–298. doi:10.1111/j.1538-4632.1996.tb00936.x
- [5] Cahill, M. and Mulligan, G., 2007. Using geographically weighted regression to explore local crime patterns. Social Science Computer Review, 25 (2), 174–193. doi:10.1177/0894439307298925
- [6] Cardozo, O.D., García-Palomares, J.C., and Gutiérrez, J., 2012. Application of geographically weighted regression to the direct forecasting of transit ridership at station-level. Applied Geography, 34, 548–558. doi:10.1016/j.apgeog.2012.01.005
- [7] Da Silva, A.R. and Fotheringham, A.S., 2016. The multiple testing issue in geographically weighted regression. Geographical Analysis, 48 (3), 233–247. doi:10.1111/gean.2016.48.issue-3
- [8] Dalcín, L., et al., 2008. MPI for Python: performance improvements and MPI-2 extensions. Journal of Parallel and Distributed Computing, 68 (5), 655–662. doi:10.1016/j.jpdc.2007.09.005
- [9] Feuillet, T., et al., 2018. A massive geographically weighted regression model of walking-environment relationships. Journal of Transport Geography,68,118–129. doi:10.1016/j.jtrangeo.2018.03.002
- [10] Fotheringham, A.S., Brunsdon, C., and Charlton, M., 2002. Geographically weighted regression: the analysis of spatially varying relationships. New York: John Wiley & Sons.
- [11] Fotheringham, A.S., Charlton, M.E., and Brunsdon, C., 1996. The geography of parameter space: an investigation into spatial non-stationarity. International Journal of Geographic Information Systems, 10, 605–627. doi:10.1080/026937996137909
- [12] Fotheringham, A.S., Crespo, R., and Yao, J., 2015. Geographical and temporal weighted regression (GTWR). Geographical Analysis, 47 (4), 431–452. doi:10.1111/gean.2015.47.issue-4
- [13] Fotheringham, A.S., Yang, W., and Kang, W., 2017. Multiscale geographically weighted regression (MGWR). Annals of the American Association of Geographers, 107 (6), 1247–1265. doi:10.1080/ 24694452.2017.1352480
- [14] Gabriel, E., et al.(2004). Open MPI: goals, concept, and design of a next generation MPI implementation. In: D. Kranzlmüller, P. Kacsuk, J. Dongarra, eds. Recent Advances in Parallel Virtual Machine and Message Passing Interface,EuroPVM/MPI 2004. Lecture Notes in Computer Science, 3241. Berlin: Springer.
- [15] Gollini, I., et al. 2013. GWmodel: an R package for exploring spatial heterogeneity using geographically weighted models. arXiv preprint arXiv:1306.0413.
- [16] Griffith, D.A., 2008. Spatial-filtering-based contributions to a critique of geographically weighted regression (GWR). Environment and Planning A, 40 (11), 2751–2769. doi:10.1068/a38218
- [17] Gropp, W., et al., 1996. A high-performance, portable implementation of the MPI message passing interface standard. Parallel Computing, 22 (6), 789–828. doi:10.1016/0167-8191(96)00024-5
- [18] Harris, R., et al., 2010. Grid-enabling geographically weighted regression: a case study of participation in higher education in England. Transactions in GIS,14(1),43–61. doi:10.1111/tgis.2010.14.issue-1
- [19] McMillen D. P., McDonald, J. F. (2004). Locally Weighted Maximum Likelihood Estimation: Monte Carlo Evidence and an Application. In: L. Anselin, R. J. G. M. Florax, R. S.Jey, eds. Advances in Spatial Econometrics. Advances in Spatial Science. Berlin: Springer.
- [20] Neese, F., 2012. The ORCA program system. Wiley Interdisciplinary Reviews: Computational Molecular Science, 2 (1), 73–78.
- [21] Osborne, P.E. and Suárez-Seoane, S., 2002. Should data be partitioned spatially before building large-scale distribution models? Ecological Modelling, 157 (2–3), 249–259. doi:10.1016/S03043800(02)00198-9
- [22] Pozdnoukhov, A. and Kaiser, C., 2011. Scalable local regression for spatial analytics. In: Divyakant Agrawal, Isabel Cruz, Christian S. Jensen, Eyal Ofek, and Egemen Tanin, eds. Proceedings of the 19th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems (GIS '11), ACM, New York, NY, USA, 361–364. doi:10.1145/2093973.2094023
- [23] Schmidt, H.A., et al., 2002. TREE-PUZZLE: maximum likelihood phylogenetic analysis using quartets and parallel computing. Bioinformatics, 18 (3), 502–504.
- [24] Tran, H.T., Nguyen, H.T., and Tran, V.T., 2016. Large-scale geographically weighted regression on Spark. In: Knowledge and Systems Engineering (KSE), 2016 Eighth International Conference on, October. IEEE.,127–132. doi: 10.1177/1753193416669263
- [25] Wheeler, D.C., 2007. Diagnostic tools and a remedial method for collinearity in geographically weighted regression. Environment and Planning A, 39 (10), 2464–2481. doi:10.1068/a38325
- [26] Wheeler, D.C., 2009. Simultaneous coefficient penalization and model selection in geographically weighted regression: the geographically weighted lasso. Environment and Planning A, 41 (3), 722–742. doi:10.1068/a40256
- [27] Wolf, L.J., Oshan, T.M., and Fotheringham, A.S., 2018. Single and multiscale models of process spatial heterogeneity. Geographical Analysis, 50 (3), 223–246. doi:10.1111/gean.v50.3
- [28] Wu, Y., et al., 2013. Parallelization of a hydrological model using the message passing interface. Environmental Modelling & Software, 43, 124–132. doi:10.1016/j.envsoft.2013.02.002
- [29] Yu, D., 2007. Modeling owner-occupied single-family house values in the city of Milwaukee: a geographically weighted regression approach. GIScience & Remote Sensing, 44 (3), 267–282. doi:10.2747/1548-1603.44.3.267
- [30] Yu, H., et al., 2018. Inference in multi-scale geographically weighted regression. Open Science Framework. doi: osf.io/g4pbz
- [31] Zhang, J., 2010. Towards personal high-performance geospatial computing (HPC-G): perspectives and a case study. In: Proceedings of the ACM SIGSPATIAL international workshop on high performance and distributed geographic information systems. ACM, 3–10. doi: 10.1002/bit.22603