女性权益之镜:印度侵害事件分析

news2024/12/28 21:10:52

1.项目背景

近年来,印度社会关于女性权利的讨论日益频繁,然而,女性受侵害的违法事件仍层出不穷,这些事件不仅威胁到女性的生命安全,还深刻影响了社会的稳定与发展,尽管印度政府在法律和政策层面采取了一系列措施来保护女性的权利,减少性别暴力,但实际情况表明,这些措施的执行仍然存在许多挑战,女性的安全仍然面临严重威胁。在2024年8月9日,印度西孟加拉邦首府加尔各答发生了一起震惊全世界的案件,31岁的女实习医生在加尔各答一家医院的大厅睡觉时遭到侵害,最终不幸遇害,这起案件再一次引发了人们对女性安全的关注,也揭示了印度女性在公共场所和工作环境中面临的巨大风险。

本项目通过可视化分析、相关性分析和方差分析,深入探讨了印度不同年份侵害女性的事件,这些结论为进一步理解印度不同地区和不同年份的犯罪动态提供了有力的依据,并为未来的政策制定和执法提供了参考依据。

2.数据说明

字段说明
State地区
Year年份
Rape强奸案件数
K&A绑架与袭击案件数
DD聘礼致死案件数
AoW针对女性的袭击案件数
AoM侮辱女性贞操案件数
DV家庭暴力案件数
WT妇女贩卖案件数

3.Python库导入及数据读取

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import spearmanr,f_oneway
data = pd.read_csv('/home/mw/input/08236512/CrimesOnWomenData.csv')

4.数据预览及数据预处理

# 查看数据信息
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 736 entries, 0 to 735
Data columns (total 10 columns):
 #   Column      Non-Null Count  Dtype 
---  ------      --------------  ----- 
 0   Unnamed: 0  736 non-null    int64 
 1   State       736 non-null    object
 2   Year        736 non-null    int64 
 3   Rape        736 non-null    int64 
 4   K&A         736 non-null    int64 
 5   DD          736 non-null    int64 
 6   AoW         736 non-null    int64 
 7   AoM         736 non-null    int64 
 8   DV          736 non-null    int64 
 9   WT          736 non-null    int64 
dtypes: int64(9), object(1)
memory usage: 57.6+ KB

# 查看重复值
data.duplicated().sum()
0
# 删除无关的'Unnamed: 0'列
data.drop(columns=['Unnamed: 0'],inplace=True)
# 将年份转换为整数
data['Year'] = data['Year'].astype(int)
# 增加一个汇总列,计算每个地区每年发生的所有案件总数
data['Total_Crimes'] = data[['Rape', 'K&A', 'DD', 'AoW', 'AoM', 'DV', 'WT']].sum(axis=1)
print('查看各地区的名称是否存在重复的州名或者格式不一样的州名:')
print(data['State'].unique())
查看各地区的名称是否存在重复的州名或者格式不一样的州名:
['ANDHRA PRADESH' 'ARUNACHAL PRADESH' 'ASSAM' 'BIHAR' 'CHHATTISGARH' 'GOA'
 'GUJARAT' 'HARYANA' 'HIMACHAL PRADESH' 'JAMMU & KASHMIR' 'JHARKHAND'
 'KARNATAKA' 'KERALA' 'MADHYA PRADESH' 'MAHARASHTRA' 'MANIPUR' 'MEGHALAYA'
 'MIZORAM' 'NAGALAND' 'ODISHA' 'PUNJAB' 'RAJASTHAN' 'SIKKIM' 'TAMIL NADU'
 'TRIPURA' 'UTTAR PRADESH' 'UTTARAKHAND' 'WEST BENGAL' 'A & N ISLANDS'
 'CHANDIGARH' 'D & N HAVELI' 'DAMAN & DIU' 'LAKSHADWEEP' 'PUDUCHERRY'
 'Andhra Pradesh' 'Arunachal Pradesh' 'Assam' 'Bihar' 'Chhattisgarh' 'Goa'
 'Gujarat' 'Haryana' 'Himachal Pradesh' 'Jammu & Kashmir' 'Jharkhand'
 'Karnataka' 'Kerala' 'Madhya Pradesh' 'Maharashtra' 'Manipur' 'Meghalaya'
 'Mizoram' 'Nagaland' 'Odisha' 'Punjab' 'Rajasthan' 'Sikkim' 'Tamil Nadu'
 'Telangana' 'Tripura' 'Uttar Pradesh' 'Uttarakhand' 'West Bengal'
 'A & N Islands' 'Chandigarh' 'D&N Haveli' 'Daman & Diu' 'Delhi UT'
 'Lakshadweep' 'Puducherry']

