多个类别

陪审团候选名单是否代表合格人口仍然是一个重要问题。我们将以比20世纪60年代罗伯特·斯温案更近期的候选名单为背景来讨论这个问题。

评估的总体流程与之前相同。但这一次,我们将考虑多个种族和民族类别的候选陪审员,而不仅仅是两类。从技术角度来看,这意味着我们需要提出一个新的统计量进行模拟。一旦完成模拟并得出结论,我们将考察所观察到的差异背后的一些深层原因。

[In ]:
from datascience import *
%matplotlib inline
path_data = '../../../../data/'
import matplotlib.pyplot as plots
plots.style.use('fivethirtyeight')
import numpy as np

阿拉米达县的陪审团遴选

2010年,美国公民自由联盟(ACLU)北加州分会发布了一份关于加利福尼亚州阿拉米达县陪审团遴选的报告。该报告得出结论认为,阿拉米达县陪审团候选名单中某些种族和民族群体的代表性不足,并建议对合格陪审员分配到候选名单的流程进行一些改革。在本节中,我们将分析ACLU提供的数据。

正如你在上一节中看到的,审判陪审员是从更大的陪审团候选名单中选出的。根据法律,陪审团候选名单应该代表合格陪审员的人口结构。在加利福尼亚州,“代表性”一词被明确定义为“随机选择”。加利福尼亚州民事诉讼法典第197条规定:“所有被选为陪审服务的人应随机选择,来源应包括法院所服务地区人口的一个代表性横截面。”

这里的“被选为陪审服务”意味着被选入陪审团候选名单。

阿拉米达县候选名单的构成

ACLU北加州分会研究的重点是阿拉米达县陪审团候选名单的种族和民族构成。ACLU汇编了2009年和2010年阿拉米达县11起重罪审判中陪审团候选名单的构成数据。在这些候选名单中,报到参加陪审服务的总人数为1453人。ACLU收集了所有这些潜在陪审员的人口统计数据,并将这些数据与全县所有合格陪审员的构成进行了比较。

数据如下表所示,表名为 jury。在每个类别中,第一个数值是该类别在合格陪审员候选人中的比例。第二个数值是该类别在出席陪审遴选程序的人员中的比例。

不同类别的标签取自ACLU报告,该报告指出:“‘其他’类别包括认同为多种族但未明确一种主要种族身份的人,以及未指明种族或民族的人。”标签 Asian/PI 表示“亚洲人或太平洋岛民”。标签 Black/AA 表示“黑人或非裔美国人”。

[In ]:
jury = Table().with_columns(
    'Ethnicity', make_array('Asian/PI', 'Black/AA', 'Caucasian', 'Hispanic', 'Other'),
    'Eligible', make_array(0.15, 0.18, 0.54, 0.12, 0.01),
    'Panels', make_array(0.26, 0.08, 0.54, 0.08, 0.04)
)

jury
Ethnicity | Eligible | Panels
Asian/PI  | 0.15     | 0.26
Black/AA  | 0.18     | 0.08
Caucasian | 0.54     | 0.54
Hispanic  | 0.12     | 0.08
Other     | 0.01     | 0.04

研究中,陪审团候选名单中有些族裔的代表比例过高,有些则代表不足。特别是,黑人或非裔美国人以及西班牙裔类别的候选陪审员代表性不足。

柱状图有助于直观展示这些差异。

[In ]:
jury.barh('Ethnicity')
Bar chart with 'Ethnicity' on the y-axis. Each category has two bars, one dark blue for 'Eligible' and one gold for 'Panels.' Caucasion has the longest bars which are both above 0.5. The next longest bar is gold for Asian/PI at approx 0.25. The reamining bars are all below 0.2 with the smallest being for the 'Other' catgeory.

与随机选择的候选名单比较

如果我们从合格陪审员总体中随机抽取一个1,453人的样本会怎样?其族裔分布是否与上述候选名单的分布相似?

我们可以通过使用 sample_proportions 并在 jury 表中增加一列样本比例来回答这些问题。

