You could use an ensemble regression approach - see https://github.com/rened/ExtremelyRandomizedTrees.jl#regression for a 1D to 1D example. For your data you could use this (ndims == 2, for visualization):
using ExtremelyRandomizedTrees, FunctionalDataUtils # train model ndim = 2 nsamples = 1000 data = 5+5*randn(ndim, nsamples) targets = sum(data,1) targets += randn(size(targets)) model = ExtraTrees(data, targets, regression = true) # predict a = meshgrid(1:20, 1:30) # a is 2 x 20*30 result = reshape(predict(model, a), 20, 30) using Images convert(Image,asimagesc(result)) Am Mittwoch, 13. Mai 2015 14:33:08 UTC+2 schrieb Yakir Gagnon: > > I have a bunch (~1000) of x,y,z and a corresponding value, V. One unique V > for each x,y,z. I want to interpolate and extrapolate "wildly" (so I really > don't care about how accurate or correct it is). The x,y,z I have are not > regularly spaced or anything. They're scattered across some range (they all > share similar ranges), and I want to know what value (i.e. new V) I should > be getting at new and regularly spaced x,y,z. I think Matlab's griddata > would do what I want. > I tired following the "lower-level" functionality from Grid.jl, > Interpolations.jl, and Dierckx.jl, but couldn't figure out how to get this > to work. > I think I need to fit some curve to my scattered points and then use that > to find the values at the new xyz (at least that's how I think griddata > works)... Any good simple ideas out there? > >
