Loading ...
Sorry, an error occurred while loading the content.

AI-GEOSTATS: average semi-variogram

Expand Messages
  • Koen Hufkens
    Hi, Is there any way to calculate an average semi-variance in R using gstat or the geoR library, or any opensource or freely available package? I ve been
    Message 1 of 9 , Feb 29, 2004
    • 0 Attachment
      Hi,
      Is there any way to calculate an average semi-variance in R using gstat
      or the geoR library, or any opensource or freely available package?

      I've been sniffing thrue the manuals of both gstat and geoR and I don't
      find any reference to it. I maybe overlooked it..

      So I'm looking for a way to calculate it with some standard option or a
      cheap trick that will give the same results.

      Any input would be greatly appreciated.

      Best regards,
      Koen Hufkens




      --
      * To post a message to the list, send it to ai-geostats@...
      * As a general service to the users, please remember to post a summary of any useful responses to your questions.
      * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
      * Support to the list is provided at http://www.ai-geostats.org
    • Koen Hufkens
      To clear things up, I want to calculate the variance of values within an area (20x20m). So you calculate the semi-variogram value from each point to every
      Message 2 of 9 , Mar 1 3:14 AM
      • 0 Attachment
        To clear things up,

        I want to calculate the variance of values within an area (20x20m).

        So you calculate the semi-variogram value from each point to every other
        point in that area, you add up all the terms and divide by the number of
        terms/pairs.

        I think it's called a "block to block" variogram average, not sure.

        A link to an illustration:

        http://www.houlding.net/simon/DVEpaper/DVEfig03.htm

        As I explained, I'm looking for an easy way to estimate the gamma(V,V)
        value.

        I used matlab to code for the distances between pairs but, it takes so
        much time compared to geoR or gstat that I doubt I'm working correctly or
        these packages are optimized in some way to cut back on calculation times.
        Bottom line is that I don't want to spent to much time coding stuff and
        more time doing the actual analysis.

        Koen...

        > Hi,
        >
        > what do you mean by average semi-variance? The semivariance at any lag is
        > always going to be the average of the semivariance between many lag pairs
        > (the exact number depends on sample size, spacing etc). As far as I am
        > aware
        > R calculates the average semivariance for each lag and presents this as
        > the
        > "experiemental semivariogram". Other softwarre provide the variogram
        > cloud,
        > the values of individual pair comparisons, from which the experimental
        > variagram is averaged,
        >
        > hope this helps
        >
        > Benjamin

        --
        * To post a message to the list, send it to ai-geostats@...
        * As a general service to the users, please remember to post a summary of any useful responses to your questions.
        * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
        * Support to the list is provided at http://www.ai-geostats.org
      • Edzer J. Pebesma
        gstat (either flavour) does calculate gamma(V,V) on its way to get to block kriging predictions, but has no special way of reporting this value; you probably
        Message 3 of 9 , Mar 1 6:05 AM
        • 0 Attachment
          gstat (either flavour) does calculate gamma(V,V) on its way to
          get to block kriging predictions, but has no special way of reporting
          this value; you probably get it (along with much much more info)
          on your screen when you set debug value to 32, and do a block
          kriging with your given variogram model.

          Note that gamma(V,V) is a variogram model property, not a data
          property: in the figure you mention, the big dots are data points,
          the small dots discretize the block but do not indicate observed
          data.
          --
          Edzer

          Koen Hufkens wrote:

          > To clear things up,
          >
          > I want to calculate the variance of values within an area (20x20m).
          >
          > So you calculate the semi-variogram value from each point to every
          > other point in that area, you add up all the terms and divide by the
          > number of terms/pairs.
          >
          > I think it's called a "block to block" variogram average, not sure.
          >
          > A link to an illustration:
          >
          > http://www.houlding.net/simon/DVEpaper/DVEfig03.htm
          >
          > As I explained, I'm looking for an easy way to estimate the gamma(V,V)
          > value.
          >
          > I used matlab to code for the distances between pairs but, it takes so
          > much time compared to geoR or gstat that I doubt I'm working correctly
          > or these packages are optimized in some way to cut back on calculation
          > times. Bottom line is that I don't want to spent to much time coding
          > stuff and more time doing the actual analysis.
          >
          > Koen...
          >
          >> Hi,
          >>
          >> what do you mean by average semi-variance? The semivariance at any
          >> lag is
          >> always going to be the average of the semivariance between many lag
          >> pairs
          >> (the exact number depends on sample size, spacing etc). As far as I
          >> am aware
          >> R calculates the average semivariance for each lag and presents this
          >> as the
          >> "experiemental semivariogram". Other softwarre provide the variogram
          >> cloud,
          >> the values of individual pair comparisons, from which the experimental
          >> variagram is averaged,
          >>
          >> hope this helps
          >>
          >> Benjamin
          >
          >
          > --
          > * To post a message to the list, send it to ai-geostats@...
          > * As a general service to the users, please remember to post a summary
          > of any useful responses to your questions.
          > * To unsubscribe, send an email to majordomo@... with no subject
          > and "unsubscribe ai-geostats" followed by "end" on the next line in
          > the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
          > * Support to the list is provided at http://www.ai-geostats.or
          > g



          --
          * To post a message to the list, send it to ai-geostats@...
          * As a general service to the users, please remember to post a summary of any useful responses to your questions.
          * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
          * Support to the list is provided at http://www.ai-geostats.org
        • Ralf Stosius
          Hello Koen Matlab is very slow because it s only an interpreter language, dealing with every line code at a time. You can compile matlab functions with the
          Message 4 of 9 , Mar 1 6:59 AM
          • 0 Attachment
            Hello Koen

            Matlab is very slow because it's only an interpreter language, dealing with every line code at a time. You can compile matlab functions with the invoked mcc or any other compiler to make things faster (not calculating the time you need to learn how things are going).

            kind regards, Ralf Stosius

            > To clear things up,
            >
            > I want to calculate the variance of values within an area (20x20m).
            >
            > So you calculate the semi-variogram value from each point to every other
            > point in that area, you add up all the terms and divide by the number of
            > terms/pairs.
            >
            > I think it's called a "block to block" variogram average, not sure.
            >
            > A link to an illustration:
            >
            > http://www.houlding.net/simon/DVEpaper/DVEfig03.htm
            >
            > As I explained, I'm looking for an easy way to estimate the gamma(V,V)
            > value.
            >
            > I used matlab to code for the distances between pairs but, it takes so
            > much time compared to geoR or gstat that I doubt I'm working correctly or
            > these packages are optimized in some way to cut back on calculation times..
            > Bottom line is that I don't want to spent to much time coding stuff and
            > more time doing the actual analysis.
            >
            > Koen...
            >
            > > Hi,
            > >
            > > what do you mean by average semi-variance? The semivariance at any lag is
            > > always going to be the average of the semivariance between many lag pairs
            > > (the exact number depends on sample size, spacing etc). As far as I am
            > > aware
            > > R calculates the average semivariance for each lag and presents this as
            > > the
            > > "experiemental semivariogram". Other softwarre provide the variogram
            > > cloud,
            > > the values of individual pair comparisons, from which the experimental
            > > variagram is averaged,
            > >
            > > hope this helps
            > >
            > > Benjamin
            >
            > --
            > * To post a message to the list, send it to ai-geostats@...
            > * As a general service to the users, please remember to post a summary of any useful responses to your questions.
            > * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
            > * Support to the list is provided at http://www.ai-geostats.org
            >


            --
            * To post a message to the list, send it to ai-geostats@...
            * As a general service to the users, please remember to post a summary of any useful responses to your questions.
            * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
            * Support to the list is provided at http://www.ai-geostats.org
          • Koen Hufkens
            ... I know that you can discretize block estimates with a pretty good accuracy with a limited amount of points. But, I was convinced that I could use grided
            Message 5 of 9 , Mar 1 1:53 PM
            • 0 Attachment
              > Note that gamma(V,V) is a variogram model property, not a data
              > property: in the figure you mention, the big dots are data points,
              > the small dots discretize the block but do not indicate observed
              > data.

              I know that you can discretize block estimates with a pretty good accuracy
              with a limited amount of points. But, I was convinced that I could use
              grided observed data and gamma(V,V) as an estimate for the variance within
              my grided block.

              To clarify,

              I did measure the point values in a grid in a plot/block. I don't have to
              estimate them, I just need a spacially depended estimate of the whole
              plot/block variance.

              The problem is that I would like to automate the procedure of calculating
              that within block variance because variogram models need to be fit
              visually most of the time, wich is time consuming. When repeating
              calculations on randomized data this isn't an option. So if gamma(V,V)
              really is model property rather then a data property I have a problem...

              If you can see the trees for the forest, because I don't.
              Koen.

              --
              * To post a message to the list, send it to ai-geostats@...
              * As a general service to the users, please remember to post a summary of any useful responses to your questions.
              * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
              * Support to the list is provided at http://www.ai-geostats.org
            • Gerald Boogaart
              Dear Koen, ... Thats my view of the forest: When you directly measure the mean value of blocks, with the blocks all of equal shape B, that is nothing else than
              Message 6 of 9 , Mar 2 1:59 AM
              • 0 Attachment
                Dear Koen,

                > I did measure the point values in a grid in a plot/block. I don't have to
                > estimate them, I just need a spacially depended estimate of the whole
                > plot/block variance.
                >
                > The problem is that I would like to automate the procedure of calculating
                > that within block variance because variogram models need to be fit
                > visually most of the time, wich is time consuming. When repeating
                > calculations on randomized data this isn't an option. So if gamma(V,V)
                > really is model property rather then a data property I have a problem...
                >
                > If you can see the trees for the forest, because I don't.
                > Koen.

                Thats my view of the forest:

                When you directly measure the mean value of blocks, with the blocks all of
                equal shape B, that is nothing else than measuring points x in another random
                process Y , which is related to original process Z by the simple relation
                Y(x) = \int_{B} Z(x+w) dw / Area(B). (1)
                But anyway that is a random process in its own right and can be handled by
                ordinary pointwise geostatistics. That is in the same way true, when we have
                a block approximated by datapoints:

                Y(x) = 1/|B| \sum_{w in B} Z(x+w) (2)

                That the variograms of Z and Y are related in the way

                gamma_Y(x,x') = 1/|B|^2 \int \int gamma_Z(x+w,x'+w') dw dw'

                or resp.

                gamma_Y(x,x') = 1/|B|^2 \sum_{w in B} \sum_{w' in B} gamma_Z(x+w,x'+w')

                stays a biproduct, which would more or less (or more less) allow to infer
                gamma_Z from gamma_Y. However you don't seem to need relation. You can go
                along with gamma_Y only.

                The first problem is that you measure according to equation (2) but you want
                to estimate according to equation (1). Anyway (2) should well approximate
                (1).

                The second problem is: The variogram of Y should be very smooth in the
                origing, but it is most sure not Gaussian.

                Gerald

                -------------------------------------------------
                Prof. Dr. K. Gerald v.d. Boogaart
                Professor als Juniorprofessor für Statistik
                http://www.math-inf.uni-greifswald.de/statistik/

                office: Franz-Mehring-Str. 48, 1.Etage rechts
                e-mail: Gerald.Boogaart@...
                phone: 00+49 (0)3834/86-4621
                fax: 00+49 (0)89-1488-293932 (Faxmail)
                fax: 00+49 (0)3834/86-4615 (Institut)

                paper-mail:
                Ernst-Moritz-Arndt-Universität Greifswald
                Institut für Mathematik und Informatik
                Jahnstr. 15a
                17487 Greifswald
                Germany
                --------------------------------------------------


                --
                * To post a message to the list, send it to ai-geostats@...
                * As a general service to the users, please remember to post a summary of any useful responses to your questions.
                * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
                * Support to the list is provided at http://www.ai-geostats.org
              • Syed Abdul Rahman Shibli
                If you have gridded observed data at close and regular spacing for the block, then why bother with a Gamma(V,V)? Just calculate the variance for the block
                Message 7 of 9 , Mar 2 3:18 AM
                • 0 Attachment
                  If you have gridded observed data at close and regular spacing for the block, then why bother with a Gamma(V,V)? Just calculate the variance for the block directly.

                  On the one hand you need "a spatially dependent estimate of the whole plot/block variance" but on the other hand you want to dispense with modelling any correlation (whether variogram, or correlogram, etc) because it's "time consuming." Not sure how to tackle this one, something has to give. How about implementing an inverse distance weighting scheme to derive the within block variance instead of working with a variogram measure?

                  Cheers,

                  Syed

                  >> Note that gamma(V,V) is a variogram model property, not a data
                  >> property: in the figure you mention, the big dots are data points,
                  >> the small dots discretize the block but do not indicate observed
                  >> data.
                  >
                  >I know that you can discretize block estimates with a pretty good accuracy
                  >with a limited amount of points. But, I was convinced that I could use
                  >grided observed data and gamma(V,V) as an estimate for the variance within
                  >my grided block.
                  >
                  >To clarify,
                  >
                  >I did measure the point values in a grid in a plot/block. I don't have to
                  >estimate them, I just need a spacially depended estimate of the whole
                  >plot/block variance.
                  >
                  >The problem is that I would like to automate the procedure of calculating
                  >that within block variance because variogram models need to be fit
                  >visually most of the time, wich is time consuming. When repeating
                  >calculations on randomized data this isn't an option. So if gamma(V,V)
                  >really is model property rather then a data property I have a problem...
                  >
                  >If you can see the trees for the forest, because I don't.
                  >Koen.
                  >
                  >--
                  >* To post a message to the list, send it to ai-geostats@...
                  >* As a general service to the users, please remember to post a summary of any useful responses to your questions.
                  >* To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
                  >* Support to the list is provided at http://www.ai-geostats.org
                  >
                  >

                  --
                  * To post a message to the list, send it to ai-geostats@...
                  * As a general service to the users, please remember to post a summary of any useful responses to your questions.
                  * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
                  * Support to the list is provided at http://www.ai-geostats.org
                • Koen Hufkens
                  ... This is indeed an option and a simple one. The original sampling design was roughly tested with a RMSE/MSE analysis. Or, taking the statistics of all the
                  Message 8 of 9 , Mar 2 5:23 AM
                  • 0 Attachment
                    > If you have gridded observed data at close and regular spacing for the
                    > block, then why bother with a Gamma(V,V)? Just calculate the variance
                    > for the block directly.

                    This is indeed an option and a simple one. The original sampling design
                    was roughly tested with a RMSE/MSE analysis. Or, taking the statistics of
                    all the grid data as a reference and then sampling smaller and smaller
                    portions of this data to get an idea of the block variance and how many
                    samples could suffice.

                    > On the one hand you need "a spatially dependent estimate of the whole
                    > plot/block variance" but on the other hand you want to dispense with
                    > modelling any correlation (whether variogram, or correlogram, etc)
                    > because it's "time consuming."

                    Time consuming isn't exactly bad but I think that if I have to repeat
                    fitting curves a lot of times because of the randomizations etc. Result, I
                    would be fitting curves more then I would like and probably is useful.

                    > Not sure how to tackle this one, something has to give.

                    Indeed, that's what I'm finding out right now. Implementing a technique in
                    my work that's as efficient as possible without losing to much accuracy.

                    > How about implementing an inverse distance weighting scheme to derive
                    > the within block variance instead of working with a variogram measure?

                    I'll look into that...
                    Thanks,
                    Koen.

                    --
                    * To post a message to the list, send it to ai-geostats@...
                    * As a general service to the users, please remember to post a summary of any useful responses to your questions.
                    * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
                    * Support to the list is provided at http://www.ai-geostats.org
                  • Koen Hufkens
                    ... Hard one without the mathematical writing, I looked it up and you refer to following calculations I presume (end of the page):
                    Message 9 of 9 , Mar 2 5:44 AM
                    • 0 Attachment
                      > ...
                      > gamma_Y(x,x') = 1/|B|^2 \sum_{w in B} \sum_{w' in B} gamma_Z(x+w,x'+w')
                      >
                      > stays a biproduct, which would more or less (or more less) allow to infer
                      > gamma_Z from gamma_Y. However you don't seem to need relation. You can go
                      > along with gamma_Y only.

                      Hard one without the mathematical writing, I looked it up and you refer to
                      following calculations I presume (end of the page):

                      http://uk.geocities.com/drisobelclark/PG1979/Chapter_3/Part2.htm

                      > The first problem is that you measure according to equation (2) but you
                      > want
                      > to estimate according to equation (1). Anyway (2) should well approximate
                      > (1).

                      It could do the trick, but then again... as someone asked before is it
                      worth the effort, considering the pretty dense sampling grid in the
                      plot/block maybe this isn't the best way to approach the problem!?

                      > The second problem is: The variogram of Y should be very smooth in the
                      > origing, but it is most sure not Gaussian.

                      Correct on that one.
                      Or, I've got data that is highly skewed (LAI, leaf area indexes) and other
                      data that isn't (that much, reflectance/albedo measurements). So getting a
                      variogram in the first place has horror qualities (transforming,
                      backtransforming and that mess) even if I do the actual fitting on all the
                      data from multiple plots/blocks.

                      Thanks for all the input,
                      Koen.

                      --
                      * To post a message to the list, send it to ai-geostats@...
                      * As a general service to the users, please remember to post a summary of any useful responses to your questions.
                      * To unsubscribe, send an email to majordomo@... with no subject and "unsubscribe ai-geostats" followed by "end" on the next line in the message body. DO NOT SEND Subscribe/Unsubscribe requests to the list
                      * Support to the list is provided at http://www.ai-geostats.org
                    Your message has been successfully submitted and would be delivered to recipients shortly.