技术说明。 潜在陪审员的随机样本本应采用无放回抽样。然而,当样本量相对于总体规模较小时,无放回抽样与有放回抽样相似;每次抽取之间总体中的比例变化不大。阿拉米达县的合格陪审员总体超过一百万人,相比之下,约1500人的样本量相当小。因此,我们将采用有放回抽样。

在下面的单元格中,我们根据合格陪审员的分布随机抽取1453次,并展示随机样本的分布以及数据中合格陪审员和候选名单的分布。

[In ]:
eligible_population = jury.column('Eligible')
sample_distribution = sample_proportions(1453, eligible_population)
panels_and_sample = jury.with_column('Random Sample', sample_distribution)
panels_and_sample
Ethnicity | Eligible | Panels | Random Sample
Asian/PI  | 0.15     | 0.26   | 0.14384
Black/AA  | 0.18     | 0.08   | 0.163799
Caucasian | 0.54     | 0.54   | 0.538197
Hispanic  | 0.12     | 0.08   | 0.143152
Other     | 0.01     | 0.04   | 0.0110117

随机样本的分布与合格总体的分布非常接近,这与候选名单的分布不同。与往常一样,可视化有助于理解。

[In ]:
panels_and_sample.barh('Ethnicity')
Bar chart with 'Ethnicity' on the y-axis. Each category has three bars, a dark blue bar for 'Eligible,' a gold bar for 'Panels,' and a light blue bar for 'Random Sample.' Other than in the case of 'Caucasian,' where all the bars have the same length, the three bars are notably differnt lengths. For Black/AA and Hispanic, the light blue bar is longer than the gold bar. For Asian/PI and Other the gold bar is longer than the light blue bar.

柱状图显示随机样本的分布与合格总体相似,但候选名单的分布则不然。

为了评估这一观察结果是仅适用于某一个随机样本还是更具普遍性,我们可以在随机选择模型下模拟多个候选名单,并观察模拟结果的预测。但我们无法查看数千个像上面那样的柱状图。我们需要一个统计量来帮助我们评估数据是否支持随机选择模型。

新统计量:两个分布之间的距离

我们知道如何衡量两个数值之间的差异:如果两个数是 $x$ 和 $y$,它们之间的距离是 $\vert x-y \vert$。现在我们需要量化两个分布之间的距离。例如,我们需要衡量下面蓝色和金色分布之间的距离。

[In ]:
jury.barh('Ethnicity')
Bar chart with 'Ethnicity' on the y-axis. Each category has two bars, one dark blue for 'Eligible' and one gold for 'Panels.' Caucasion has the longest bars which are both above 0.5. The next longest bar is gold for Asian/PI at approx 0.25. The reamining bars are all below 0.2 with the smallest being for the 'Other' catgeory.

为此,我们将计算两个分布之间的一个量,称为“全变差距离(total variation distance)”。该计算是求两个数值之间距离方法的扩展。

要计算全变差距离,我们首先找出每个类别中两个比例之间的差异。

[In ]:
# Augment the table with a column of differences between proportions

jury_with_diffs = jury.with_column(
    'Difference', jury.column('Panels') - jury.column('Eligible')
)
jury_with_diffs
Ethnicity | Eligible | Panels | Difference
Asian/PI  | 0.15     | 0.26   | 0.11
Black/AA  | 0.18     | 0.08   | -0.1
Caucasian | 0.54     | 0.54   | 0
Hispanic  | 0.12     | 0.08   | -0.04
Other     | 0.01     | 0.04   | 0.03

查看 Difference 列,注意其条目之和为0:正数项加起来为0.14,恰好与负数项的总和-0.14相抵消。

这从数值上证明了在柱状图中,金色柱子超出蓝色柱子的部分恰好等于蓝色柱子超出金色柱子的部分。PanelsEligible 两列中的比例各自加起来等于1,因此它们条目之间的增减必然总和为0。

为避免抵消,我们去掉负号,然后加起来所有条目。但这样得到的是正数项总和的两倍(等价于去掉符号后的负数项总和的两倍)。我们不希望加倍,因此将总和除以2。

[In ]:
jury_with_diffs = jury_with_diffs.with_column(
    'Absolute Difference', np.abs(jury_with_diffs.column('Difference'))
)