有些州名存在多种拼写方式或格式,例如 “ANDHRA PRADESH” 和 “Andhra Pradesh”,以及 “BIHAR” 和 “Bihar”、‘D & N Haveli’和’D&N Haveli’

# 将所有州名标准化为首字母大写
data['State'] = data['State'].str.title()
# 将 'D&N Haveli' 改为 'D & N Haveli'
data['State'] = data['State'].replace('D&N Haveli', 'D & N Haveli')
# 检查数据中是否存在同一年同一个地区的数据重复
duplicates = data[data.duplicated(subset=['Year', 'State'], keep=False)]

# 显示可能存在重复的记录
duplicates.sort_values(by=['Year', 'State'])
Empty DataFrame
Columns: [State, Year, Rape, K&A, DD, AoW, AoM, DV, WT, Total_Crimes]
Index: []

发现不存在重复值,即一年内没有记录多次同一个地区的数据。

# 检查每年有多少个不同的地区
yearly_counts = data.groupby('Year')['State'].nunique()

# 显示每年的地区数量
yearly_counts
Year
2001    34
2002    34
2003    34
2004    34
2005    34
2006    34
2007    34
2008    34
2009    34
2010    34
2011    36
2012    36
2013    36
2014    36
2015    36
2016    36
2017    36
2018    36
2019    36
2020    36
2021    36
Name: State, dtype: int64
# 找出2001年至2010年少了的两个地区
full_set = set(data['State'].unique())  # 所有可能的地区

# 找出2001年到2010年每年缺少的地区
missing_regions = {}

for year in range(2001, 2011):
    present_regions = set(data[data['Year'] == year]['State'].unique())
    missing = full_set - present_regions
    missing_regions[year] = missing

missing_regions
{2001: {'Delhi Ut', 'Telangana'},
 2002: {'Delhi Ut', 'Telangana'},
 2003: {'Delhi Ut', 'Telangana'},
 2004: {'Delhi Ut', 'Telangana'},
 2005: {'Delhi Ut', 'Telangana'},
 2006: {'Delhi Ut', 'Telangana'},
 2007: {'Delhi Ut', 'Telangana'},
 2008: {'Delhi Ut', 'Telangana'},
 2009: {'Delhi Ut', 'Telangana'},
 2010: {'Delhi Ut', 'Telangana'}}

发现2001-2010年少了2个地区的数据,进一步查看,发现少了的地区都是:

  • Delhi Ut(德里)
  • Telangana(特伦甘纳邦)
data.head()
               State  Year  Rape   K&A   DD   AoW   AoM    DV  WT  \
0     Andhra Pradesh  2001   871   765  420  3544  2271  5791   7   
1  Arunachal Pradesh  2001    33    55    0    78     3    11   0   
2              Assam  2001   817  1070   59   850     4  1248   0   
3              Bihar  2001   888   518  859   562    21  1558  83   
4       Chhattisgarh  2001   959   171   70  1763   161   840   0   

   Total_Crimes  
0         13669  
1           180  
2          4048  
3          4489  
4          3964  

5.描述性分析

5.1总述

data.describe(include='all')
                 State         Year         Rape           K&A           DD  \
count              736   736.000000   736.000000    736.000000   736.000000   
unique              36          NaN          NaN           NaN          NaN   
top     Andhra Pradesh          NaN          NaN           NaN          NaN   
freq                21          NaN          NaN           NaN          NaN   
mean               NaN  2011.149457   727.855978   1134.542120   215.692935   
std                NaN     6.053453   977.024945   1993.536828   424.927334   
min                NaN  2001.000000     0.000000      0.000000     0.000000   
25%                NaN  2006.000000    35.000000     24.750000     1.000000   
50%                NaN  2011.000000   348.500000    290.000000    29.000000   
75%                NaN  2016.000000  1069.000000   1216.000000   259.000000   
max                NaN  2021.000000  6337.000000  15381.000000  2524.000000   

                 AoW          AoM            DV          WT  Total_Crimes  
