衡量隔離:差異指數(Index of Dissimilarity)

使用 Python 分析美國 Census 資料

Lee Hachadoorian

Asst. Professor of Instruction, Temple University

什麼是隔離?

芝加哥的點密度地圖,以四種顏色標示 White、Black、Asian、Hispanic 人口。同色點彼此聚集,顯示族裔隔離的分布。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$\color{white}{D = {\frac{1}{2}\sum_i}\color{white}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$\color{white}{D = {\frac{1}{2}\sum_i}\color{white}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$\color{red}D = \frac{1}{2}\sum_i{\left\lvert \frac{{a_i}}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$D = \color{white}{\frac{1}{2}\sum_i}\color{white}{\left\lvert \color{red}{\frac{a_i}{A}} \color{white}{- \frac{b_i}{B}} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$D = \color{white}{\frac{1}{2}\sum_i}\color{white}{\left\lvert \frac{a_i}{A} - \color{red}{\frac{b_i}{B}} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$D = \color{white}{\frac{1}{2}\sum_i}\color{red}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$D = \color{white}{\frac{1}{2}}\color{red}{\sum_i}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$D = \color{red}{\frac{1}{2}}\sum_i{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

差異指數的公式

給定兩個群體 A 與 B:

$$D = \frac{1}{2}\sum_i{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小區域中群體 A 的人數
  • $b_i$ = 小區域中群體 B 的人數
  • $A$ = 大區域中群體 A 的人數
  • $B$ = 大區域中群體 B 的人數

一個被分成四個象限的方框,顯示各象限中 A 與 B 的人口。

使用 Python 分析美國 Census 資料

合適的資料

tracts.head()
  state county   tract  white  black
0    01    001  020100   1601    217
1    01    001  020200    844   1214
2    01    001  020300   2538    647
3    01    001  020400   4030    191
4    01    001  020500   8438   1418

來源:Table P5 - 2010 Decennial Census

  • white = 非西語裔白人人口
  • black = 非西語裔黑人口
使用 Python 分析美國 Census 資料

計算差異指數(D)

# Extract California tracts using state FIPS "06"
ca_tracts = tracts[tracts["state"] == "06"]

# Define convenience variables to hold column names w = "white" b = "black"
使用 Python 分析美國 Census 資料

計算差異指數(D)

# Print the sum of Black population for all tracts in California
print(ca_tracts[b].sum())
2163804
# Print the sum of White population for all tracts in California
print(ca_tracts[w].sum())
14956253
使用 Python 分析美國 Census 資料

計算差異指數(D)

$$D = \frac{1}{2}\sum_i{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

# Calculate Index of Dissimilarity
print(0.5 * sum(abs(
  ca_tracts[w] / ca_tracts[w].sum() - ca_tracts[b] / ca_tracts[b].sum()
  )))
0.6033425039167011
使用 Python 分析美國 Census 資料

一起來練習吧!

使用 Python 分析美國 Census 資料

Preparing Video For Download...