jury_with_diffs
Ethnicity | Eligible | Panels | Difference | Absolute Difference
Asian/PI  | 0.15     | 0.26   | 0.11       | 0.11
Black/AA  | 0.18     | 0.08   | -0.1       | 0.1
Caucasian | 0.54     | 0.54   | 0          | 0
Hispanic  | 0.12     | 0.08   | -0.04      | 0.04
Other     | 0.01     | 0.04   | 0.03       | 0.03
[In ]:
jury_with_diffs.column('Absolute Difference').sum() / 2
0.14

这个数值0.14就是合格陪审员总体中的族裔分布与候选名单分布之间的“全变差距离”(TVD)。

一般来说,两个分布之间的全变差距离衡量了这些分布的接近程度。TVD越大,两个分布的差异越大。

技术说明: 我们本可以通过只加正数差异来得到相同的结果。但我们的方法包含了所有绝对差异,从而无需跟踪哪些差异是正数、哪些不是。

我们将使用分布之间的全变差距离作为统计量,在随机选择假设下进行模拟。大的距离值将成为反对随机选择的证据。

在模型下模拟统计量

为了观察TVD在不同随机样本之间的变化情况,我们将在从合格总体中随机选择的模型下重复模拟它。

让我们组织一下计算过程。由于我们要重复计算全变差距离,我们首先编写一个函数来计算两个给定分布之间的TVD。

函数 total_variation_distance 接收两个包含待比较分布的数组,并返回它们之间的TVD。

[In ]:
def total_variation_distance(distribution_1, distribution_2):
    return sum(np.abs(distribution_1 - distribution_2)) / 2

这个函数将帮助我们在每次模拟重复中计算统计量。但首先让我们检查,当用它计算上面蓝色(合格)和金色(候选名单)分布之间的距离时,它是否给出正确的答案。这些就是ACLU研究中的分布。

[In ]:
total_variation_distance(jury.column('Panels'), jury.column('Eligible'))
0.14

这与我们之前不使用函数直接计算的值一致。

在下面的单元格中,我们使用该函数计算合格陪审员分布与一个随机样本分布之间的TVD。回忆一下,eligible_population 是包含合格陪审员分布的数组,我们的样本量为1453。

在第一行中,我们使用 sample_proportions 从合格总体中生成一个随机样本。在下一行中,我们使用 total_variation_distance 计算随机样本分布与合格总体分布之间的TVD。

[In ]:
sample_distribution = sample_proportions(1453, eligible_population)
total_variation_distance(sample_distribution, eligible_population)
0.018265657260839632

多次运行该单元格,注意这些距离比0.14小得多,0.14是候选名单分布与合格陪审员分布之间的距离。

我们现在可以运行模拟来评估随机选择模型了。

模拟统计量的一个值

与每次模拟开始时一样,让我们定义一个函数 one_simulated_tvd,该函数返回在随机选择假设下全变差距离的一个模拟值。

函数体中的代码基于上面的单元格。

[In ]:
# Simulate one simulated value of 
# the total variation distance between
# the distribution of a sample selected at random
# and the distribution of the eligible population

def one_simulated_tvd():
    sample_distribution = sample_proportions(1453, eligible_population)
    return total_variation_distance(sample_distribution, eligible_population)   

模拟统计量的多个值

现在我们可以应用熟悉的过程,使用 for 循环创建一个包含5000个此类距离的数组。

[In ]:
tvds = make_array()
repetitions = 5000
for i in np.arange(repetitions):
    tvds = np.append(tvds, one_simulated_tvd())

评估随机选择模型

以下是模拟距离的经验直方图。它表明,如果你从合格候选人库中随机抽取1453名候选陪审员,那么候选陪审员分布与合格总体分布之间的距离很少超过约0.05。

然而,研究中的候选名单与合格总体的相似度并不那么高。候选名单与总体之间的全变差距离为0.14,以红点显示在横轴上。它远远超出了直方图的尾部,看起来完全不像随机样本分布与合格总体分布之间的典型距离。

[In ]:
Table().with_column('TVD', tvds).hist(bins=np.arange(0, 0.2, 0.005))

# Plotting parameters; you can ignore this code
plots.title('Prediction Assuming Random Selection')
plots.xlim(0, 0.15)
plots.ylim(-5, 50)
plots.scatter(0.14, 0, color='red', s=30);
Histogram titled 'Prediction Assuming Random Selection' with 'TVD' on the x-axis and 'Percent per unit' on the y-axis. The histogram is bell shaped, ranging from 0 to about 0.04 and centered around 0.02. There is a red dot at x=0.14 that does not overlap with any of the bars of the histogram.

模拟显示,ACLU研究中候选名单的构成与随机选择模型不一致。我们的分析支持ACLU的结论,即候选名单未能代表合格陪审员的分布。

偏差的原因

与大多数此类分析一样,我们的分析并没有说明分布差异的“原因”。但这些原因对于理解问题至关重要。如果陪审团候选名单不能代表合格陪审员的人口结构,这可能对正当程序和陪审团审判的公平性产生重大影响。

ACLU的报告讨论了几个可能造成差异的原因,并提出了一些补救措施。有些原因纯粹是实践层面的,但影响很大。例如,虽然我们理所当然地认为Python中的随机抽样质量很高,但候选名单选择使用的是其他软件。ACLU的检查显示该软件运行不佳,导致了有偏差的选择。使用更好的软件是一个明确的补救措施。

更重要的是,阿拉米达县的陪审团候选名单并非从全体合格人口中选出。阿拉米达县高等法院的网站指出:“法院的目标是提供该县人口的准确横截面。陪审员的名字是从所有登记选民和/或持有机动车管理局签发的驾驶执照或身份证的人中随机选择的。”

这一过程排除了不在这些名单上的合格陪审员。拥有州政府签发的身份证或登记为选民很可能与收入相关,因此由于历史上对黑人和西班牙裔社区的偏见,也与种族和民族相关。这导致了这些群体在候选名单中代表性不足。

即使上了名单,还需要能够联系到他们以告知陪审义务。但资源不足社区的人并不总是有固定地址。过时的地址记录、缺乏与其他名单(如公用事业名单)的交叉核查等,都可能造成有偏差的选择。

即使被联系到,潜在的候选陪审员还需要能够出庭。陪审服务的第一天通常是...(内容已截断)

数据质量

我们已经开发出一种技术,可以帮助我们判断一个分布是否看起来像是另一个分布的随机样本。但我们应该检查数据源,以更好地理解我们究竟能从分析中得出什么结论。好的数据科学包括对数据收集方式进行审慎的审查。

合格陪审员。 重要的是要记住,并非每个人都有资格担任陪审员。阿拉米达县高等法院在其网站上指出:“如果你年满18岁,是美国公民,并且是被传唤所在县或地区的居民,你可能会被要求担任陪审员。你必须能够理解英语,并且身体和心理上有能力担任。此外,你在过去12个月内不得担任过任何类型的陪审员,也不得被判有重罪。”

虽然人口普查是人口统计信息的自然来源,但人口普查并不收集所有这些类别的数据。因此ACLU必须通过其他方式获得合格陪审员的人口统计数据。

他们使用的是一套由圣地亚哥州立大学一位教授为2002年阿拉米达县某审判开发的估计数据。这些估计基于2000年人口普查,并考虑了陪审员资格所需的标准。

因此,我们必须记住,我们用于合格总体的分布本身只是一个估计值,因此存在误差。此外,正如ACLU所指出的,使用基于2000年人口普查的估计数据来反映2010年的人口状况可能并不准确,因为加利福尼亚州的人口结构在不断变化。

因此,用于合格陪审员总体的分布可能不准确。

候选名单。 报告中没有明确说明这1453名候选陪审员是如何被划分到不同民族类别的。报告只说“律师们…配合收集了陪审...(内容已截断)

结论

基于上述讨论,我们必须精确地说明我们能从分析中得出什么结论。

  • 我们可以得出结论:为报到参加陪审服务的候选陪审员提供的分布,看起来并不像是从合格总体估计分布中随机抽取的样本。

我们的讨论与ACLU报告中的讨论一样,阐述了两分布之间观察到的一些差异的原因,以及被传唤候选陪审员可能不报到原因。几乎所有原因都根植于社会中历史性的种族偏见,并且是这种偏见长期负面后果的例证。