count     736.000000   736.000000    736.000000  736.000000    736.000000  
unique           NaN          NaN           NaN         NaN           NaN  
top              NaN          NaN           NaN         NaN           NaN  
freq             NaN          NaN           NaN         NaN           NaN  
mean     1579.115489   332.722826   2595.078804   28.744565   6613.752717  
std      2463.962518   806.024551   4042.004953   79.999660   9056.583832  
min         0.000000     0.000000      0.000000    0.000000      0.000000  
25%        34.000000     3.000000     13.000000    0.000000    146.750000  
50%       387.500000    31.000000    678.500000    0.000000   2632.000000  
75%      2122.250000   277.500000   3545.000000   15.000000  10299.000000  
max     14853.000000  9422.000000  23278.000000  549.000000  52246.000000  
  • 数据包含 36 个不同的地区,涵盖 2001 到 2021 年的时间范围。
  • 强奸案件:平均 727.86 起,波动较大(标准差 977.02),最高达到 6337 起。
  • 绑架与袭击:平均 1134.54 起,最高达 15381 起。
  • 聘礼致死:平均 215.69 起,多数地区案件较少(中位数 29 起)。
  • 针对女性的袭击:平均 1579.12 起,部分地区特别高(最高 14853 起)。
  • 家庭暴力:平均 2595.08 起,最高达 23278 起。
  • 妇女贩卖:大部分地区案件数较少(中位数 0 起),但某些地区案件数较高(最高 549 起)。
  • 总犯罪数:平均 6613.75 起,波动大(标准差 9056.58),部分地区犯罪总量显著较高(最高 52246 起)。

5.2可视化分析

# 计算每个地区的犯罪总数
total_crimes_by_state = data.groupby('State')['Total_Crimes'].sum().sort_values(ascending=False)
# 绘制总犯罪数柱状图
plt.figure(figsize=(14, 8))
total_crimes_by_state.plot(kind='bar')
plt.title('2001-2021年各地区累计犯罪总数分布')
plt.xlabel('地区')
plt.ylabel('总犯罪数')
plt.xticks(rotation=90)
plt.show()

  • 北方邦(Uttar Pradesh) 在2001-2021年间的累计犯罪总数是最高的,远高于其他地区,这表明北方邦在这段时间内的整体犯罪率显著高于其他邦。
  • 拉克沙群岛(Lakshadweep)本地治里(Puducherry) 以及 安达曼和尼科巴群岛(A & N Islands) 等地的累计犯罪总数明显较低,可能由于这些地区的较小人口规模和较低的社会活动密度。
    总之,印度的一些人口大邦,如 Uttar Pradesh 和 Madhya Pradesh,犯罪总数显著高于其他邦,而一些较小的联邦属地和人口较少的地区的犯罪总数明显较低。
# 计算2001-2021年所有犯罪事件的总数
total_crimes_per_year = data.groupby('Year')['Total_Crimes'].sum()

# 绘制总犯罪事件数的趋势图(折线图)
plt.figure(figsize=(14, 8))
plt.plot(total_crimes_per_year.index, total_crimes_per_year.values, marker='o')
plt.title('2001-2021年所有犯罪事件总数的趋势图')
plt.xlabel('年份')
plt.ylabel('犯罪事件总数')
plt.xticks(total_crimes_per_year.index) 
plt.grid(True)
plt.show()

  • 从2001年到2014年,犯罪事件总数显示出逐步上升的趋势。
  • 从2014年到2021年,尽管总体保持在较高水平,但也存在一定的波动。
  • 这也表明随着印度人口不断增加,犯罪事件也是不断增加,印度政府需要实施不同的保护女性的措施,并且加强执法力度!
# 计算每种犯罪类型在各年份的总数
crime_types = ['Rape', 'K&A', 'DD', 'AoW', 'AoM', 'DV', 'WT']
crime_trends = data.groupby('Year')[crime_types].sum()

# 绘制各类犯罪类型随时间变化的趋势图
plt.figure(figsize=(14, 8))
for crime_type in crime_types:
    plt.plot(crime_trends.index, crime_trends[crime_type], marker='o', label=crime_type)

