JuliaEarth / GeoStats.jl

An extensible framework for geospatial data science and geostatistical modeling fully written in Julia
https://juliaearth.github.io/GeoStatsDocs/stable/
MIT License
506 stars 61 forks source link

Multi-output / Multi-task Processes #375

Closed markmbaum closed 9 months ago

markmbaum commented 9 months ago

I'm curious if there is any support for multi-output processes, in particular Gaussian processes. I'm interested in simulating observations of several quantities in two-dimensional space, where each quantity is spatially correlated and there is correlation between the quantities.

juliohm commented 9 months ago

Yes, we support 2D as well as 3D simulation. See some examples in the docs: https://juliaearth.github.io/GeoStatsDocs/stable/random/fields.html

markmbaum commented 8 months ago

Thanks Julio. I'm a little confused about the field simulation examples. Looking at this one:

rand(process, domain, ["a" => Float64, "b" => Float64])

The relationship between the data arguments "a" and "b" are not clear to me. It seems like "a" and "b" are independent realizations of the same process, but returned with different names/labels? I'm also not entirely sure why their numeric types need to be specified explicitly.

Sorry to bother. Happy to contribute to the docs if it's helpful.

juliohm commented 8 months ago

Hi @markmbaum, we are happy help with usage questions in our Zulip channels. We use GitHub is for issues and bug fixes.

The variables are simulated with a pre-allocated memory block, and that is why we need the types. Sometimes the types can be inferred from data (conditional simulation), which is passed as a geotable.