[Numpy-discussion] Interpolation question

Andrea Gavana andrea.gavana at gmail.com
Mon Mar 29 17:20:00 EDT 2010

Hi All,

On 29 March 2010 00:59, Andrea Gavana wrote:
> On 29 March 2010 00:34, Robert Kern wrote:
>> Scaling each axis by its standard deviation is a typical first start.
>> Shifting and scaling the values such that they each go from 0 to 1 is
>> another useful thing to try.
> Ah, magnifico! Thank you Robert and Friedrich, it seems to be working
> now... I get reasonable values for various combinations of parameters
> by scaling the input data using the standard deviation of each of
> them. It seems also that the other interpolation schemes are much less
> erratic now, and in fact (using input values equal to the original
> data) I get these range of errors for the various schemes:
> inverse multiquadric -15.6098482614 15.7194674906
> linear                        -1.76157336073e-010 1.24949181055e-010
> cubic                        -0.000709860285963 0.018385394661
> gaussian                  -293.930336611 282.058111404
> quintic                      -0.176381494531 5.37780806549
> multiquadric             -30.9515933446 58.3786105046
> thin-plate                  -7.06755391536e-006 8.71407169821e-005
> In percentage. Some of them are still off the mark, but you should
> have seen them before ;-) .
> I'll do some more analysis tomorrow, and if it works I am going to try
> the bigger profile-over-time interpolation. Thank you so much guys for
> your suggestions.

If anyone is interested in a follow up, I have tried a time-based
interpolation of my oil profile (and gas and gas injection profiles)
using those 40 interpolators (and even more, up to 400, one every
month of fluid flow simulation time step).

I wasn't expecting too much out of it, but when the interpolated
profiles came out (for different combinations of input parameters) I
felt like being on the wrong side of the Lala River in the valley of
Areyoukidding. The results are striking. I get an impressive agreement
between this interpolated proxy model and the real simulations,
whether I use existing combinations of parameters or new ones (i.e., I
create the interpolation and then run the real fluid flow simulation,
comparing the outcomes).

As an aside, I got my colleagues reservoir engineers playfully
complaining that it's time for them to pack their stuff and go home as
this interpolator is doing all the job for us; obviously, this misses
the point that it took 4 years to build such a comprehensive bunch of
simulations which now allows us to somewhat "predict" a possible
production profile in advance.

I wrapped everything up in a wxPython GUI with some Matplotlib graphs,
and everyone seems happy. The only small complain I have is that I
wasn't able to come up with a vector implementation of RBFs, so it can
be pretty slow to build and interpolate 400 RBFs for each property (3
of them).

Thanks to everyone for your valuable suggestions!


"Imagination Is The Only Weapon In The War Against Reality."

==> Never *EVER* use RemovalGroup for your house removal. You'll
regret it forever.
http://thedoomedcity.blogspot.com/2010/03/removal-group-nightmare.html <==

More information about the NumPy-Discussion mailing list