The Data of Human Population Throughout time

The Human population has dramatically and exponentially increased. The grow of agriculture and small communities initially started the increase of population, but the biggest boom occurred around the 1700 to 2019. This was because of life sustaining resources becoming more widely available. Communication and exploration brought humans together and allowed for the growth of knowledge and trade. Trade and later the mass production of food allowed for wider availability. Less people were dying from starvation. Improvements in medicine allowed for humans to live longer and combat disease. And with small secluded villages or towns becoming small cities with lots of available homes, people don’t have to worry about shelter. Of course human prosperation sounds like a great thing, but this could also be dangerous.

Predicted Human Population

Predicted Human Population in Billions
Year HPop
1400 0.34
1500 0.46
1600 0.55
1700 0.60
1800 0.89
1850 1.26
1900 1.66
1950 2.54
2000 6.14
2050 9.74
2100 16.54

Graph of Human Population over Time

As you can see from the accompanying plots, the exponential growth of humans throughout time has been growing exponentially.

Fitted Data

The data points were then linearly fitted by using a polynomial equation of a fourth degree.

fit <- lm(HPop~poly(Year, 4, raw = TRUE))
plot(Year, HPop, main = "Exponential Fit of the Growing Human Population", ylab = "Population (in Billions)", col = "slateblue2")
lines (Year, predict(fit), col = "mediumvioletred")

#Below the summary of the fit is provided
summary(fit)
## 
## Call:
## lm(formula = HPop ~ poly(Year, 4, raw = TRUE))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.53915 -0.19232  0.04438  0.18878  0.41755 
## 
## Coefficients:
##                              Estimate Std. Error t value Pr(>|t|)   
## (Intercept)                 3.221e+03  7.071e+02   4.555  0.00387 **
## poly(Year, 4, raw = TRUE)1 -7.940e+00  1.644e+00  -4.829  0.00291 **
## poly(Year, 4, raw = TRUE)2  7.311e-03  1.424e-03   5.133  0.00215 **
## poly(Year, 4, raw = TRUE)3 -2.981e-06  5.449e-07  -5.470  0.00156 **
## poly(Year, 4, raw = TRUE)4  4.542e-10  7.770e-11   5.845  0.00111 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.366 on 6 degrees of freedom
## Multiple R-squared:  0.997,  Adjusted R-squared:  0.995 
## F-statistic: 498.6 on 4 and 6 DF,  p-value: 1.077e-07

This can lead to many dangers to us and our world. As humans reach and surpass their carrying capacity in an exponential way, food and resources have only been growing linearly in the past few years. Humans have needed to accommodate to their growing population by pushing forward and exploration on Earth. By doing this, deforestation and pollution have drove countless of species to extinction.

Residuals of the Plotted Data

The plot of the residuals along with the data collected from the residual function applied to the fit of the data is provided below.

##           1           2           3           4           5           6 
## -0.07246215  0.23488580 -0.14692559 -0.23771942  0.14266633  0.31530125 
##           7           8           9          10          11 
##  0.04437883 -0.53914735  0.41755035 -0.26082636  0.10229831

As shown in the above graph the points are randomly positioned above and below the line. This indicated that the residual plot data has a good fit.

Logistic Fit

The logistical data is provided below. This data was calculated through the use of all previous data (starting population at 1400, predicted 2100 population, the k value and so on) and the equation for the logistic fit.

LHPop <- 0.34
k <-0.04437883
Cap <- 2100
time <- seq(0,11,1)
length(time)
## [1] 12
tHPop <- (Cap*LHPop)/(LHPop+(Cap-LHPop)*exp(-k*time))
tHPop
##  [1] 0.3400000 0.3554260 0.3715518 0.3884091 0.4060310 0.4244523 0.4437091
##  [8] 0.4638394 0.4848828 0.5068807 0.5298762 0.5539148

Noise was added to flatten regression line.

rx <- rnorm(12, 0, 0.1)
rx
##  [1] -0.049865079  0.086243664  0.126090183 -0.007133484  0.009555787
##  [6]  0.036586632  0.078606700 -0.072780816  0.035094324  0.104214125
## [11]  0.209377283  0.106650750

The tHPop function was plotted.

tHPop <- tHPop+rx
plot(time, tHPop, main = "Logistical Data", col = "slateblue2")  

The plotted data was fitted using the following codes.

tHPop <- tHPop+rx
plot(time, tHPop, col = "slateblue2")
fit2 <- nls((tHPop~(Cap*LHPop)/(LHPop+(Cap-LHPop)*exp(-k*time))), start = c(Cap = 2100, k = 0.04437883), control = nls.control(maxiter = 10000, minFactor = 0.00000001))
summary(fit2)
## 
## Formula: tHPop ~ (Cap * LHPop)/(LHPop + (Cap - LHPop) * exp(-k * time))
## 
## Parameters:
##     Estimate Std. Error t value Pr(>|t|)
## Cap  -0.1562     1.1994  -0.130    0.899
## k     0.0191     0.1106   0.173    0.866
## 
## Residual standard error: 0.1457 on 10 degrees of freedom
## 
## Number of iterations to convergence: 67 
## Achieved convergence tolerance: 7.827e-06
lines(time, predict(fit2), col = "mediumvioletred")

Works Cited

OpenStax. “Human Population Growth.” Human Population Growth | Biology II, OpenStax College, https://courses.lumenlearning.com/suny-biology2xmaster/chapter/human-population-growth/.

“Animation: Human Population Growth over All of History.” Visual Capitalist, Visual Capitalist, 31 Jan. 2018, https://www.visualcapitalist.com/animation-population-growth-history/.

Max Roser, Hannah Ritchie and Esteban Ortiz-Ospina (2013) - “World Population Growth”. Published online at OurWorldInData.org. Retrieved from: ‘https://ourworldindata.org/world-population-growth’ [Online Resource]

O’Neill, Aaron. “Estimated Global Population 10,000BCE-2100.” Statista, Statista, 23 Sept. 2020, https://www.statista.com/statistics/1006502/global-population-ten-thousand-bc-to-2050/.

I would like to take this opportunity to thank my fellow classmates that helped me with my codes and structure. I was having some issues with the codes not working. Without them I wouldn’t have been able to finish the way I wanted.

.