plt.title('2001-2021年各类犯罪类型随时间的变化趋势')
plt.xlabel('年份')
plt.ylabel('犯罪案件总数')
plt.legend(title='犯罪类型')
plt.grid(True)
plt.xticks(crime_trends.index) 
plt.show()

  • 家庭暴力(DV) 一直是印度犯罪中的主要类型,而且从2001年到2021年持续上升,期间虽有波动,但是整体是显著上升的。
  • 针对女性的袭击(AoW) 案件在2001年到2010年比较平稳,甚至在2011年下降到0(可能是数据丢失),从2012年到2014年上升明显,直到2015年后,上升又比较平稳。
  • 绑架与袭击(K&A) 案件在2001年到2021年间总体呈现上升趋势,尤其是在2012年之后,有明显的增长。
  • 侮辱女性贞操(AoM) 在整个时间段内波动较大,特别是在2013年和2017年,出现了急剧变化。
  • 强奸案件(Rape) 案件在这段时间内波动较小,虽然在2012年后有所上升,但总体上变化不大。
  • 聘礼致死(DD) 案件在整个时间段内保持相对稳定,没有显著的变化趋势。
  • 妇女贩卖(WT) 案件数量相对较低,并且在这段时间内几乎没有显著变化。
    家庭暴力、针对女性的袭击、绑架与袭击案件在这段时间内增幅较大,显示出这些类型的犯罪在社会中日益严重;2011年和2012年可能是关键年份,犯罪趋势出现了显著变化,可能受到社会事件、法律调整或执法力度变化的影响。
# 找出每年犯罪总数最多的城市
top_city_per_year = data.loc[data.groupby('Year')['Total_Crimes'].idxmax()]

# 初始化图表
plt.figure(figsize=(14, 8))
colors = ['blue', 'orange']  # 使用两种不同的颜色

# 绘制折线和点,并交替使用不同的颜色
for i in range(len(top_city_per_year) - 1):
    plt.plot(top_city_per_year['Year'].iloc[i:i+2], 
             top_city_per_year['Total_Crimes'].iloc[i:i+2], 
             marker='o', color=colors[i % 2])

# 绘制标签
for i in range(len(top_city_per_year)):
    if i % 2 == 0:
        plt.text(top_city_per_year['Year'].iloc[i], top_city_per_year['Total_Crimes'].iloc[i] + 2000, 
                 top_city_per_year['State'].iloc[i], fontsize=9, ha='center', color=colors[i % 2])
    else:
        plt.text(top_city_per_year['Year'].iloc[i], top_city_per_year['Total_Crimes'].iloc[i] - 2000, 
                 top_city_per_year['State'].iloc[i], fontsize=9, ha='center', color=colors[i % 2])

plt.title('2001-2021年每年犯罪总数最多的城市及其犯罪总数')
plt.xlabel('年份')
plt.ylabel('犯罪总数')
plt.xticks(top_city_per_year['Year'])
plt.grid(True)
plt.show()

  • 北方邦(Uttar Pradesh) 在多数年份是犯罪总数最多的地区。
  • 在2003年到2007年间,安得拉邦(Andhra Pradesh) 多次成为犯罪总数最多的地区,然而,随着时间推移,安得拉邦的主导地位逐渐被北方邦取代。
  • 西孟加拉邦(West Bengal) 在2010年到2012年成为犯罪总数最多的地区,但这种情况没有持续太久,随后被北方邦超越,这一短暂的高峰可能与特定的社会或政治事件有关,导致该地区在这三年内犯罪总数增加。
  • 特里普拉邦(Tripura) 在2020年和2021年成为犯罪总数最多的地区,这可能反映了该地区在这些年内面临的特殊治安挑战。
