High-Dimensional Bayesian Geostatistics

With the growing capabilities of Geographic Information Systems (GIS) and user-friendly software, statisticians today routinely encounter geographically referenced data containing observations from a large number of spatial locations and time points. Over the last decade, hierarchical spatiotemporal process models have become widely deployed statistical tools for researchers to better understand the complex nature of spatial and temporal variability. However, fitting hierarchical spatiotemporal models often involves expensive matrix computations with complexity increasing in cubic order for the number of spatial locations and temporal points. This renders such models unfeasible for large data sets. This article offers a focused review of two methods for constructing well-defined highly scalable spatiotemporal stochastic processes. Both these processes can be used as"priors"for spatiotemporal random fields. The first approach constructs a low-rank process operating on a lower-dimensional subspace. The second approach constructs a Nearest-Neighbor Gaussian Process (NNGP) that ensures sparse precision matrices for its finite realizations. Both processes can be exploited as a scalable prior embedded within a rich hierarchical modeling framework to deliver full Bayesian inference. These approaches can be described as model-based solutions for big spatiotemporal datasets. The models ensure that the algorithmic complexity has $\sim n$ floating point operations (flops), where $n$ the number of spatial locations (per iteration). We compare these methods and provide some insight into their methodological underpinnings.


Introduction
The increased availability of inexpensive, high speed computing has enabled the collection of massive amounts of spatial and spatiotemporal datasets across many fields. This has resulted in widespread deployment of sophisticated Geographic Information Systems (GIS) and related software, and the ability to investigate challenging inferential questions related to geographically-referenced data. See, for example, the books by Cressie (1993), Stein (1999), Moller and Waagepetersen (2003), Schabenberger and Gotway (2004), Gelfand et al. (2010), Cressie and Wikle (2011) and Banerjee et al. (2014) for a variety of statistical methods and applications.
This article will focus only on point-referenced data, which refers to data referenced by points with coordinates (latitude-longitude, Easting-Northing etc.). Modeling typically proceeds from a spatial or spatiotemporal process that introduces dependence among any finite collection of random variables from an underlying random field. For our purposes, we will consider the stochastic process as an uncountable set of random variables, say {w( ) : ∈ L}, over a domain of interest L, which is endowed with a probability law specifying the joint distribution for any finite sample from that set. For example, in spatial modeling L is often assumed to be a subset of points in the Euclidean space d (usually d = 2 or 3) or, perhaps, a set of geographic coordinates over a sphere or ellipsoid. In spatiotemporal settings L = S × T , where S ⊂ d is the spatial region, T ⊂ [0, ∞) is the time domain and = (s, t) is a space-time coordinate with spatial location s ∈ S and time point t ∈ T (see, e.g., Gneiting and Guttorp, 2010, for details).
Such processes are specified with a covariance function K θ ( , ) that gives the covariance between w( ) and w( ) for any two points and in L. For any finite collection U = { 1 , 2 , . . . , n } in L, let w U = (w( 1 ), w( 2 ), . . . , w( n )) be the realizations of the process over U. Also, for two finite sets U and V containing n and m points in L, respectively, we define the n × m matrix K θ (U, V) = Cov(w U , w V | θ), where the covariances are evaluated using K θ (·, ·). When U or V contains a single point, K θ (U, V) is a row or column vector, respectively. A valid spatiotemporal covariance function ensures that K θ (U, U) is positive definite for any finite set U. In geostatistics, we usually deal with a fixed set of points U and, if the context is clear, we write K θ (U, U) simply as K θ . A popular specification assumes {w( ) : ∈ L} is a zerocentered Gaussian process written as w( ) ∼ GP (0, K θ (·, ·)), which implies that the n × 1 vector w = (w( 1 ), w( 2 ) . . . , w( n )) is distributed as N (0, K θ ), where K θ is the n × n covariance matrix with (i, j)-th element K θ ( i , j ). Various characterizations and classes of valid spatial (and spatiotemporal) covariance functions can be found in Gneiting and Guttorp (2010), Cressie (1993), Stein (1999), Gelfand et al. (2010), Cressie and Wikle (2011) and Banerjee et al. (2014) and numerous references therein. The more common assumptions are of stationarity and isotropy. The former assumes that K θ ( , ) = K θ ( − ) depends upon the coordinates only through their separation vector, while isotropy goes a step further and assumes the covariance is a function of the distance between them.
Spatial and spatiotemporal processes are conveniently embedded within Bayesian hierarchical models. The most common geostatistical setting assumes a response or dependent variable y( ) observed at a generic point along with a p × 1 (p < n) vector of spatially referenced predictors x( ). Model-based geostatistical data analysis customarily envisions a spatial regression model, where β is the p × 1 vector of slopes, and the residual from the regression is the sum of a spatial or spatiotemporal process, w( ) ∼ GP (0, K θ (·, ·)) capturing spatial and/or temporal association, and an independent process, ( ) modeling measurement error or fine scale variation attributed to disturbances at distances smaller than the minimum observed separations in space and time. A Bayesian spatial model can now be constructed from (1) as where y = (y( 1 ), y( 2 ), . . . , y( n )) is the n × 1 vector of observed outcomes, X is the n × p matrix of regressors with i-th row x ( i ) and the noise covariance matrix D(τ ) represents measurement error or micro-scale variation and depends upon a set of variance parameters τ . A common specification is D τ = τ 2 I n , where τ 2 is called the "nugget." The hierarchy is completed by assigning prior distributions to β, θ and τ .
Bayesian inference can proceed by sampling from the joint posterior density in (2) using, for example, Markov chain Monte Carlo (MCMC) methods (see, e.g., Robert and Casella, 2004). A major computational bottleneck emerges from the size of K θ in computing (2). Since θ is unknown, each iteration of the model fitting algorithm will involve decomposing or factorizing K θ , which typically requires ∼ n 3 floating point operations (flops). Memory requirements are of the order ∼ n 2 . These become prohibitive for large values of n when K θ has no exploitable structure. Evidently, multivariate process settings, where y( ) is a q × 1 vector of outcomes, exacerbate the computational burden by a factor of q. For Gaussian likelihoods, one can integrate out the random effects w from (2). This reduces the parameter space to {τ 2 , θ, β}, but one still needs to work with K θ + τ 2 I n , which is again n × n. These settings are referred to as "big-n" or "highdimensional" problems in geostatistics and are widely encountered in environmental sciences today.
As modern data technologies are acquiring and exploiting massive amounts of spatiotemporal data, modeling and inference for large spatiotemporal datasets are receiving increased attention. In fact, it is impossible to provide a comprehensive review of all existing methods for geostatistical models for massive spatial data sets; Sun et al. (2011) offer an excellent review for a number of methods for high-dimensional geostatistics. The ideas at the core of fitting models for large spatial and spatiotemporal data concern effectively solving positive definite linear systems such as Ax = b, where A is a covariance matrix. Thus one can use probability models to build computationally efficient covariance matrices. One approach is to approximate or model A with a covariance structure that can significantly reduce the computational burden. An alternative is to model A −1 itself with an exploitable structure so that the solution A −1 b is available without computing the inverse. For full Bayesian inference, one also needs to ensure that the determinant of A is available easily.
We remark that when inferring about stochastic processes, it is also possible to work in the spectral domain. This rich, and theoretically attractive, option has been advocated by Stein (1999) and Fuentes (2007) and completely avoids expensive matrix computations. The underlying idea is to transform to the space of frequencies, construct a periodogram (an estimate of the spectral density), and exploit the Whittle likelihood (see, e.g., Whittle, 1954;Guyon, 1995) in the spectral domain as an approximation to the data likelihood in the original domain. The Whittle likelihood requires no matrix inversion so, as a result, computation is very rapid. In principle, inversion back to the original space is straightforward. However, there are practical impediments. First, there is discretization to implement a fast Fourier transform whose performance can be tricky over large irregular domains. Predictive inference at arbitrary locations also will not be straightforward. Other issues include arbitrariness to the development of a periodogram. Empirical experience is employed to suggest how many low frequencies should be discarded. Also, there is concern regarding the performance of the Whittle likelihood as an approximation to the exact likelihood. While this approximation is reasonably well centered, it does an unsatisfactory job in the tails (thus leading to poor estimation of model variances). Lastly, modeling non-Gaussian first stages will entail unobservable random spatial effects, making the implementation impossible. In summary, use of the spectral domain with regard to handling large n, while theoretically attractive, has limited applicability. Broadly speaking, model-based approaches for large spatial datasets proceeds from either exploiting "low-rank" models or exploiting "sparsity". The former attempts to construct Gaussian processes on a lower-dimensional subspace (see, e.g., Wikle and Cressie, 1999;Higdon, 2002a;Kammann and Wand, 2003;Quinoñero and Rasmussen, 2005;Stein, 2007;Gramacy and Lee, 2008;Stein, 2008;Cressie and Johannesson, 2008;Banerjee et al., 2008;Crainiceanu et al., 2008;Sansó et al., 2008;Finley et al., 2009a;Lemos and Sansó, 2009;Cressie et al., 2010) in spatial, spatiotemporal and more general Gaussian process regression settings. Sparse approaches include covariance tapering (see, e.g., Furrer et al., 2006;Kaufman et al., 2008;Du et al., 2009;Shaby and Ruppert, 2012) using compactly supported covariance functions. This is effective for parameter estimation and interpolation of the response ("kriging"), but it has not been fully evaluated for fully Bayesian inference on residual or latent processes. Introducing sparsity in K −1 θ is prevalent in approximating Gaussian process likelihoods using Markov random fields (e.g., Rue and Held, 2005), products of lower dimensional conditional distributions (Vecchia, 1988(Vecchia, , 1992Stein et al., 2004), or composite likelihoods (e.g., Bevilacqua and Gaetan, 2014;Eidsvik et al., 2014).
This article aims to provide a focused review of some massively scalable Bayesian hierarchical models for spatiotemporal data. The aim is not to provide a comprehensive review of all existing methods. Instead, we focus upon two fully model-based approaches that can be easily embedded within hierarchical models and deliver full Bayesian inference. These are low-rank processes and sparsity-inducing processes. Both these processes can be used as "priors" for spatiotemporal random fields. Here is a brief outline of the paper. Section 2 discusses a Bayesian hierarchical framework for low-rank models and their implementation. Section 3 discusses some recent developments in sparsityinducing Gaussian processes, especially nearest-neighbor Gaussian processes, and their implementation. Finally, Section 4 provides a brief account of outstanding issues for future research.

Hierarchical low-rank models
A popular way of dealing with large spatial datasets is to devise models that bring about dimension reduction (Wikle and Cressie, 1999). A low rank or reduced rank specification is typically based upon a representation or approximation in terms of the realizations of some latent process over a smaller set of points, often referred to as knots. To be precise, where z( ) is a well-defined process and b θ (s, s ) is a family of basis functions possibly depending upon some parameters θ. The collection of r locations { * 1 , * 2 , . . . , * r } are the knots, b θ ( ) and z are r ×1 vectors with components b θ ( , * j ) and z( * j ), respectively. For any collection of n points, the n×1 vectorw = (w( 1 ),w( 2 ), . . . ,w( n )) is represented . Irrespective of how big n is, we now have to work with the r (instead of n) z( * j )'s and the n × r matrix B θ . Since we anticipate r << n, the consequential dimension reduction is evident and, since we will write the model in terms of the z's (with thew's being deterministic from the z's, given b θ (·, ·)), the associated matrices we work with will be r × r. Evidently,w( ) as defined in (3) spans only an r-dimensional space. When n > r, the joint distribution of w is singular. However, we do create a valid stochastic process with covariance function where V z is the variance-covariance matrix (also depends upon parameter θ) for z. From (4), we see that, even if b θ (·, ·) is stationary, the induced covariance function is not. If the z's are Gaussian, thenw( ) is a Gaussian process. Every choice of basis functions yields a process and there are too many choices to enumerate here. Wikle (2010) offers an excellent overview of low rank models.
Different families of spatial models emerge from different specifications for the process z( ) and the basis functions b θ ( , ). In fact, (3) can be used to construct classes of rich and flexible processes. Furthermore, such constructions need not be restricted to low rank models. If dimension reduction is not a concern, then full rank models can be constructed by taking r = n basis functions in (3). A very popular specification for z( ) is a white noise process so that z ∼ N (0, σ 2 I n ), whereupon (4) simplifies to σ 2 b θ ( ) b θ ( ). A natural choice for the basis functions is a kernel function, say b θ ( , ) = K θ ( − ), which puts more weight on near . Variants of this form have been called "moving average" models and explored by Barry and Ver Hoef (1996), while the term "kernel convolution" has been used in a series of papers by Higdon and collaborators (Higdon, 1998;Higdon et al., 1999;Higdon, 2002b) to not only achieve dimension reduction, but also model nonstationary and multivariate spatial processes. The kernel (which induces a parametric covariance function) can depend upon parameters and might even be spatially varying (Higdon, 2002b;Paciorek and Schervish, 2006). Sansó et al. (2008) use discrete kernel convolutions of independent processes to construct two different class of computationally efficient spatiotemporal processes.
Some choices of basis functions can be more computationally efficient than others depending upon the specific application. For example, Cressie and Johannesson (2008) (also see Shi and Cressie (2007)) discuss "Fixed Rank Kriging" (FRK) by constructing B θ using very flexible families of non-stationary covariance functions to carry out high-dimensional kriging, Cressie et al. (2010) extend FRK to spatiotemporal settings calling the procedure "Fixed Rank Filtering" (FRF), Katzfuss and Cressie (2012) provide efficient constructions for B θ for massive spatiotemporal datasets, and Katzfuss (2013) uses spatial basis functions to capture medium to long range dependence and tapers the residual w( ) −w( ) to capture fine scale dependence. Multiresolution basis functions (see, e.g., Nychka et al., 2002Nychka et al., , 2015 have been shown to be effective in building computationally efficient nonstationary models. These papers amply demonstrate the versatility of low-rank approaches using different basis functions. A different approach is to specify the z( ) as a spatial process model having a selected covariance function. This process is called the parent process and one can derive a low-rank processw( ) from the parent process. For example, one could use the Karhunen-Loeve (infinite) basis expansion for a Gaussian process (see, e.g., Rasmussen and Williams, 2005;Banerjee et al., 2014) and truncate it to a finite number of terms to obtain a low-rank process. Another example is to project the realizations of the parent process onto a lower-dimensional subspace, which yields the predictive process and its variants; see Section 2.2 for details.
The idea underlying low-rank dimension reduction is not dissimilar to Bayesian linear regression. For example, consider a simplified version of the hierarchical model in (2), where β = 0 and the process parameters {θ, τ } are fixed. A low rank version of (2) is obtained by replacing w with B θ z, so the joint distribution is where y is n×1, z is r×1, D τ and V z are positive definite matrices of sizes n×n and r×r, respectively, and B θ is n × r. The low rank specification is accommodated using B θ z and the prior on z, while D τ (usually diagonal) has the residual variance components. By computing the marginal covariance matrix var{y} in two ways (Lindley and Smith, 1972), one arrives at the well-known Sherman-Woodbury-Morrison formula The above formula reveals dimension reduction in terms of the marginal covariance matrix for y. If D τ is easily invertible (e.g., diagonal), then the inverse of an n × n covariance matrix of the form D τ + B θ V z B θ can be computed efficiently using the right-hand-side which only involves inverses of r × r matrices and D −1 τ . A companion formula for (6) is that for the determinant, which shows that the determinant of the n × n matrix can be computed as a product of the determinants of two r × r matrices and that of D τ .
In practical Bayesian computations, however, it is less efficient to directly use the formulas in (6) and (7). Since both the inverse and the determinant are needed, it is more useful to compute the Cholesky decomposition of the covariance matrix. In fact, one can avoid (6) completely and resort to a common trick in hierarchical models (see, e.g., Gelman et al., 2013) and smoothed analysis of variance (Hodges, 2013) that expresses (5) as the linear model V 1/2 z and D 1/2 τ are matrix square roots of V z and D τ , respectively. For example, in practice D τ is diagonal so D 1/2 τ is simply the square root of the diagonal elements of D τ , while V 1/2 z is the triangular (upper or lower) Cholesky factor of the r × r matrix V z . The marginal density of p(y * | θ, τ ) after integrating out z now corresponds to the linear model y * = B * ẑ + e * , whereẑ is the ordinary least-square estimate of z. Such computations are easily conducted in statistical programming environments such as R by applying the chol function to obtain the Cholesky factor V 1/2 z , a backsolve function to efficiently obtain V −1/2 z z in constructing (8), and an lm function to compute the least squares estimate of z using the QR decomposition of the design matrix B * . We discuss implementation of low rank hierarchical models in a more general contexts in Section 2.3.

Biases in low-rank models
Irrespective of the precise specifications, low-rank models tend to underestimate uncertainty (since they are driven by a finite number of random variables), hence, overestimate the residual variance (i.e., the nugget). Put differently, this arises from systemic over-smoothing or model under-specification by the low-rank model when compared to the parent model. For example, if w( ) =w( ) + η( ), where w( ) is the parent process andw( ) is a low-rank approximation, then ignoring the residual η( ) = w( ) −w( ) can result in loss of uncertainty and oversmoothing. In settings where the spatial signal is weak compared to the noise, such biases will be less pronounced. Also, it is conceivable that in certain specific case studies proper choices of basis functions (e.g., multiresolution basis functions) will be able to capture much of the spatial behavior and the effect of the bias will be mitigated. However, in general it will be preferable to develop models that will be able to compensate for the overestimation of the nugget. This phenomenon, in fact, is not dissimilar to what is seen in linear regression models and is especially transparent from writing the parent likelihood and low-rank likelihood as mixed linear models. To elucidate, suppose, without much loss of generality, that U is a set with n points of which the first r act as the knots. Let us write the Gaussian likelihood with the parent process as N (y | Bu, τ 2 I), where B is the n×n lower-triangular Cholesky factor of K θ (B = B θ depends on θ, but we suppress this here) and u = where B 1 has r < n columns, suppose we derive a low-rank model by truncating to only the first r basis functions. The corresponding likelihood is N (y | B 1ũ1 , τ 2 I), whereũ 1 is an r × 1 vector whose components are independently and identically distributed N (0, 1) variables. Customary linear model calculations reveal that the magnitude of the residual vector from the parent model is given by y (I − P B )y, while that from the low-rank model is given by y (I − P B1 )y, where P A denotes the orthogonal projector matrix onto the column space of any matrix A. Using the fact that P B = P B1 + P [(I−P B 1 )B2] , which is a standard result in linear model theory, we find the excess residual variability in the low-rank likelihood is summarized by y P [(I−P B 1 )B2] y which can be substantial when r is much smaller than n.
In practical data analysis, the above phenomenon is usually manifested by an overestimation of the nugget variance as it absorbs the residual variation from the lowrank approximation. Consider the following simple experiment. We simulated a spatial dataset using the spatial regression model in (1) with n = 200 fixed spatial locations, say Figure 1: 95% credible intervals for the nugget for 40 different low-rank radial-basis models with knots varying between 5 and 200 in steps of 5. The horizontal line at τ 2 = 5 denotes the true value of τ 2 with which the data was simulated.
{ 1 , 2 , . . . , n }, within the unit square, and setting β = 0, with σ 2 = 5 and φ = 9. We then fit the low rank model (5) with D = τ 2 I n×n , V = I r×r , and B as the n × r matrix with i-th is the inverse of the lower-triangular Cholesky factor of the r×r matrix with elements K θ ( * i , * j ). This emerges from using low-rank radial basis functions in (3); (see, e.g., Ruppert and Carroll, 2003). We fit 40 such models increasing r from 5 to 200 in steps of 5. Figure 1 presents the 95% posterior credible intervals for τ 2 . Even with r = 175 knots for a dataset with just 200 spatial locations, the estimate of the nugget was significantly different from the true value of the parameter. This indicates that low rank processes may be unable to accurately estimate the nugget from the true process. Also, they will likely produce oversmoothed interpolated maps of the underlying spatial process and impair predictive performance. As one specific example, Table 4 in Banerjee et al. (2008) report less than optimal posterior predictive coverage from a predictive process model (see Section 2.2) with over 500 knots for a dataset comprising 15,000 locations.
Although this excess residual variability can be quantified as above (for any given value of the covariance parameters θ), it is less clear how the low-rank likelihood could be modified to compensate for this oversmoothing without adding significantly to the computational burden. Matters are complicated by the fact that expressions for the excess variability will involve the unknown process parameters θ, which must be estimated. In fact, not all low-rank models deliver a straightforward quantification for this bias.
For instance, low-rank models based upon kernel convolutions approximate w( ) with is some kernel function and u j iid ∼ N (0, 1), assumed to arise from a Brownian motion U (ω) on 2 . The difference w( ) − w KC ( ) does not, in general, render a closed form and may be difficult to approximate efficiently.

Predictive process models and variants
One particular class of low-rank processes have been especially useful in providing easy tractability to the residual process. Let w( ) ∼ GP (0, K θ (·, ·)) and let w * be the r × 1 vector of w( * j )'s over a set U * of r knots. The usual spatial interpolant (that leads to "kriging") at an arbitrary site is This single site interpolator, in fact, is a well-defined processw We refer tow( ) as the predictive process derived from the parent process w( ). The realizations ofw( ) are precisely the kriged predictions conditional upon a realization of w( ) over U * . The process is completely specified given the covariance function of the parent process and the set of knots, U * . The corresponding basis functions in (3) . These methods have are referred to as subset of regressors in Gaussian process regressions for large data sets in machine learning (Quinoñero and Rasmussen, 2005;Rasmussen and Williams, 2005). Banerjee et al. (2008) coined the term predictive process (as the process could be derived from kriging equations) and developed classes of scalable Bayesian hierarchical spatial process models by replacing the parent process with its predictive process counterpart. An alternate derivation is available by truncating the Karhunen-Loeve (infinite) basis expansion for a Gaussian process to a finite number of terms and solving (approximately) the integral eigensystem equation for K θ ( , ) by an approximate linear system over the set of knots (see, e.g., Rasmussen and Williams, 2005;Sang and Huang, 2012;Banerjee et al., 2014).
Perhaps the simplest way to remedy the bias in the predictive process is to approximate the residual process η( ) with a heteroskedastic process˜ ( ) ind ∼ N (0, δ 2 ( )). We construct a modified or bias-adjusted predictive process as where˜ ( ) is independent ofw( ). It is easy to see that var{w ( )} = var{w( )}, so the variance of the two processes are the same. Also, the remedy is computationally efficient -adding an independent space-varying nugget does not incur substantial computational expense. Finley et al. (2009b) offer computational details for the modified predictive process, while Banerjee et al. (2010) show the effectiveness of the bias adjustment in mitigating the effect exhibited in Figure 1 and in estimating multiple variance components in the presence of different structured random effects.
We present a brief simulation example revealing the benefits of the modified predictive process. We generate 2000 locations within a [0, 100] × [0, 100] square and then generate the outcomes from (1) using only an intercept as the regressor, an exponential covariance function with range parameter φ = 0.06 (i.e., such that the spatial correlation is ∼ 0.05 at 50 distance units), scale σ 2 = 1 for the spatial process, and with nugget variance τ 2 = 1. We then fit the predictive process and modified predictive process models derived from (1) using a hold out set of randomly selected sites, along with a separate set of regular lattices for the knots (m = 49, 144 and 900). Table 1 shows the posterior estimates and the square roots of mean squared predictive error (RMSPE) based on the predictions for the hold-out data. We clearly see the overestimation of τ 2 by the predictive process and that the modified predictive process is able to adjust for the τ 2 . Not surprisingly, the RMSPE is essentially the same under either process model.
Further enhancements to the modified predictive process are possible. Since the modified predictive process adjusts only the variance, information in the covariance induced by the residual process η( ) is lost. One alternative is to use the so called "full scale approximation" proposed by Sang et al. (2011) and Sang and Huang (2012), where η( ) is approximated by a tapered process, say η tap ( ). The covariance function (11) and K tap,ν ( − ) is a compactly supported covariance function that equals 0 beyond a distance ν (see, e.g., Furrer et al., 2006, for some practical choices.). This full scale approximation is also able to more effectively capture small scale dependence. Katzfuss (2013) extended some of these ideas by modeling the spatial error as a combination of a low-rank component designed to capture medium to long-range dependence and a tapered component to capture local dependence.
Perhaps the most promising use of the predictive process, at least in terms of scalability to massive spatial datasets, is the recent multiresolution approximation proposed by Katzfuss (2017). Instead of approximating the residual process η( ) in one step, the idea here is to partition the spatial domain recursively and construct a sequence of approximations. We start by partitioning the domain of interest L into J non-intersecting subregions, say L 1 , L 2 , . . . , L J , such that L = ∪ J j=1 L j . We call the L j 's level-1 subregions. We fix a set of knots in L and write the parent process as w( ) =w( ) + η( ), wherew( ) is the predictive process as in (9) and η( ) is the residual Gaussian process with covariance function given by (11). At resolution 1, we replace η( ) with a blockindependent process η 1 ( ) such that Cov{η 1 ( ), η 1 ( )} = 0 if and are not in the same subregion and is equal to (11) if and are in the same subregion.
At the second resolution, each L j is partitioned into a set of disjoint subregions L j1 , L j2 , . . . , L jm . We call these the level-2 subregions and choose a set of knots within each. We approximate η 1 ( ) ≈η 1 ( )+η 2 ( ), whereη 1 ( ) is the predictive process derived from η 1 ( ) using the knots in L j if ∈ L j and η 2 ( ) is the analogous block-independent approximation across the subregions within each L j . Thus, Cov{η 2 ( ), η 2 ( )} = 0 if and are not in the same level-2 subregion and will equal Cov{η 1 ( ), η 1 ( )} when and are in the same level-2 subregion. At resolution 3 we partition each of the level-2 subregions into level-3 subregions and continue the approximation of the residual process from the predictive process. At the end of M resolutions, we arrive at the mult-resolution predictive processw M ( ) =w( )+ M −1 i=1η i ( )+η M ( ), which, by construction, is a valid Gaussian process. The computational complexity with the multi-resolution predictive process is ∼ O(nM 2 r 2 ), where M is the number of resolutions and r is the number of knots chosen within each subregion.
To summarize, we do not recommend the use of just a reduced/low rank model. To improve performance, it is necessary to approximate the residual process and, in this regard, the predictive process is especially attractive since the residual process is available explicitly.

Bayesian implementation for low-rank models
A very rich and flexible class of spatial and spatiotemporal models emerge from the hierarchical linear mixed model where y is an n × 1 vector of possibly irregularly located observations, X is a known n × p matrix of regressors (p < n), V u,θ and D τ are families of r × r and n × n covariance matrices depending on unknown process parameters θ and τ , respectively, and B θ is n × r with r ≤ n. The low-rank models in (3) emerge when r << n and B θ is the matrix obtained by evaluating the basis functions. Proper prior distributions p(θ) and p(τ ) for θ and τ , respectively, complete the hierarchical specification.
Bayesian inference proceeds, customarily, by sampling {β, z, θ, τ } from (13) using Markov chain Monte Carlo (MCMC) methods. For faster convergence, we integrate out z from the model and first sample from Working directly with Σ y | θ,τ will be expensive. Usually D τ is diagonal or sparse, so the expense is incurred from the matrix B θ V z,θ B θ . Assuming that B θ and V z,u are computationally inexpensive to construct for each θ and τ , B θ V z,θ B θ requires ∼ O(rn 2 ) flops. Using the Sherman-Woodbury-Morrison formula in (6) will avoid constructing B θ V z,θ B θ or inverting any n×n matrix. However, in practice it is better to not directly compute the right hand side of (6) as it involves some redundant matrix multiplications. Furthermore, we wish to obtain the determinant of Σ y | θ,τ cheaply. These are efficiently accomplished as outlined below.
The primary computational bottleneck lies in evaluating the multivariate Gaussian likelihood N (y | Xβ, Σ y | θ,τ ) which is required for updating the parameters {θ, τ } (e.g., using random-walk Metropolis or Hamiltonian Monte Carlo steps). We can accomplish this effectively using two functions: L = chol(V ) which computes the Cholesky factorization for any positive definite matrix V = LL , where L is lower-triangular, and W = trsolve(T, B) which solves the triangular system T W = B for a triangular (lower or upper) matrix T . We first compute where H is obtained by first computing W = D −1/2 B θ , then the Cholesky factorization L = chol(V −1 z,θ + W W ), and finally solve the triangular system H = trsolve(L, W ). Having obtained H, we compute e = y − Xβ, m 1 = D −1/2 e, m 2 = Hm 1 , and obtain T = chol(I r − HH ). The log-target density for {θ, τ } is then computed as where d ii 's and t ii 's are the diagonal elements of D τ and T , respectively. The total number of flops required for evaluating the target is O(nr 2 + r 3 ) ≈ O(nr 2 ) (since r << n) which is considerably cheaper than the O(n 3 ) flops that would have been required for the analogous computations in a full Gaussian process model. In practice, Gaussian proposal distributions are employed for the Metropolis algorithm and all parameters with positive support are transformed to their logarithmic scale. Therefore, the necessary Jacobian adjustments are made to (15) by adding some scalar quantities with negligible computational costs.
We repeat the above computations for each iteration of the MCMC algorithm using the current values of the process parameters in Σ y . The algorithm described above will produce, after convergence, posterior samples for Ω = {θ, τ, β}. We then sample from the posterior distribution . For each Ω drawn from p(Ω | y) we will need to draw a corresponding z from N (z | Aa, A). This will involve chol(A). Since the number of knots r is usually fixed at a value much smaller than n, obtaining chol(A) is ∼ O(r 3 ) and not as expensive. However, it will involve the inverse of V z,θ , which is computed using chol(V z,θ ) and can be numerically unstable for certain smoother covariance functions such as the Gaussian or the Matérn with large ν. A numerically more stable algorithm exploits the relation For each Ω sampled from p(Ω | y), we compute L = chol(V z,θ + Q), W = trsolve(L, Q) and L = Q−W W . We generate an r ×1 vector Z * ∼ N (0, I r ) and set z = L(Z * + L a). Repeating this for each Ω drawn from p(Ω | y) produces a sample of z's from p(z | y).
Finally, we seek predictive inference for y( 0 ) at any arbitrary space-time coordinate 0 . Given x ( 0 ), we draw y( 0 ) ∼ N x ( 0 )β + b θ ( 0 )z, τ 2 for every posterior sample of Ω and z. This yields the corresponding posterior predictive samples for z( 0 ) and y( 0 ). Posterior predictive samples of the latent processes can also be easily computed as z( 0 ) = b θ ( 0 )z for each posterior sample of the z and θ. Posterior predictive distributions at any of the observed i 's yield replicated data (see, e.g., Gelman et al., 2013) that can be used for model assessment and comparisons. Finley et al. (2015) provide more extensive implementation details for models such as (13) in the context of the spBayes package in R.

Sparsity-inducing nearest-neighbor Gaussian processes
Low-rank models have been, and continue to be, widely employed for analyzing spatial and spatiotemporal data. The algorithmic cost for fitting low-rank models typically decrease from O(n 3 ) to O(nr 2 + r 3 ) ≈ O(nr 2 ) flops since n >> r. However, when n is large, empirical investigations suggest that r must be fairly large to adequately approximate the parent process and the nr 2 flops become exorbitant. Furthermore, low-rank models can perform poorly depending upon the smoothness of the underlying process or when neighboring observations are strongly correlated and the spatial signal dominates the noise (Stein, 2014).
As an example, consider part of the simulation experiment presented in Datta et al. (2016a), where a spatial random field was generated over a unit square using a Gaussian process with fixed spatial process parameters over a set of 2500 locations. We then fit a full Gaussian process model and a predictive process model with 64 knots. Figure 2 presents the results (see, e.g., Datta et al., 2016a, for details.) While the estimated random field from the full Gaussian process is almost indistinguishable from the true random field, the surface obtained from the predictive process with 64 locations substantially oversmooths. This oversmoothing can be ameliorated by using a larger number of knots, but that adds to the computational burden. Figure 2: Comparing estimates of a simulated random field using a full Gaussian Process (Full GP) and a Gaussian Predictive process (PPGP) with 64 knots. The oversmoothing by the low-rank predictive process is evident. Figure 2 serves to reinforce findings that low-rank models may be limited in their ability to produce accurate representation of the underlying process at massive scales. They will need a considerably larger number of basis functions to capture the features of the process and will require substantial computational resources for emulating results from a full GP. As the demands for analyzing large spatial datasets increase from the order of ∼ 10 4 to ∼ 10 6 locations, low-rank models may struggle to deliver acceptable inference. In this regard, enhancements such as the multi-resolution predictive process approximations referred to in Section 2.2 are highly promising.
An alternative is to develop full rank models that can exploit sparsity. Instead of deriving basis approximations for w, one could achieve computational gains by modeling either its covariance function or its inverse as sparse. Covariance tapering does the former by modeling var{w} = K θ K tap,ν , where K tap,ν is a sparse covariance matrix formed from a compactly supported, or tapered, covariance function with tapering parameter ν and denotes the element wise (or Hadamard) product of two matrices. The Hadamard product of two positive definite matrices is again a positive definite matrix, so K θ K tap,ν is positive definite. Furthermore, K tap,ν is sparse because a tapered covariance function is equal to 0 for all pairs of locations separated by a distance beyond a threshold ν. We refer the reader to Furrer et al. (2006), Kaufman et al. (2008) and Du et al. (2009) for further computational and theoretical details on covariance tapering. Covariance tapering is undoubtedly an attractive approach for constructing sparse covariance matrices, but its practical implementation for full Bayesian inference will generally require efficient sparse Cholesky decompositions, numerically stable determinant computations and, perhaps most importantly, effective memory management. These issues are yet to be tested for truly massive spatiotemporal datasets with n ∼ 10 5 or more.
Another way to exploit sparsity is to model the inverse of var{w} as a sparse matrix. For finite-dimensional distributions conditional and simultaneous autoregressive (CAR and SAR) models (see, e.g., Cressie, 1993;Banerjee et al., 2014, and references therein) adopt this approach for areally referenced datasets. More generally, Gaussian Markov random fields or GMRFs (see, e.g., Rue and Held, 2005) are widely used tools for constructing sparse precision matrices and have led to computational algorithms such as the Integrated Nested Laplace Approximation (INLA) developed by Rue et al. (2009). A subsequent article by Lindgren et al. (2011) show how Gaussian processes can be approximated by GMRFs using computationally efficient sparse representations. Thus, a Gaussian process model with a dense covariance function is approximated by a GMRF with a sparse precision matrix. The approach is very computationally efficient for certain classes of covariance functions generated by a certain class of stochastic partial differential equations (including the versatile Matérn class), but their inferential performance on unobservable spatial, spatiotemporal or multivariate Gaussian processes (perhaps specified through more general covariance or cross-covariance functions) embedded within Bayesian hierarchical models is yet to be assessed.
Rather than working with approximations to the process, one could also construct massively scalable sparsity-inducing Gaussian processes that can be conveniently embedded within Bayesian hierarchical models and deliver full Bayesian inference for random fields at arbitrary resolutions. Section 3.1 describes how sparsity is introduced in the precision matrices for graphical Gaussian models by exploiting the relationship between the Cholesky decomposition of a positive definite matrix and conditional independence. These sparse Gaussian models (i.e., normal distributions with sparse precision matrices) can be used prior models for a finite number of spatial random effects. Section 3.2 shows the construction of a process from these graphical Gaussian models. This process will be a Gaussian process whose finite-dimensional realizations will have sparse precision matrices. We call them Nearest Neighbor Gaussian Processes (NNGP). Finally, Section 3.3 outlines how the process can be embedded within hierarchical models and presents some brief simulation examples demonstrating certain aspects of inference from NNGP models.

Sparse Gaussian graphical models
Consider the hierarchical model (2) and, in particular, the expensive prior density N (w | 0, K θ ). From the dense covariance matrix K θ , we wish to obtain a covariance ma-trixK θ such thatK −1 θ is sparse and, importantly, its determinant is available cheaply. What would be an effective way of achieving this? One approach would be to consider modeling the Cholesky decomposition of the precision matrix so that it is sparse. For example, forcing some elements in the dense half of the triangular Cholesky factor to be zero will introduce sparsity in the precision matrix. To precisely set out which elements should be made zero in the Cholesky factor, we borrow some fundamental notions of sparsity from graphical (Gaussian) models.
The underlying idea is, in fact, ubiquitous in graphical models or Bayesian networks (see, e.g., Lauritzen, 1996;Bishop, 2006;Murphy, 2012). The joint distribution for a random vector w can be looked upon as a directed acyclic graph (DAG) where each node is a random variable w i . We write the joint distribution as where Pa[1] is the empty set and Pa[i] = {1, 2, . . . , i − 1} for i = 2, 3, . . . , n − 1 is the set of parent nodes with directed edges to i. This model is specific to the ordering (sometimes called "topological ordering") of the nodes. The DAG corresponding to this factorization is shown in Figure 3(a) for n = 7 nodes. One can refer to this as the full graphical model since Pa[i] comprises all nodes preceding i in the topological order. Shrinking Pa[i] from the set of all nodes preceding i to a smaller subset of parent nodes yields a different, but still valid, joint distribution. In spatial settings, each of the nodes in the DAG have associated spatial coordinates. Thus, the parents for any node i can be chosen to include a certain fixed number of "nearest neighbors", say based upon their distance from node i. For example, Figure 3(b) shows the DAG when some of the edges are deleted so as to retain at most 3 nearest neighbors in the conditional probabilities. The resulting joint density is × p(w 6 | w 1 ,ẅ 2 ,ẅ 3 , w 4 , w 5 ) × p(w 7 | w 1 , w 2 ,ẅ 3 ,ẅ 4 ,ẅ 5 , w 6 ) .
The above model posits that any node i, given its parents, is conditionally independent of any other node that is neither its parent nor its child.
Applying the above notion to multivariate Gaussian densities evinces the connection between conditional independence in DAGs and sparsity. Consider an n × 1 random vector w distributed as N (0, K θ ). Writing N (w | 0, K θ ) as p(w 1 ) n i=2 p(w i | w 1 , w 2 , . . . , w i−1 ) is equivalent to the following set of linear models, or, more compactly, simply w = Aw + η, where A is n × n strictly lower-triangular with elements a ij = 0 whenever j ≥ i and η ∼ N (0, D) and D is diagonal with diagonal entries d 11 = var{w 1 } and d ii = var{w i | w j : j < i} for i = 2, . . . , n.
From the structure of A it is evident that I − A is nonsingular and Here a[i+1,1:i] is the 1 × i row vector comprising the possibly nonzero elements of the i+1-th row of A, K[1:i,1:i] is the i × i leading principal submatrix of K θ , K[1:i, i] is the i × 1 row vector formed by the first i elements in the i-th column of K θ , K[i, 1:i] is the 1 × i row vector formed by the first i elements in the i-th row of K θ , solve(B,b) computes the solution for the linear system Bx = b, and dot(u,v) provides the inner product between vectors u and v. The determinant of K θ is obtained with almost no additional cost: it is simply The above pseudocode provides a way to obtain the Cholesky decomposition of K θ . If K θ = LDL is the Cholesky decomposition, then L = (I − A) −1 . There is, however, no apparent gain to be had from the preceding computations since one will need to solve increasingly larger linear systems as the loop runs into higher values of i. Nevertheless, it immediately shows how to exploit sparsity if we set some of the elements in the lower triangular part of A to be zero. For example, suppose we set at most m elements in each row of A to be nonzero. Let N[i] be the set of indices j < i such that a[i,j] = 0. We can compute the nonzero elements of A and the diagonal elements of D efficiently as: In (17) we solve n-1 linear systems of size at most m × m. This can be performed in ∼ nm 3 flops, whereas the earlier pseudocode in (16) for the dense model required ∼ n 3 flops. These computations can be performed in parallel as each iteration of the loop is independent of the others.
The above discussion provides a very useful strategy for introducing sparsity in a precision matrix. Let K θ and K −1 θ both be dense n × n positive definite matrices. Suppose we use the pseudocode in (17) with K = K θ to construct a sparse strictly lower-triangular matrix A with no more than m non-zero entries in each row, where m is considerably smaller than n, and the diagonal matrix D. The resulting matrixK θ = Figure 4 presents a visual representation of the sparsity. WhileK θ need not be sparse, the density N (w | 0,K θ ) is cheap to compute sinceK −1 θ is sparse and det(K −1 θ ) is the product of the diagonal elements of D −1 . Therefore, one way to achieve massive scalability for models such as (2) is to assume that w has prior N (w | 0,K θ ) instead of N (w | 0, K θ ).

From distributions to processes
If we are interested in estimating the spatial or spatiotemporal process parameters from a finite collection of random variables, then we can use the approach in Section 3.1 with w i := w( i ). In spatial settings, matters are especially convenient as we can delete the edges in the DAG based upon the distances among i 's. In fact, one can decide to retain at most m of the nearest neighbors for each location and delete all remaining edges. This implies that the (i, j)-th element of A in Section 3.1 will be nonzero only if j is one of the m nearest neighbors of i . In fact, this idea has been effectively used to construct composite likelihoods for Gaussian process models by Vecchia (1988) and Stein et al. (2004), while Stroud et al. (2017) exploits this idea to propose preconditioned conjugate gradient algorithms for Bayesian and maximum likelihood estimates on large incomplete lattices.
Localized Gaussian process regression based on few nearest neighbors has also been used to obtain fast kriging estimates. Emery (2009) provides fast updates for kriging equations after adding a new location to the input set. Iterative application of their algorithm yields a localized kriging estimate based on a small set of locations (including few nearest neighbors). The local estimate often provides an excellent approximation to the global kriging estimate which uses data observed at all the locations to predict at a new location. However, this assumes that the parameters associated with the mean and covariance of the GP are known or already estimated. Local Approximation GP, or LAGP (Gramacy and Apley, 2015;Gramacy and Haaland, 2016;Gramacy, 2016), extends this further to estimate the parameters at each new location, essentially providing a non-stationary local approximation to a Gaussian Process at every predictive location and can be used to interpolate or smooth the observed data.
If, however, posterior predictive inference is sought at arbitrary spatiotemporal resolutions, i.e., for the entire process {w( ) : ∈ L}, then the ideas in Section 3.1 need to be extended to process-based models. Recently, Datta et al. (2016a) proposed a Nearest Neighbor Gaussian Process (NNGP) for modeling large spatial data. NNGP is a well defined Gaussian Process over a domain L and yields finite dimensional Gaussian densities with sparse precision matrices. This has been also extended to a dynamic NNGP with dynamic neighbor selection for massive spatiotemporal data (Datta et al., 2016b). The NNGP delivers massive scalability both in terms of parameter estimation and kriging. Unlike low rank processes, it does not oversmooth and accurately emulates the inference from full rank GPs.
We will construct the NNGP in two steps. First, we specify a multivariate Gaussian distribution over a fixed finite set r points in L, say R = { * 1 , * 2 , . . . , * r }, which we call the reference set. The reference set can be very large. It can be a fine grid of points over L or one can simply take r = n and let R be the set of observed points in L. We require that the inverse of the covariance matrix be sparse and computationally efficient. Therefore, we specify that w R ∼ N (0,K θ ), where w R is the r × 1 vector with elements w( * i ) andK θ is a covariance matrix such thatK −1 θ is sparse. The matrix K θ is constructed from a dense covariance matrix K θ as described in Section 3.1. This provides a highly effective approximation (Vecchia, 1988;Stein et al., 2004) as below: where history sets H( * i ) so that H( * 1 ) is the empty set and H( If m(<< r) denotes the limiting size of the neighbor sets N ( ), thenK −1 θ has at most O(rm 2 ) non-zero elements. Hence, the approximation in (18) produces a sparsityinducing proper prior distribution for random effects over R that closely approximates the realizations from a GP (0, K θ ).
To construct the NNGP we extend the above model to arbitrary locations. We define neighbor sets N ( ) for any ∈ L as the set of m nearest neighbors of in R. Thus, N ( ) ⊆ R and the process can be derived from p(w R , w( ) | θ) = N (w R | 0,K θ ) × p w( ) | w N ( ) , θ or, equivalently, by writing where is a process independent of w( ), Cov{η( ), η( )} = 0 for any two distinct points in L, and .
, which implies that for each the nonzero a i ( )'s are obtained by solving an m × m linear system. The above construction ensures that w( ) is a legitimate Gaussian process whose realizations over any finite collection of arbitrary points in L will have a multivariate normal distribution with a sparse precision matrix. More formal developments and technical details in the spatial and spatiotemporal settings can be found in Datta et al. (2016a) and Datta et al. (2016b), respectively.
One point worth considering is the definition of "neighbors." There is some flexibility here. In the spatial setting, the correlation functions usually decay with increasing inter-site distance, so the set of nearest neighbors based on the inter-site distances represents locations exhibiting highest correlation with the given locations. For example, on the plane one could simply use the Euclidean metric to construct neighbor sets, although Stein et al. (2004) recommend including a few points that are farther apart. The neighbor sets can be fixed before the model fitting exercise.
In spatiotemporal settings, matters are more complicated. Spatiotemporal covariances between two points typically depend on the spatial as well as the temporal lag between the points. Non-separable isotropic spatiotemporal covariance functions can be written as K θ ((s 1 , t 1 ), (s 2 , t 2 )) = K θ (h, u) where h = s 1 − s 2 and u = |t 1 − t 2 |. This often precludes defining any universal distance function d : (S × T ) 2 → + such that K θ ((s 1 , t 1 ), (s 2 , t 2 )) will be monotonic with respect to d((s 1 , t 1 ), (s 2 , t 2 )) for all choices of θ. This makes it difficult to define universal nearest neighbors in spatiotemporal domains. To obviate this hurdle, Datta et al. (2016b) define "nearest neighbors" in a spatiotemporal domain using the spatiotemporal covariance function itself as a proxy for distance. This can work for arbitrary domains. For any three points 1 , 2 and 3 , we say that 1 is nearer to 2 than to 3 if K θ ( 1 , 2 ) > K θ ( 1 , 3 ). Subsequently, this definition of "distance" is used to find m nearest neighbors for any location.
However, for every point i , its neighbor set N θ ( ) will now depend on θ and can change from iteration to iteration in the estimation algorithm. If θ were known, one could have simply evaluated the pairwise correlations between any point * i in R and all points in its history set H( * i ) to obtain N θ ( * i ) -the set of m true nearest neighbors. In practice, however, θ is unknown and for every new value of θ in an iterative algorithm, we need to search for the neighbor sets within the history sets. Since the history sets are quite large, searching the entire space for nearest neighbors in each iteration will be computationally unfeasible. Datta et al. (2016b) offer some smart strategies for selecting spatiotemporal neighbors. They propose restricting the search for the neighbor sets to carefully constructed small subsets of the history sets. These small eligible sets E( * i ) are constructed in such a manner that, despite being much smaller than the history sets, they are guaranteed to contain the true nearest neighbor sets. This strategy works when we choose m to be a perfect square and the original nonseparable covariance function K θ (h, u) satisfies natural monotonicity, i.e. K θ (h, u) is decreasing in h for fixed u and decreasing in u for fixed h. All Matèrn-based space-time separable covariances and many non-separable classes of covariance functions possess this property (Stein, 2013;Omidi and Mohammadzadeh, 2015).

Hierarchical NNGP models
We briefly turn to model fitting and estimation. For the approximation in (18) to be effective, the size of the reference set, r, needs to be large enough to represent the spatial domain. However, this does not impede computations involving NNGP models because the storage and number of floating point operations are always linear in r. The reference set R can, in principle, be any finite set of locations in the study domain. A particularly convenient choice, in practice, is to simply take R to be the set of observed locations in the dataset. Datta et al. (2016a) demonstrate through extensive simulation experiments and a real application that this simple choice seems to be very effective.
Since the NNGP is a proper Gaussian process, we can use it as a prior for the spatial random effects in any hierarchical model. We write w( ) ∼ NNGP (0,K θ (·, ·)), wherẽ K θ ( , ) is the covariance function for the NNGP (see Datta et al., 2016a, for a closed form expression). For example, with r = n and R the set of observed locations, one can build a scalable Bayesian hierarchical model exactly as with a usual spatial process, but assigning an NNGP to the spatial random effects. Here is a simple NNGP-based spatial model with a first stage exponential family model: where P τ is an exponential family distribution with link function g(·). Posterior sampling from (20) is customarily performed using Gibbs sampling with Metropolis steps. Computational benefits emerge from the fact that the full conditional distribution Prediction at any arbitrary location / ∈ R is performed by sampling from the posterior predictive distribution. For each draw of {w R , β, θ, τ} from p(w R , β, τ, θ | y), we draw a w( ) from N (a ( )w N ( ) , δ 2 ( )) and y( ) from p(y( ) | β, w( ), τ), where y is the vector of observed outcomes and a( ) is a vector of the nonzero a j ( )'s in (19).
The above model is extremely fast. The likelihood is of the form y ∼ N (Xβ,K θ ), wherẽ is sparse and A and D are obtained from (17) efficiently in parallel. The parameter space of interest is {θ, β}, which is much smaller than for (20) where the latent spatial process also was unknown. While (21) does not separate the residuals into a spatial process and a measurement error process, one can still include measurement error variance, or the nugget, in (21). Here, one would absorb the nugget into θ. For example, suppose we wish to approximate (1) using (21). We could write the likelihood in (1) as N (y | Xβ, K θ ), where K θ = σ 2 R φ + τ 2 I n , R φ is a spatial correlation matrix and θ = {σ 2 , φ, τ 2 }. These will also feature in the derived NNGP covariance matrixK θ . We can predict the outcome at an arbitrary point by sampling from the posterior predictive distribution as follows: for each draw of {β, θ} from p(β, θ | y), we draw a y( ) from N (y( ) | x ( )β, δ 2 ( )). Note, however, that there is no latent smooth process w( ) in (21) and inference on the latent spatial process is precluded. Likelihood computations in NNGP models usually involve O(nm 3 ) flops. One does not need to store n × n matrices, only m × m matrices which leads to storage ∼ nm 2 . Substantial computational savings accrue because m is usually very small. Datta et al. (2016a) demonstrate that fitting NNGP models to the simulated data in Figure 2 with number of neighbors as less as m = 10 produce posterior estimates of the spatial surface indistinguishable from Figures 2(a) and 2(b). In fact, simulation experiments in Datta et al. (2016a) and Datta et al. (2016b) also affirm that m can usually be taken to be very small compared to r; there seems to be no inferential advantage to taking m to exceed 15, even for datasets with over 10 5 spatial locations. For example, Figure 5 shows the 95% posterior credible intervals for a series of 10 simulation experiments where the true effective range was fixed at values from 0.1 to 1.0 in increments of 0.1. Each dataset comprised 2500 points. Even with m = 10 neighbors, the credible intervals for the effective spatial range from the NNGP model were very consistent with those from the full GP model. Datta et al. (2016a) present simulations using the Matérn and other covariance functions revealing very similar behavior.
Another important point to note is thatK θ is not invariant to the order in which we define H( 1 ) ⊆ H( 2 ) ⊆ · · · ⊆ H( r ) (i.e., the topological order). Vecchia (1988) and Stein et al. (2004) both assert that the approximation in (18) is not sensitive to this ordering. This is corroborated by simulation experiments by Datta et al. (2016a), but a recent manuscript by Guinness (2016) has indicated sensitivity to the ordering in terms of model deviance. We conducted some preliminary investigations to investigate the effect of the topological order. In one simple experiment we generated data from the "true" model in (1)   parameter β in (1) was set to 0, the covariance function was specified as with the true values of σ 2 , φ and τ 2 given in the second column of Table 2. Four different NNGP models corresponding to (21) withK θ derived from K θ = σ 2 R φ + τ 2 I and R φ having elements exp(−φ i − j ), were fitted to the simulated data. Each of these models were constructed with m = 10 nearest neighbors, but with different ordering of the points = (x, y). These were performed according to the sum of the coordinates x + y, a maximum-minimum distance (MMD) proposed by Guinness (2016), the x coordinate, and the y coordinate. Table 2 presents a comparison of these NNGP models. Irrespective of the ordering of the points, the inference with respect to parameter estimates and predictive performance is extremely robust and effectively indistinguishable from each other. However, the posterior mean of the Kullback-Leibler divergence of these models from the true generating model revealed that the metric proposed by Guinness (2016) is indeed less than the other three. Further explorations are currently being conducted to see how this behavior changes for more complex nonstationary models and in more general settings.

Discussion and future directions
The article has attempted to provide some insight into constructing highly scalable Bayesian hierarchical models for very large spatiotemporal datasets using low-rank and sparsity-inducing processes. Such models are increasingly being employed to answer complex scientific questions and analyze massive spatiotemporal datasets in the natural and environmental sciences. Any standard Bayesian estimation algorithm, such as Markov chain and Hamiltonian Monte Carlo (see, e.g., Robert and Casella, 2004;Brooks et al., 2011;Gelman et al., 2013;Neal, 2011;Hoffman and Gelman, 2014), Integrated Nested Laplace Approximations (Rue et al., 2009), and Variational Bayes (see, e.g., Bishop, 2006) can be used for fitting these models. The models ensure that the algorithmic complexity has ∼ n floating point operations (flops), where n the number of spatial locations (per iteration). Storage requirements are also linear in n. Methods such as the multiresolution predictive process (Katzfuss, 2017) and the NNGP (Datta et al., 2016a) can scale up to datasets in the order of ∼ 10 6 spatial and/or temporal points without sacrificing richness in the model.
While the NNGP certainly seem to have an edge in scalability over the more conventional low-rank or fixed rank models, it is premature to say whether its inferential performance will always excel over low rank of fixed rank models. For example, analyzing complex nonstationary random fields may pose challenges regarding construction of neighbor sets as simple distance-based definition of neighbors may prove to be inadequate. Multiresolution basis functions may be more adept at capturing nonstationary, but may struggle with massive datasets. Dynamic neighbor selection for nonstationary fields, where neighbors will be chosen based upon the covariance kernel itself, analogous to Datta et al. (2016b) for space-time covariance functions, may be an option worth exploring. Multiresolution NNGPs, where the residual from the NNGP approximation is modeled hierarchically (analogous to Katzfuss, 2017, for the predictive process) may also be promising in terms of full Bayesian inference at massive scales.
There remain other challenges in high-dimensional geostatistics. Here, we have considered geostatistical settings where we have very large numbers of locations and/or time-points, but restricted our discussion to univariate outcomes. In practice, we often observe a q × 1 variate response y( ) along with a set of explanatory variables X( ) and q × 1 variate GP, w( ), is used to capture the spatial patterns beyond the observed covariates. We seek to capture associations among the variables as well as the strength of spatiotemporal association for each outcome. One specific geostatistical problem in ecology that currently lacks a satisfying solution is a joint species distribution model, where we seek to model a large collection of species (say, order 10 3 ) over a large collection of spatial sites (again, say, order 10 3 ).
The linear model of coregionalization (LMC) proposed by Matheron (1982) is among the most general models for multivariate spatial data analysis. Here, the spatial behavior of the outcomes is assumed to arise from a linear combination of the independent latent processes operating at different spatial scales (Chilés and Delfiner, 1999). The idea resembles latent factor analysis (FA) models for multivariate data analysis (e.g., Anderson, 2003) except that in the LMC the number of latent processes is usually taken to be the same as the number of outcomes. Then, an q × q covariance matrix has to be estimated for each spatial scale (see, e.g., Lark and Papritz, 2003;Castrignanó et al., 2005;Zhang, 2007), where q is the number of outcomes. When q is large (e.g., q ≥ 5 and 300 spatial locations), obtaining such estimates is expensive. Schmidt and Gelfand (2003) and Gelfand et al. (2004) associate only a q × q triangular matrix with the latent processes. However, high dimensional outcomes are still computationally prohibitive for these models.
Spatial factor models (see, e.g., Lopes and West, 2004;Lopes et al., 2008;Wang and Wall, 2003) have been used to handle high dimensional outcomes but with modest number of spatial locations. Dimension reduction is needed in two aspects: (i) the length of the vector of outcomes, and (ii) the very large number of spatial locations. Latent variable (factor) models are usually used to address the former, while low-rank spatial processes offer a rich and flexible modeling option for dealing with a large number of locations. Ren and Banerjee (2013) have exploited these two ideas to propose a class of hierarchical low-rank spatial factor models and also explored stochastic selection of the latent factors without resorting to complex computational strategies (such as reversible jump algorithms) by utilizing certain identifiability characterizations for the spatial factor model. Their model was designed to capture associations among the variables as well as the strength of spatial association for each variable. In addition, they reckoned with the common setting where not all the variables have been observed over all locations, which leads to spatial misalignment. The fully Bayesian approach effectively deals with spatial misalignment. However, this method is likely to suffer from the limited ability of low-rank models to scale to a very large number of locations. Promising ideas include using the multiresolution predictive process or the NNGP as a prior on the spatial factors.
Computational developments with regard to Markov chain Monte Carlo (MCMC) algorithms (see, e.g., Robert and Casella, 2004) have contributed enormously to the dissemination of Bayesian hierarchical models in a wide array of disciplines. Spatial modeling is no exception. However, the challenges for automated implementation of geostatistical model fitting and inference are substantial. First, expensive matrix computations are required that can become prohibitive with large datasets. Second, routines to fit unmarginalized models are less suited for direct updating using a Gibbs sampler and result in slower convergence of the chains. Third, investigators often encounter multivariate spatial datasets with several spatially dependent outcomes, whose analysis requires multivariate spatial models that involve demanding matrix computations. These issues have, however, started to wane with the delivery of relatively simpler software packages in the R statistical computing environment via the Comprehensive R Archive Network (CRAN) (http://cran.r-project.org). Several packages that automate Bayesian methods for point-referenced data and diagnose convergence of MCMC algorithms are easily available from CRAN. Packages that fit Bayesian models include geoR, geoRglm, spTimer, spBayes, spate, and ramps.
In terms of the hierarchical geostatistical models presented in this article, spBayes offers users a suite of Bayesian hierarchical models for Gaussian and non-Gaussian univariate and multivariate spatial data as well as dynamic Bayesian spatio-temporal models. It focuses upon performance issues for full Bayesian inference, sampler convergence rate and efficiency using a collapsed Gibbs sampler, decreasing sampler run-time by avoiding expensive matrix computations, and increased scalability to large datasets by implementing predictive process models. Beyond these general computational improvements for existing models, it analyzes data indexed both in space and time using a class of dynamic spatiotemporal models, and their predictive process counterparts, for settings where space is viewed as continuous and time is taken as discrete. Finally, we have modeling environments such as Nimble (de Valpine et al., 2017) that gives users enormous flexibility to choose algorithms for fitting their models, and Stan (Carpenter et al., 2017) that estimates Bayesian hierarchical models using Hamiltonian dynamics. The NNGP and the predictive process can be also coded in Nimble and Stan fairly easily.