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?
>
>

Reply via email to