def plot_crime_trends(region, start_year, end_year, crime_types):
    """
    绘制某个地区在特定年份范围内的犯罪事件趋势图或总犯罪次数。

    参数:
    region (str): 地区名称
    start_year (int): 起始年份
    end_year (int): 结束年份
    crime_types (list): 要研究的犯罪类型列表,可以包含 'Total_Crimes' 或者特定犯罪类型

    返回:
    None
    """
    # 筛选数据
    region_data = data[(data['State'] == region) & (data['Year'] >= start_year) & (data['Year'] <= end_year)]
    
    # 绘制图表
    plt.figure(figsize=(14, 8))
    for crime_type in crime_types:
        plt.plot(region_data['Year'], region_data[crime_type], marker='o', label=crime_type)
    
    plt.title(f'{region} {start_year}-{end_year}年间的犯罪事件趋势')
    plt.xlabel('年份')
    plt.ylabel('犯罪次数')
    plt.legend(title='犯罪类型')
    plt.xticks(region_data['Year'])
    plt.grid(True)
    plt.show()
# 以犯罪事件总数最多的城市Uttar Pradesh为例
plot_crime_trends('Uttar Pradesh', 2001, 2021, ['Rape', 'K&A', 'DD','AoW','AoM'])

这里以犯罪事件总数最多的城市 北方邦(Uttar Pradesh) 为例,得出如下结论:

  • 绑架与袭击(K&A) 案件几乎是北方邦(Uttar Pradesh)占比最大的案件,直到2018年达到顶峰,但是2019年开始明显下降,可能由于COVID-19大流行期间的封锁措施和其他社会因素导致的。
  • 针对女性的袭击(AoW) 案件发展趋势与绑架与袭击(K&A)案件比较接近,也是一个主要的犯罪类型。
  • 侮辱女性贞操(AoM) 案件波动较大,在2010年到2013年几乎为0,在2017年后也降低约为接近为0。
  • 其余案件相对稳定,但是均在2019年明显下降,可能都是由于COVID-19大流行期间的封锁措施和其他社会因素导致的。

6.影响犯罪事件的因素

6.1斯皮尔曼相关性分析

def plot_spearmanr(data,features,title,wide,height):
    # 计算斯皮尔曼相关性矩阵和p值矩阵
    spearman_corr_matrix = data[features].corr(method='spearman')
    pvals = data[features].corr(method=lambda x, y: spearmanr(x, y)[1]) - np.eye(len(data[features].columns))

    # 转换 p 值为星号
    def convert_pvalue_to_asterisks(pvalue):
        if pvalue <= 0.001:
            return "***"
        elif pvalue <= 0.01:
            return "**"
        elif pvalue <= 0.05:
            return "*"
        return ""

    # 应用转换函数
    pval_star = pvals.map(lambda x: convert_pvalue_to_asterisks(x))

    # 转换成 numpy 类型
    corr_star_annot = pval_star.to_numpy()

    # 定制 labels
    corr_labels = spearman_corr_matrix.to_numpy()
    p_labels = corr_star_annot
    shape = corr_labels.shape

    # 合并 labels
    labels = (np.asarray(["{0:.2f}\n{1}".format(data, p) for data, p in zip(corr_labels.flatten(), p_labels.flatten())])).reshape(shape)

    # 绘制热力图
    fig, ax = plt.subplots(figsize=(height, wide), dpi=100, facecolor="w")
    sns.heatmap(spearman_corr_matrix, annot=labels, fmt='', cmap='coolwarm',
                vmin=-1, vmax=1, annot_kws={"size":10, "fontweight":"bold"},
                linecolor="k", linewidths=.2, cbar_kws={"aspect":13}, ax=ax)

    ax.tick_params(bottom=False, labelbottom=True, labeltop=False,
                left=False, pad=1, labelsize=12)
    ax.yaxis.set_tick_params(labelrotation=0)

    # 自定义 colorbar 标签格式
    cbar = ax.collections[0].colorbar
    cbar.ax.tick_params(direction="in", width=.5, labelsize=10)
    cbar.set_ticks([-1, -0.5, 0, 0.5, 1])
    cbar.set_ticklabels(["-1.00", "-0.50", "0.00", "0.50", "1.00"])
    cbar.outline.set_visible(True)
    cbar.outline.set_linewidth(.5)

    plt.title(title)
    plt.show()
plot_spearmanr(data,crime_types,'各犯罪类型之间的相关性热力图',10,13)

  • 各个案件之间有明显的正相关,表明可能是受政策、经济等多方面因素的影响,导致这些犯罪行为在同一社会环境中频繁共同发生。

6.2方差分析

