Posted: Tue Jan 10, 2006 3:09 pm Post subject: Bootstrapping Technique Applied to the Hubbert Linearization
Motivation:
This thread is a continuation of How Reliable is the Hubbert Linearization Method?. The main motivation here is again to gain some insight in the robusteness, the limitations of the curve fitting aproach. One main issue is the lack of confidence intervals on crucial parameters (Ultimate Recoverable Ressource, growth rate and peak date).
What is bootstrapping? it's a way to repeat an experiment. With the Bootstrap, a new set of experiment is not needed, the original data is reused. Specifically, the original observations are randomly reassigned and the estimate is recomputed. These assignments and recomputations are done a large number of times and considered as repeated assignements.
Why is the bootstrap attractive? It can answer many questions with very little in the way of modelling, assumptions and can be applied easily.
In general, the bootstrap is a methodology for answering the following question: How accurate is a parameter estimator?. Bootstrapping is a fairly new method in statistics and has been proposed by Efron in 1979. The R software (open source ) has a bootstrap library called 'boot' that implements almost all the standard techniques. I won't go into the details of the Bootstrap theory, a lot of details about the techniques and the R language implementation used in this post can be found in the following document:
where Q(t) is the cumulative production at time t, K is the growth rate and URR=Q(t=+inf) (for a good discussion on this approach: Another Way of Looking at CERA).
The BP production data are used for the world production.
For each starting year Y we randomly generate 2,000 new samples (called bootstrap replicates) taken in the time range [Y:2004] on which a robust least-square fitting is perfomed (function rlm).
large version
(a) URR
large version
(b) K
Histograms and normal quantile-comparison plots for the bootstrap replications of the URR (a) and K (b). The broken vertical line in each histogram shows the original value for the model fit to the original sample.
The confidence intervals are derived from the bootstrap replicates using the so-called bias-corrected accelerated method (BCa). The R script is given in the post below and has produced the following numerical results.
We can also look at the correlation between the bootstrap replicates of the K and URR coeffcients:
Scatterplot of the bootstrap replications of the URR and K coefficients for the BP data. The concentrations ellipse are drawn at 50, 90, and 99% level using a robust estimate of the covariance matrix of the coefficients
Discussion:
1- The 95% confidence intervals for the URR and K using data from 1980 to 2004 is [1838.0 2223.0] Gb and [5.0 5.6]% respectively.
2- Not surprisingly, the confidence intervals are strongly affected by the 70's hump in production. The 1965-1970 period constitutes a transition or shock period between two production regimes.
3- Estimates from data starting around 1970 are fairly stable
4- the parameter K is negatively correlated with the URR (higher K values will give lower URR)
5- Many variations can be made, for instance in the way the robust least-square is applied
Posted: Tue Jan 10, 2006 3:10 pm Post subject: Re: Bootstrapping Technique Applied to the Hubbert Lineariza
Enjoy!
Code:
####################################################################
##
## Script that illustrate bootstrapping techniques applied
## to the Hubbert linearization of the total world production.
##
## see the thread http://www.peakoil.com/fortopic16349.html for more details
##
## Author: Khebab (January, 2006)
## version 1.0
##
####################################################################
rm(list=ls(all=TRUE)) # clean up
##
## Load matlab emulator package and gremisc (to install)
## in the menu bar: packages/install pacakage(s)
##
library(matlab)
library(gregmisc)
library(boot)
library(MASS)
library(car)
####################################################################
##
## Main
##
####################################################################
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum