Back-transforming Gaussian Variogram Models

stuart masters 2 years ago in Resource Estimation updated by Gordon Thomas (Moderator (EN)) 2 years ago 15

Hi there,

I note that MM now has a "Gaussian Anamorphosis" utility, which seems to be based on Hermite polynomials.

This is handy as it lets me do variographic modeling on gaussian-transformed data.

However, I then need to back-transform the gaussian variogram model to the raw data space in order for it to be useful.

Can this be done in MM and, if so, how?  The "Gaussian Anamorphosis Back Calculate" option only pertains to data and I can't find anywhere in the Stats/Variography menu that lets me do it.



Hi Stuart,

I don't believe we are able to back-transform that variogram model itself but we are interested in why you would back transform the data and how that fits into your workflow in case we have missed anything.




In most cases we don't back transform the data for the purposes of estimation - we just use the raw data.

However, in some methods, we estimate into blocks using the transformed data then back transform the block estimates grades using a change of support correction and several other assumptions.  But for now, we just need a way to back transform the Gaussian-space Variogram Model parameters to the Raw-space Variogram Model parameters.




I concur with Stuart, we really need to be able to back transform the variogram parameters. Completing variography on gaussian transformed data requires us to back transform the variogram in order to use the variogram parameters on naive un-transformed data. The Gaussian Variogram is fine for use on gaussian data but of no use on normal naive data.



Thanks for the feedback Ron and Stuart, would you happen to have any references that describe how the variogram back-transform works or discusses this?



I've got a reference somewhere... let me see if I can find it.

Surely someone would have already written a python or r script to do it.

Hi Stuart,

Our current workflow is premised on the following:

  1. Transform data to Gaussian space.
  2. Run variography on transformed data.
  3. Run Kriging on transformed data with variography based on transformed data to produce estimates within Gaussian space.
  4. Back transform the estimates to produce the grades.

Since the variography is based on the transformed data, all of the correlations that it produces apply only to the Gaussian space. I would be surprised if the variograms were generally "reversible" to anything that was useful in "normal" space unless the data was more or less normally-distributed to begin with.

However, we would be very interested to follow this up if you are able to find an authoritative reference for us.



Hi Gordon,

That approach is valid assuming you are using the correct coefficients for the Hermite polynomials - as they will be different for samples and blocks.  Where in the workflow does it compute and account for that?  If you are estimating Gaussian values at the discretisation points, then back-transforming them into real-space and then averaging these, then that's ok, but it's still somewhere between a linear and non-linear estimate.

If it doesn't account for the support between samples and blocks then you have the potential for significant misestimation. 

Even so, it is common and prudent practice to do a parallel estimate using raw data and a back-transformed variogram model.  In fact, it's very dangerous not to do this and your workflow tends to be the 'alternative' estimate.



In the Discrete Gaussian Model:

"if we know the coefficients for the point anamorphosis (Pn), where n is the nth polynomial, we can deduce those for the block anamorphosis B(n) as P(n).r^n, where r is the change of support coefficient that ensures the block variance corresponds to the correct value".

Those words are from Jacques Rivioirard himself...

Thanks Stuart. We've also identified a reference that may be able to assist with the back transformation of the variogram models and will pursue this.

No worries Gordon - I'm sure there'll be a Python / r script around somewhere.  I can scan and send you the relevant parts of my "orignal" document from my time at Fontainebleau if you need.

Furthermore, once you've added this functionality you're not too far away from having some 'recoverable resources' estimation methods.



Thanks again, Stuart. That's definitely what we're working towards.