# 创建函数来进行ANOVA分析
def anova_test(var, target):
    groups = [data[target][data[var] == level] for level in data[var].unique()]
    F_stat, p_value = f_oneway(*groups)
    return F_stat, p_value
crime_features = ['Rape', 'K&A', 'DD', 'AoW', 'AoM', 'DV', 'WT','Total_Crimes']
# 使用ANOVA来检验年份与各个犯罪事件之间的关系
anova_state_crime_results = {feature: anova_test('State', feature) for feature in crime_features}

# 将结果存入DataFrame
anova_state_crime_df = pd.DataFrame.from_dict(anova_state_crime_results, orient='index', columns=['F-Statistic', 'P-Value'])
anova_state_crime_df
              F-Statistic        P-Value
Rape            37.012734  8.063884e-135
K&A             17.460974   2.413443e-73
DD              70.091794  4.451585e-203
AoW             21.707619   7.008354e-89
AoM             24.552582   1.670675e-98
DV              32.490343  1.345413e-122
WT               9.073483   1.148222e-37
Total_Crimes    30.091820  1.059024e-115
  • 所有的 p 值都非常小,远小于 0.05,这意味着对于每种犯罪类型以及犯罪事件的总数,地区与犯罪事件的发生之间都存在显著的统计关联。
# 使用ANOVA来检验年份与各个犯罪事件之间的关系
anova_year_crime_results = {feature: anova_test('Year', feature) for feature in crime_features}

# 将结果存入DataFrame
anova_year_crime_df = pd.DataFrame.from_dict(anova_year_crime_results, orient='index', columns=['F-Statistic', 'P-Value'])
anova_year_crime_df
              F-Statistic       P-Value
Rape             1.525899  6.577121e-02
K&A              3.952864  1.914412e-08
DD               0.110429  9.999997e-01
AoW              3.364957  1.117186e-06
AoM              1.357885  1.355946e-01
DV               1.177280  2.669488e-01
WT               4.837442  3.489876e-11
Total_Crimes     2.214237  1.752640e-03
  • 显著关系:绑架与袭击(K&A)、针对女性的袭击(AoW)、妇女贩卖(WT)、以及总犯罪数量(Total_Crimes)与年份之间存在非常显著的关系。
  • 非显著关系:聘礼致死(DD)、家庭暴力(DV)、侮辱女性贞操(AoM)与年份之间没有显著关系。

7.总结

本项目通过可视化分析、相关性分析和方差分析,深入探讨了印度不同年份侵害女性的事件。以下是本项目的主要结论:

1. 数据结构:

  • 数据范围:涵盖了 2001 年至 2021 年,涉及 36 个不同地区。
  • 强奸案件:平均每年 727.86 起,波动较大(标准差 977.02),最高达 6337 起。
  • 绑架与袭击:平均每年 1134.54 起,最高达 15381 起。
  • 聘礼致死:平均每年 215.69 起,案件数量在大多数地区较少(中位数 29 起)。
  • 针对女性的袭击:平均每年 1579.12 起,部分地区案件特别高(最高 14853 起)。
  • 家庭暴力:平均每年 2595.08 起,最高达 23278 起。
  • 妇女贩卖:大部分地区案件数较少(中位数 0 起),但在某些地区案件数较高(最高 549 起)。
  • 总犯罪数:平均每年 6613.75 起,波动大(标准差 9056.58),部分地区犯罪总量显著较高(最高 52246 起)。

2. 可视化分析:

  • 地区差异:如北方邦(Uttar Pradesh)和中央邦(Madhya Pradesh)等人口大邦,犯罪总数显著高于其他地区,而一些较小的联邦属地和人口较少的地区犯罪总数较低。
  • 犯罪趋势:随着印度人口的不断增加,犯罪事件也在持续增加。印度政府需要实施更多保护女性的措施,并加强执法力度。
  • 犯罪类型变化:家庭暴力、针对女性的袭击、绑架与袭击案件在研究期间增幅较大,显示出这些类型的犯罪在社会中的严重性日益加剧。2011 年和 2012 年可能是关键年份,犯罪趋势出现了显著变化,可能受到社会事件、法律调整或执法力度变化的影响。
  • 犯罪总数最多的地区
    • 北方邦(Uttar Pradesh) 在大多数年份中,犯罪总数最多。
    • 安得拉邦(Andhra Pradesh) 在 2003 年至 2007 年间多次成为犯罪总数最多的地区,但其主导地位随着时间推移被北方邦取代。
    • 西孟加拉邦(West Bengal) 在 2010 年至 2012 年成为犯罪总数最多的地区,这一短暂高峰可能与特定社会或政治事件有关。
    • 特里普拉邦(Tripura) 在 2020 年和 2021 年成为犯罪总数最多的地区,这可能反映了该地区在这些年内面临的特殊治安挑战。

