处理芝加哥犯罪率数据集中的 NA 值

数据挖掘 r 缺失数据
2022-03-07 02:48:27

我正在对芝加哥犯罪率数据集做一个小项目,我注意到有超过 600,000NA个值,主要是在位置字段中。
我觉得即使有大约 600 万行(2001 年至今的数据),也有很多数据需要丢弃(尤其是因为这些行包含所有其他数据,如犯罪类型、病房、日期、位置描述等)

以下是在每列中找到的列和 NA 的数量:

COMMUNITY_AREA ID CASE_NUMBER DATE BLOCK IUCR PRIMARY_TYPE DESCRIPTION
        616029  0           0    0     0    0            0           0
LOCATION_DESCRIPTION ARREST DOMESTIC BEAT DISTRICT   WARD FBI_CODE X_COORDINATE
                   0      0        0    0       47 614854        0        60921
Y_COORDINATE YEAR UPDATED_ON LATITUDE LONGITUDE LOCATION CRIME_TYPE COMMUNITY_NAME
       60921    0          0    60921     60921        0          0         616120

当我为这个项目查找 RPubs 时,很多人要么删除所有带有 NA 的行,要么甚至懒得谈论丢失的数据,我认为这两种解决方案都不是好的解决方案。

我不想删除所有这些行的部分原因是因为每一行都是有效的犯罪,当我删除它们时,我现在错过了犯罪,这有助于我的计数和类别。而且由于数据确实说明了犯下的犯罪类型,我可以将其包括在这些计数中。

以前有人处理过这些数据吗?您对处理丢失的数据有什么建议吗?或者我可以把它放在那里,有问题吗?

我计划对犯罪率进行时间序列分析,但是,犯罪领域没有缺失数据,所以我认为它不会影响它。

2个回答

假设我正确阅读了表格的格式,则 NA 专门用于地理位置属性。“地区”是最完整的字段,只有 47 个缺失值。是否出于数据隐私的原因对某些犯罪的地点进行了审查?

在您的数据集中的 600 万起犯罪中:

  • 10 % 或 ~600,000 的病房、社区区域或名称缺失或被审查
  • 1 % 或 ~60,000 缺少空间坐标。

您可以通过分析 GIS 中的坐标对来确定大部分缺失的 Ward 和 Community 数据。

您如何处理缺失数据将很大程度上取决于您打算进行的假设和分析。您提到时间序列,在芝加哥级别包含所有直接时间序列的犯罪应该没问题。对于更高的空间分辨率,你可以做区域(丢掉 47 个缺失点)等等。您投入多少精力来处理丢失的数据(例如通过使用上述步骤)将取决于这些数据对您的分析可能有多大用处。我怀疑大多数使用这些数据的人倾向于放弃 NA,因为他们正在绘制不同地区的犯罪率。

呼应 BenP,我想知道您是否能获得比您想象的更多的位置信息。我看到“beat”变量没有 NA。除非我弄错了,否则在芝加哥,“节拍”是警察的巡逻/责任区。所以像节拍 1 可能是循环或类似的东西。您也许可以使用该信息或其他包含的信息来减轻您的 NA。