18 research outputs found
The Gaussian Process Autoregressive Regression Model (GPAR)
Multi-output regression models must exploit dependencies between outputs to maximise predictive performance. The application of Gaussian processes (GPs) to this setting typically yields models that are computationally demanding and have limited representational power. We present the Gaussian Process Autoregressive Regression (GPAR) model, a scalable multi-output GP model that is able to capture nonlinear, possibly input-varying, dependencies between outputs in a simple and tractable way: the product rule is used to decompose the joint distribution over the outputs into a set of conditionals, each of which is modelled by a standard GP. GPAR's efficacy is demonstrated on a variety of synthetic and real-world problems, outperforming existing GP models and achieving state-of-the-art performance on established benchmarks
Convolutional conditional neural processes for local climate downscaling
A new model is presented for multisite statistical downscaling of temperature and precipitation using convolutional conditional neural processes (convCNPs). ConvCNPs are a recently developed class of models that allow deep-learning techniques to be applied to off-the-grid spatio-temporal data. In contrast to existing methods that map from low-resolution model output to high-resolution predictions at a discrete set of locations, this model outputs a stochastic process that can be queried at an arbitrary latitude–longitude coordinate. The convCNP model is shown to outperform an ensemble of existing downscaling techniques over Europe for both temperature and precipitation taken from the VALUE intercomparison project. The model also outperforms an approach that uses Gaussian processes to interpolate single-site downscaling models at unseen locations. Importantly, substantial improvement is seen in the representation of extreme precipitation events. These results indicate that the convCNP is a robust downscaling model suitable for generating localised projections for use in climate impact studies
Combining pseudo-point and state space approximations for sum-separable Gaussian processes
Gaussian processes (GPs) are important probabilistic tools for inference and learning in spatio-temporal modelling problems such as those in climate science and epidemiology. However, existing GP approximations do not simultaneously support large numbers of off-the-grid spatial data-points and long time-series which is a hallmark of many applications. Pseudo-point approximations, one of the gold-standard methods for scaling GPs to large data sets, are well suited for handling off-the-grid spatial data. However, they cannot handle long temporal observation horizons effectively reverting to cubic computational scaling in the time dimension. State space GP approximations are well suited to handling temporal data, if the temporal GP prior admits a Markov form, leading to linear complexity in the number of temporal observations, but have a cubic spatial cost and cannot handle off-the-grid spatial data. In this work we show that there is a simple and elegant way to combine pseudo-point methods with the state space GP approximation framework to get the best of both worlds. The approach hinges on a surprising conditional independence property which applies to space–time separable GPs. We demonstrate empirically that the combined approach is more scalable and applicable to a greater range of spatio-temporal problems than either method on its own.Peer reviewe
TuringLang/MCMCChains.jl: v6.0.4
<h2>MCMCChains v6.0.4</h2>
<p><a href="https://github.com/TuringLang/MCMCChains.jl/compare/v6.0.3...v6.0.4">Diff since v6.0.3</a></p>
<p><strong>Merged pull requests:</strong></p>
<ul>
<li>CompatHelper: bump compat for Documenter to 1 for package docs, (keep existing compat) (#432) (@github-actions[bot])</li>
<li>CompatHelper: bump compat for Documenter to 1 for package test, (keep existing compat) (#433) (@github-actions[bot])</li>
<li>CompatHelper: bump compat for MLJBase to 1 for package docs, (keep existing compat) (#434) (@github-actions[bot])</li>
<li>CompatHelper: bump compat for MLJBase to 1 for package test, (keep existing compat) (#435) (@github-actions[bot])</li>
<li>Update chains.jl (#437) (@sunxd3)</li>
<li>CompatHelper: bump compat for AbstractMCMC to 5, (keep existing compat) (#438) (@github-actions[bot])</li>
<li>CompatHelper: bump compat for AbstractMCMC to 5 for package test, (keep existing compat) (#439) (@github-actions[bot])</li>
</ul>
<p><strong>Closed issues:</strong></p>
<ul>
<li>write(file, chn) fails due to missing method (#425)</li>
<li>Array(chn) drops third dimension for nchain==1 (#429)</li>
</ul>
JuliaGaussianProcesses/KernelFunctions.jl: v0.10.58
<h2>KernelFunctions v0.10.58</h2>
<p><a href="https://github.com/JuliaGaussianProcesses/KernelFunctions.jl/compare/v0.10.57...v0.10.58">Diff since v0.10.57</a></p>
<p><strong>Merged pull requests:</strong></p>
<ul>
<li>Fix Matern AD failures (#528) (@simsurace)</li>
<li>Stop using deprecated signatures from Distances.jl (#529) (@simsurace)</li>
</ul>
JuliaDiff/ChainRules.jl: v1.58.0
<h2>ChainRules v1.58.0</h2>
<p><a href="https://github.com/JuliaDiff/ChainRules.jl/compare/v1.57.0...v1.58.0">Diff since v1.57.0</a></p>
<p><strong>Merged pull requests:</strong></p>
<ul>
<li>muladd rule for zero tangent (#752) (@oxinabox)</li>
</ul>
<p><strong>Closed issues:</strong></p>
<ul>
<li>Basic functions don't work for CUDA (#751)</li>
</ul>
JuliaDiff/ChainRules.jl: v1.57.0
<h2>ChainRules v1.57.0</h2>
<p><a href="https://github.com/JuliaDiff/ChainRules.jl/compare/v1.56.0...v1.57.0">Diff since v1.56.0</a></p>
<p><strong>Merged pull requests:</strong></p>
<ul>
<li>CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#748) (@github-actions[bot])</li>
<li>Add rule for with_logger (#749) (@oxinabox)</li>
<li>Add version bounds for stdlibs (#750) (@oxinabox)</li>
</ul>
JuliaDiff/ChainRules.jl: v1.60.0
<h2>ChainRules v1.60.0</h2>
<p><a href="https://github.com/JuliaDiff/ChainRules.jl/compare/v1.59.1...v1.60.0">Diff since v1.59.1</a></p>
<p><strong>Merged pull requests:</strong></p>
<ul>
<li>CompatHelper: bump compat for Adapt to 4, (keep existing compat) (#762) (@github-actions[bot])</li>
<li>Fix <code>UndefVarError: sparseinv not defined</code> test failures (#776) (@christiangnrd)</li>
</ul>
<p><strong>Closed issues:</strong></p>
<ul>
<li>SparseInverseSubset.jl dependency causes issues on non-GPL Julia builds (#763)</li>
<li>bump Adapt to 4 in Project.toml (#775)</li>
</ul>
JuliaDiff/ChainRules.jl: v1.58.1
<h2>ChainRules v1.58.1</h2>
<p><a href="https://github.com/JuliaDiff/ChainRules.jl/compare/v1.58.0...v1.58.1">Diff since v1.58.0</a></p>
<p><strong>Merged pull requests:</strong></p>
<ul>
<li>Allow unzip to return JLArray (#759) (@oxinabox)</li>
<li>Allow single indexing of arrays of GPU arrays (#760) (@ToucheSir)</li>
</ul>