[Numpy-discussion] Interpolation question

Andrea Gavana andrea.gavana at gmail.com
Sun Mar 28 19:30:47 EDT 2010


Hi Friedrich & All,

On 28 March 2010 23:51, Friedrich Romstedt wrote:
> 2010/3/28 Andrea Gavana <andrea.gavana at gmail.com>:
>> Example 1
>>
>> # o2 and o3 are the number of production wells, split into 2
>> # different categories
>> # inj is the number of injection wells
>> # fomts is the final oil recovery
>>
>> rbf = Rbf(oilPlateau, gasPlateau, gasInjPlateau, o2, o3, inj, fomts)
>>
>> op = [50380]
>> gp = [103014000]
>> gi = [53151000]
>> o2w = [45]
>> o3w = [20]
>> inw = [15]
>>
>> fi = rbf(op, gp, gi, o2w, o3w, inw)
>>
>> # I => KNOW <= the answer to be close to +3.5e8
>>
>> print fi
>>
>> [ -1.00663296e+08]
>>
>> (yeah right...)
>>
>>
>> Example 2
>>
>> Changing o2w from 45 to 25 (again, the answer should be close to 3e8,
>> less wells => less production)
>>
>> fi = rbf(op, gp, gi, o2w, o3w, inw)
>>
>> print fi
>>
>> [  1.30023424e+08]
>>
>> And keep in mind, that nowhere I have such low values of oil recovery
>> in my data... the lowest one are close to 2.8e8...
>
> I want to put my2 cents in, fwiw ...
>
> What I see from
> http://docs.scipy.org/doc/scipy-0.7.x/reference/generated/scipy.interpolate.Rbf.html#scipy.interpolate.Rbf
> are three things:
>
> 1. Rbf uses some weighting based on the radial functions.
> 2. Rbf results go through the nodal points without *smooth* set to
> some value != 0
> 3. Rbf is isotropic
>
> (3.) is most important.  I see from your e-mail that the values you
> pass in to Rbf are of very different order of magnitude.  But the
> default norm used in Rbf is for sure isotropic, i.e., it will result
> in strange and useless "mean distances" in R^N where there are N
> parameters.  You have to either pass in a *norm* which weights the
> coords according to their extent, or to scale the data such that the
> aspect ratios of the hypecube's edges are sensible.
>
> You can imagine it as the follwing ascii plot:
>
>   *             *                             *
> *      *              *                         *
>
> the x dimension is say the gas plateau dimension (~1e10), the y
> dimension is the year dimension (~1e1).  In an isotropic plot, using
> the data lims and aspect = 1, they may be well homogenous, but on this
> scaling, as used by Rbf, they are lumped.  I don't know if it's clear
> what I mean from my description?
>
> Are the corresponding parameter values spread completely randomly, or
> is there always varied only one axis?
>
> If random, you could try a fractal analysis to find out the optimal
> scaling of the axes for N-d coverage of N-d space.  In the case above,
> is is something between points and lines, I guess.  When scaling it
> properly, it becomes a plane-like coveage of the xy plane.  When
> scaling further, it will become points again (lumped together).  So
> you can find an optimum.  There are quantitative methods to obtain the
> fractal dimension, and they are quite simple.

I believe I need a technical dictionary to properly understand all
that... :-D . Sorry, I am no expert at all, really, just an amateur
with some imagination, but your suggestion about the different
magnitude of the matrix is a very interesting one. Although I have
absolutely no idea on how to re-scale them properly to avoid RBFs
going crazy.

As for your question, the parameter are not spread completely
randomly, as this is a collection of simulations done over the years,
trying manually different scenarios, without having in mind a proper
experimental design or any other technique. Nor the parameter  values
vary only on one axis in each simulation (few of them are like that).

Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.alice.it/infinity77/

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