3. 方差分析:

  • 地区与犯罪事件的关系:分析结果显示,地区与各类犯罪事件的发生之间存在显著的统计关联。
  • 年份与犯罪类型的关系
    • 绑架与袭击(K&A)、针对女性的袭击(AoW)、妇女贩卖(WT)以及总犯罪数量(Total_Crimes)与年份之间存在非常显著的关系。
    • 聘礼致死(DD)、家庭暴力(DV)、侮辱女性贞操(AoM)与年份之间没有显著关系。

这些结论为进一步理解印度不同地区和不同年份的犯罪动态提供了有力的依据,并为未来的政策制定和执法提供了参考依据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2079748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实现并发网络服务器

一&#xff0c;网络服务器 1.单循环网络服务器 —— 同一时刻只能处理一个客户端任务 2.并发服务器 —— 同一时刻能处理多个客户端任务 二&#xff0c;并发服务器 1.多线程 2.IO多路复用 3.多进程 三&#xff0c;IO模型 1.阻塞IO 阻塞IO&#xff08;Blocking IO&…

IO进程day03(获取文件属性、目录操作、库Lib)

目录 【1】获取文件属性 1》stat函数 2》获取文件类型 3》获取文件权限 练习&#xff1a;编程实现“ls -l 文件名” 的功能 4》stat、fstat、lstat的区别 【2】目录操作 【3】库 Lib 1》文件分类 1> 头文件&#xff1a; 以 .h结尾的文件 2> 源文件&#xff1a…

Qt之控件介绍

目录 控件概述 QWidget核心属性 1.enabled属性 2.geometry属性 3.windowTitle属性 4.windowIcon属性 5.windowOpacity属性 6.cursor属性 7.font属性 8.toolTip属性 9.focusPolicy属性 10.styleSheet属性 按钮类控件&#xff1a; 1.PushButton 2.RadioBu…

Leetcode 17. 电话号码的字母组合 C++实现

Leetcode 17. 电话号码的字母组合 问题&#xff1a;给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 算法&#xff1a;递归嵌…

PyTorch深度学习模型训练流程:(二、回归)

回归的流程与分类基本一致&#xff0c;只需要把评估指标改动一下就行。回归输出的是损失曲线、R^2曲线、训练集预测值与真实值折线图、测试集预测值散点图与真实值折线图。输出效果如下&#xff1a; 注意&#xff1a;预测值与真实值图像处理为按真实值排序&#xff0c;图中呈现…

机器学习概述与应用:深度学习、人工智能与经典学习方法

引言 机器学习(Machine Learning)是人工智能(AI)领域中最为核心的分支之一,其主要目的是通过数据学习和构建模型,帮助计算机系统自动完成特定任务。随着深度学习(Deep Learning)的崛起,机器学习技术在各行各业中的应用变得越来越广泛。在本文中,我们将详细介绍机器学…

Datawhale X 李宏毅苹果书 AI夏令营 Task1笔记

课程内容 学习笔记 &#xff08;一&#xff09;术语解释 一 . 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09; 机器学习&#xff0c;在本书的解释中是让机器具备找一个函数的能力。个人理解是基于所拥有的数据构建起概率统计模型来对数据进行预测与分析。…

python可视化-散点图

散点图可以了解数据之间的各种相关性&#xff0c;如正比、反比、无相关、线性、指数级、 U形等&#xff0c;而且也可以通过数据点的密度&#xff08;辅助拟合趋势线&#xff09;来确定相关性的强度。另外&#xff0c;也可以探索出异常值&#xff08;在远超出一般聚集区域的数据…

【Java】Record的使用 (简洁教程)

Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容&#xff1a;三、问题描述四、解决方案&#xff1a;4.1 为什么引入Record4.2 Record与Class区别4.3 使用场景 五、总结&#xff1a;…

