The Total Fertility Rate (TFR) is the average number of children a woman would give birth in the course of her life. Unfortunately, TFR  in Karnataka has fallen faster than the trend observed nationally. Let us do some analysis as to how TFR is becoming a serious issue for Karnataka and in particular the impact on Kannadiga identity itself. We will use ChatGPT and Python to get this done.

From the news item in The Hindu newspaper

https://www.thehindu.com/news/national/karnataka/in-2030-deaths-in-karnataka-will-be-12-lakh-and-births-only-102-lakh/article65204983.ece

I have taken the following figures:

Years TFR-National TFR-Karnataka

  • 1992-93 3.39 2.85
  • 1998-99 2.85 2.13
  • 2005-06 2.7 2.1
  • 2015-16 2.2 1.8
  • 2019-21 2.0 1.7

In Karnataka, the total number of births is reducing in line with fertility having dropped to 1.7 in 2019-21, and possibly 1.5 by 2030. If the estimated births decrease by 1% every year, then in 2030, the number of actual births could be 10.2 lakh. However, the compound annual growth rate (CAGR) of deaths is almost 7%, which means the number of deaths in 2030 will be close to 12 lakh, overtaking the number of births, leading to a population decline.

To analyze the given data and project the Total Fertility Rate (TFR) for Karnataka in 2025 and 2030, we can use Python’s data analysis and visualization libraries, such as Pandas, Matplotlib, and Numpy. Here’s a step-by-step procedure to plot the data and make the projections using linear regression:

    • Import necessary libraries
    • Create data structures for the given data
    • Plot the data
    • Perform linear regression to make future projections

I used ChatGPT and gave the following prompt:
Think of yourself as an expert statistician with good Python skills and analyze the data:
Years TFR-National TFR-Karnataka
1992-93 3.39 2.85
1998-99 2.85 2.13
2005-06 2.7 2.1
2015-16 2.2 1.8
2019-21 2.0 1.7
Create a Python script to plot the data and work out the TFR-Karnataka in 2025 and 2030.

ChatGPT generated the following script:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Data
years = np.array([1992, 1998, 2005, 2015, 2019])
tfr_national = np.array([3.39, 2.85, 2.7, 2.2, 2.0])
tfr_karnataka = np.array([2.85, 2.13, 2.1, 1.8, 1.7])

# Plotting the data
plt.figure(figsize=(10, 6))
plt.plot(years, tfr_national, marker='o', label='TFR-National')
plt.plot(years, tfr_karnataka, marker='o', label='TFR-Karnataka')
plt.xlabel('Year')
plt.ylabel('Total Fertility Rate (TFR)')
plt.title('TFR Trend: National vs Karnataka')
plt.legend()
plt.grid(True)
plt.show()

# Linear regression for future projection
# Reshape years for the model
years_reshaped = years.reshape(-1, 1)

# Create and fit the model for Karnataka TFR
model_karnataka = LinearRegression()
model_karnataka.fit(years_reshaped, tfr_karnataka)

# Future years for prediction
future_years = np.array([2025, 2030]).reshape(-1, 1)

# Predict future TFR for Karnataka
tfr_karnataka_future = model_karnataka.predict(future_years)

# Display the results
print(f"Predicted TFR for Karnataka in 2025: {tfr_karnataka_future[0]:.2f}")
print(f"Predicted TFR for Karnataka in 2030: {tfr_karnataka_future[1]:.2f}")

# Plot the predictions
plt.figure(figsize=(10, 6))
plt.plot(years, tfr_karnataka, marker='o', label='TFR-Karnataka')
plt.plot(np.append(years, [2025, 2030]), np.append(tfr_karnataka, tfr_karnataka_future), marker='o', linestyle='--', color='orange', label='Predicted TFR-Karnataka')
plt.xlabel('Year')
plt.ylabel('Total Fertility Rate (TFR)')
plt.title('TFR Trend and Prediction for Karnataka')
plt.legend()
plt.grid(True)
plt.show()

After running the above script, I got the above chart and the following TFR figures for Karnataka for the years 2025 and 2030.

Predicted TFR for Karnataka in 2025: 1.42
Predicted TFR for Karnataka in 2030: 1.23

 

Shares:

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *