According to data from the World Bank for the period starting from 1970 to 2023, unemployment is a significant social and economic issue not just in India, but in many countries worldwide. Unemployment is often believed to cause social problems such as crime. In this article, we will discuss whether unemployment affects intentional homicides in India and present the results of tests that have been carried out.
To analyze causality, the Augmented Dickey-Fuller (ADF) test is used to check whether a given time series is stationary or not. Both the crime rate and unemployment rate were found to be stationary using the ADF test, which is a crucial precondition for any meaningful analysis of causality. Additionally, the Granger causality test was carried out to determine whether one time series can be used to predict another. The results of this test suggest that unemployment does not cause intentional homicides in India. This finding is consistent with previous studies conducted in other countries, which also found no causal relationship between unemployment and homicide rates.
It is important to note that while the Granger causality test results suggest that there is no direct causal relationship between unemployment and intentional homicides in India, unemployment can indirectly contribute to crime rates through various channels. For example, it can lead to poverty and social exclusion, which can increase the likelihood of criminal behavior. Unemployment can also increase the prevalence of mental health problems, which can contribute to criminal behavior.
Furthermore, other economic and social factors can also affect crime rates in India, such as income inequality, corruption, and political instability. Therefore, drawing definitive conclusions about the relationship between unemployment and crime rates is challenging.
In conclusion, policymakers should consider the complex and multifaceted nature of the relationship between unemployment and crime rates when designing policies to address these issues in India or elsewhere. The results of the ADF and Granger causality tests suggest that while there is no direct causal relationship between unemployment and intentional homicides in India, unemployment can indirectly contribute to crime rates through various channels.
Results and Plots
ADF test results for crime rate:
ADF Statistic: -2.272 | p-value: 0.181
ADF test results for unemployment rate:
ADF Statistic: -1.845 | p-value: 0.358
Granger causality test results for lag 1:
(0.07499436122060393, 0.7863630214700073, 26.0, 1.0)
Granger causality test results for lag 2:
(0.35672505603551147, 0.7037696733425208, 23.0, 2.0)
Granger causality test results for lag 3:
(0.09877987173789797, 0.9597722459341953, 20.0, 3.0)
Granger causality test results for lag 4:
(0.5602795983551704, 0.6945768767751053, 17.0, 4.0)
Granger causality test results for lag 5:
(0.651826140448789, 0.6650983898369596, 14.0, 5.0)
![](https://i0.wp.com/akanther.com/wp-content/uploads/image-7.png?resize=640%2C521&ssl=1)
![GDP - Unemployment and Crime Rates in India - Is There a Causal Link](https://i0.wp.com/akanther.com/wp-content/uploads/GDP-Unemployment-and-Crime-Rates-in-India-Is-There-a-Causal-Link.png?resize=640%2C325&ssl=1)
![GDP - Unemployment and Crime Rates in India residuals and fitted plots](https://i0.wp.com/akanther.com/wp-content/uploads/GDP-Unemployment-and-Crime-Rates-in-India-best-fitted-plots.png?resize=640%2C325&ssl=1)
World Bank Data can be downloaded from the Python code below,
import requests
import pandas as pd
# API endpoint for the World Bank's data
api_endpoint = "http://api.worldbank.org/v2/"
# List of indicators to download
indicators = [
"NY.GDP.MKTP.CD", # GDP
"SL.UEM.TOTL.ZS", # Unemployment rate
"VC.IHR.PSRC.P5", # Crime rate
]
# Country code for India
country_code = "IN"
# Download the data
dataframes = []
for indicator in indicators:
url = f"{api_endpoint}country/{country_code}/indicator/{indicator}?format=json&per_page=5000&date=1970:2023"
response = requests.get(url)
data = response.json()[1]
df = pd.DataFrame(data)
df = df[['date', 'value']]
df.columns = ['Year', indicator]
df.set_index('Year', inplace=True)
df[indicator] = pd.to_numeric(df[indicator], errors='coerce')
dataframes.append(df)
# Merge the dataframes into one and sort by year
merged_df = pd.concat(dataframes, axis=1)
merged_df.sort_index(inplace=True)
# Remove any NaN or inf values and ensure all columns have the same length
merged_df.dropna(inplace=True)
You must log in to post a comment.