• Overpopulation and Climate Catastrophe: An economist view

    If you know me or have visited this blog before, you’ll know that my book, The Hydra, is about overpopulation. In it, a scientist decides the world is so full of humans, that he must save the planet by engineering and releasing an infertility virus. I won’t give away too much of the plot, but

  • The moment I became a writer

    The pub was crowded, as was usual for pub quiz night in our local Brussels boozer, an Irish pub by the name of ‘Michael Collins’. The quiz had reached that point where the organisers pause to tabulate the scores from the first four question rounds. Our team members all looked up from our scrawled notes

  • Reviews of The Hydra on Amazon

    Most Recent Customer Reviews 5.0 out of 5 starsIngenious The plot is very well written and the narrative managed to make the villain a sympathetic character even when you know he is guilty. The twist in the end actually surprised me. Read more Published 5 months ago by Christiane C. Brossi 5.0 out of 5

Load more

We begin by plotting a scattergram of the birth rate and GDP per capita data for 1990 to 2015 and for all 4 categories of country (100 observations total). The scatter suggests a functional form which has the following properties:

1) convex
2) Having a natural limit at birth rates of around 45, (beyond which human populations are generally unable to reproduce faster)
3) Tapering to some limit of birth rates of around 7.5 as income goes to infinity, reflecting perhaps the innate human desire to procreate, independent of income levels

We test the following functional form:

b = (45*min(Y)^a)/y^a

by taking logs:

ln(b) = ln(45*min(Y)) – a*ln(Y)

and estimating using OLS. Here are the regression results:

R Square 0.961571033

Coefficient of Intercept 6.25544297
t-stat of Intercept 96.5661

Cofficient of X Variable -0.36486599
t-stat of X Variable -49.5193

The intercept is closely approximated by the constant ln(45*min(Y)), the t-scores are high and the R Square shows a very good fit.

Here’s the fitted values against the actual values:

fitted-birth-rates-against-actual-values

×

As with birth rates, we use data for 4 categories of countries from 1990 to 2015 (100 observations total). We have two explanatory variables, AGE and Y, where AGE is defined as the percentage of the population aged over 65 and Y is per capita GDP.

After eyeballing the scattergrams, we test the following functional form:

d = (minY^a)/Y^a * (1/AGE^g)

Where minY is the constant equal to the smallest value of Y in the series.

Logarithmic transformation gives:

ln(d) = ln(minY^a) – a*ln(Y) – g*ln(AGE)

which we test on the data using OLS. Here are the results:

Adjusted R square: 75.191

Intercept coefficient: 7.37384
t-Stat: 20.4011

Y coefficient: -1.01444
t-Stat: -13.1059

AGE coefficient: 2.0097
t-Stat: 11.5208

The estimated intercept is a good, but not perfect, approximation of ln(minY^a)

Here are the fitted against actual values of the scattergram for death rate against per capita GDP:

fitted-death-rates-against-actual-values

While the results are not as good as with the birth rates calculations, it is nevertheless a good enough fit and the explanatory variables have a strong enough confidence factor to be usable in our estimations.

×

We begin by examining the scatter of data for 100 observations of per capita GDP and per capita emissions for 4 categories of countries, over 25 years (1990 – 2015).

The scatter suggests a cubic functional form, so we test:

GHG = a + b*Y + c*Y^2 + d*Y^3

where GHG are per capita emissions of GHG, and Y is per capita GDP.

The results from OLS regression are:

Adjusted R square: 0.980438073

coefficient a: 1090
t-stat a: 3.06

coefficient b: 0.709310153
t-Stat b: 8.241453

coefficient c: -0.0000047025
t-Stat c: -1.01233

coefficient d: -0.000000000105314
t-Stat d: -1.47005

While the t-scores on the squared and cubed terms are low, the number of observations are also limited.

Here is the plot of the fitted against actual values:

fitted-emissions-to-gdp-against-actual-values

×