使用uni-app开发微信小程序

一、前提环境 1.1 &#xff1a;uniapp开发文档&#xff1a;https://uniapp.dcloud.net.cn/quickstart-cli.html 细节都在这一页&#xff0c;这里不过多解释 二、开发工具下载 2.1 微信开发者工具 下载链接&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/dev…

Java:Calendar类

文章目录 Calendar类常用方法代码 黑马学习笔记 Calendar类 calendar是可变对象&#xff0c;一旦修改后其对象本身表示的时间将发生变化 原始对象会跟着修改&#xff0c;造成原始对象的丢失 常用方法 代码 package Time;import java.util.Calendar; import java.util.Date;/…

【RabbitMQ高级特性】消息可靠性原理

1. 消息确认机制 1.1 介绍 我们可以看到RabbitMQ的消息流转图&#xff1a; 当消息从Broker投递给消费者的时候会存在以下两种情况&#xff1a; consumer消费消息成功consumer消费消息异常 如果说RabbitMQ在每次将消息投递给消费者的时候就将消息从Broker中删除&#xff0c…

用 like concat 不用 like,为了防止sql注入;#{}和${}的区别和用法;#{}预防SQL注入的原理

一、like concat 和 like mybatis中为了防止sql注入&#xff0c;使用like语句时并不是直接使用&#xff0c;而是使用concat函数<if test"goodName ! null and goodName ! "> and good_name like concat(%, #{goodName}, %)</if> concat()函数1、功能&a…

Webbench1.5安装使用Ubuntu

1、安装依赖包 sudo apt-get update sudo apt-get install libtirpc-dev2、安装Webbench1.5 参考https://github.com/baiguo/webbench-1.5 # 可能需要root权限&#xff0c;我是切换到root用户才安装成功 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.…

APP.vue引入子组件进行页面展示

一.将vue项目启动服务器原始页面进行清空 打开APP.vue文件&#xff0c;将<template>标签里的内容和<style>标签里的内容 ctrl/ 选中进行注释&#xff0c;以及引入的Helloworld.vue文件内容代码进行注释 并且 ctrls 保存 服务器页面从原始页面 变为空白 二.在comp…

树莓派4B安装golang最新版(20210520)

前置条件&#xff1a; 树莓派4B 安装官方系统 Linux raspberrypi 5.10.17-v7l #1414 更换最新版的原因&#xff1a; 截至 2021.5.20 &#xff0c;Raspberry Pi OS 最新版系统中&#xff0c;默认安装golang1.11&#xff0c;但是使用 go get golang.org/x/crypto/ssh 时&#xff…

推荐系统实战(七)-多任务多场景(上)多任务

多任务Multi-Task&#xff0c;有时也被称为多目标Multi-Objective建模。比如说电商场景下&#xff0c;希望曝光的物料被多多点击&#xff0c;还希望商品被下单购买&#xff0c;因此同时建模三个目标&#xff1a;曝光到点击CTR&#xff0c;点击到购买转换率CVR&#xff0c;曝光到…

记一次对某佛教系统的漏洞挖掘

前言 简单记录一次漏洞挖掘&#xff0c;一个系统居然爆了这么多类型的洞&#xff0c;于是想记录哈。(比较基础&#xff0c;我是菜狗&#xff0c;大佬轻喷) 业务介绍 是一个某佛教的系统 有一些佛教的学习资源、一些佛教相关的实物商品可购买&#xff0c;有个人中心&#xff…

PyCharm中python语法要求——消去提示波浪线

PyCharm中python语法要求——消去提示波浪线 关闭代码规范检查 在Setting里边搜索pep&#xff0c;取消勾选pep8 coding style violation 问题产生 解决问题 按照下图操作&#xff0c;也可直接CtrlAlts弹出设置页面 在 Settings 中 &#xff1a; Editor > Color Sheame >…

设计模式26-解析器模式

设计模式26-解析器模式 动机定义与结构定义结构 C代码推导代码说明 优缺点应用总结 动机 在软件构建过程中&#xff0c;如果某一特定领域的问题比较复杂&#xff0c;类似结构会不断重复的出现。如果使用普通的编程方式来实现&#xff0c;将面临非常频繁的变化。 在这种情况下&…