預防性羈押參酌因素分析

Analysis of Considered Factors in Preventive Detention

林姿穎(Lin Zih Ying) 徐曉陽(Xu Xiao Yang) 唐琪縉(Tang Chi Jean) 陳莉蓁(Chen Li Chen) 闕靖軒(Chueh Chao)

Back to the Class Page

Video on YT

壹、前言

一、研究動機

我國刑事訴訟法上(下稱本法)的羈押有兩種,一為第101條的「一般性羈押」、二為第101-1條的「預防性羈押」,前者主要係為避免被告逃亡、滅證、串供等,後者係為避免被告「再犯」,意即若此時不羈押被告,被告很有可能再次犯下同種犯罪。刑法第101-1條的「預防性羈押」係以侵害憲法上所保障的被告人身自由換取社會或潛在被害人的安全,其素來有所爭議與批評,比如:違反無罪推定原則、逸脫原來羈押目的、不利被告再社會化,因此法院在裁定「預防性羈押」時必須通過「行為人嫌疑重大」、「有事實足認為有反覆實施同一犯罪之虞」及「有羈押之必要」三項實體要件審查,其中又以第二個要件「有事實足認為有反覆實施同一犯罪之虞」之判斷為關鍵。

本文觀察到在我國「預防性羈押」制度設計下,法院判斷被告是否有「反覆實施之虞」時可能有眾多的考量因素(例如:毒癮、前科……等),學者亦指出在判斷「反覆實施之虞」時,僅須由其「犯罪歷程」觀察,若被告有可能再為同一犯罪之危險,即可認定有「反覆實施之虞」。這樣的「犯罪歷程」觀察給了法院裁量的空間,故本研究試以人工智慧技術探討我國法院於裁定「預防性羈押」時會考量哪些因素,以及各該因素間存在的關聯性與對裁定結果的影響程度。為達成此一目標,本文設計利用「准予停止羈押聲請」及「駁回停止羈押聲請」兩組樣本進行對照,並在實務與學說見解的基礎之上,選取法院心證中影響准予或駁回「預防性羈押」的因素作為自變項,研究與應變項之間的關係。在成果分析上,本研究主要採用相關性分析呈現各自變項與應變項的相關程度,試圖釐清在重大影響被告人身自由、且多有批評的「預防性羈押」上,實務如何判斷其准予或駁回。

二、文獻回顧

我國實務

關於判斷是否應予「預防性羈押」,我國實務見解認為刑事訴訟法第101條之1所定之預防性羈押,係因考慮該條所列各款犯罪,一般而言,對於他人生命、身體、財產有重大之侵害,對社會治安破壞甚鉅,而其犯罪性質,從實證之經驗而言,犯罪行為人大多有一而再、再而三反覆為之的傾向,故為避免此種犯罪型態之犯罪行為人,在同一社會環境條件下,再次興起犯罪之意念而再為同一之犯罪,因此透過拘束其身體自由之方式,避免其再犯(最高法院108年度台抗字第149號刑事裁定、最高法院103年度台抗字第39號刑事裁定)。

基於此制度目的,法院依該條規定決定是否應予羈押時,並不須有積極證據,足認其確實準備或預備再為同一之犯罪,亦不以被告有同一犯罪之前科紀錄為必要,而僅須由其犯罪之歷程觀察,存在使人相信被告有可能再為同一犯罪危險之條件,即可認定有反覆實施該條犯罪之虞。

至於有無羈押之必要,除有刑事訴訟法第114條各款所列情形外,應由法院依經驗法則與論理法則,按具體個案訴訟進行程度、犯罪性質與實際情狀及其他一切情事妥為審酌,以不違反比例原則之結果進行認定(最高法院109年度台抗字第1039號刑事裁定)。由實務見解可看到,法院對於應予「預防性羈押」並無特定標準,相關審酌因素的重要性仍有待研究整理。

學說見解

關於我國學說對於「預防性羈押」審酌因素之見解,學者薛智仁認為根據德國法,在認定「反覆實施之虞」時,再犯危險因素應涵蓋了行為人個人和社會兩個層面的事實。個人層面可區分為人格因素(例如:智力較低、較為衝動)及行為因素(例如:輟學、無固定工作)進行評估,這些因素皆導致被告在過去逾越社會規範,因而成為危險指標。

學者李錫棟亦指出客觀上有無足以認定被告有重覆實施同一犯罪之虞的事實係對未來的展望性判斷,具較高程度的價值判斷,故應考量被告之心理狀況、犯罪目的是否已達成、被告過去是否經常犯同類型之罪及被告是否以犯某特定之財產犯罪維生。

另外,學者蕭宏宜強調法院在應予「預防性羈押」時應謹慎使用品格證據,例如:不得以被告有前科來證明被告的品德,但前科可用在其他如被告的動機、知識、身分等證明上,以避免無區別或擴張採納品格證據。

美國聯邦最高法院於 United States v. Salerno 案亦指出是否應予「預防性羈押」應審酌被告被控犯罪的嚴重性、證明被告有再犯可能的證據強度、被告的背景及人格、被告被釋放的危險程度。本文將以上開文獻為學理基礎,挑選出法院於判斷是否應予「預防性羈押」時之審酌因素作為變項設定。

參考文獻

  1. 薛智仁(2017),〈羈押事由之憲法界線〉,《臺大法學論叢》,46卷4期,頁1879-1951。
  2. 蕭宏宜(2015),〈預防性羈押的實然與應然〉,《東吳法律學報》,26卷4期,頁83-122。
  3. 李錫棟(2001),〈我國預防性羈押之探討〉,《警學叢刊》,32卷2期,頁215-228。
  4. 李榮耕(2014),〈具保及羈押〉,《月旦法學教室》,146期,頁57-73。
  5. United States v. Salerno, 481 U.S. 739 (1987).

貳、樣本及變項設定

一、樣本搜索及篩選

關鍵字、樣本範圍

「准予停止羈押聲請」之樣本,本文以「羈押、停止羈押、刑事訴訟法第101條之1」為關鍵字,搜索民國99年至108年間之案件,結果共計373則司法院公開裁定。

關於「駁回停止羈押聲請」之樣本,本文以「駁回、停止羈押、刑事訴訟法第101條之1」為關鍵字,搜索民國99年至109年間之案件,結果共計3630則司法院公開裁定。其中「駁回停止羈押聲請」樣本年份較「准予停止羈押聲請」多了109年之資料,係因前後搜索時間不同之故,於樣本分析上無顯著影響,附帶敘明。

樣本選取與剔除

本文以「准予停止羈押聲請」及「駁回停止羈押聲請」兩組樣本作為對照,為求樣本數相當,以隨機選取方式從3630則「駁回停止羈押聲請」取373則裁定,使「准予停止羈押聲請」及「駁回停止羈押聲請」之初始樣本數皆為373則以利作業。取得各373則裁定後,本文以人工篩選的方式剔除不符研究目標之案件,剔除標準包括:與刑事訴訟法第101之1條無涉、有刑事訴訟法第114條不得羈押之事由、與前案相同、已發監執行、另案羈押及當庭獲釋者。剔除不符案件後,本文另針對涉及多個被告的案件,以法院心證論述段落作為單位進行分案(例如同一裁定中,法院若分別以三種不同的論述說明A、B及C三人准予停止羈押的原因,則該案將分為三案進行分析)。最終,本文篩選出「准予停止羈押聲請」裁定340則及「駁回停止羈押聲請」裁定345則作為本研究分析樣本。

二、變項及編碼設計

本文自上開裁定樣本中選取應變項 (y) 7 項及自變項 (x) 28 項進行研究,詳細變項及編碼設計如下所示:

(一)應變項

法院審酌是否裁定「預防性羈押」時,若有羈押原因而無羈押必要,則應選擇替代手段,即具保、責付、限制住居等,刑事訴訟法第101條之2定有明文。由此,本文觀察前開准予「預防性羈押」樣本裁定,整理出7項具分析意義之應變項(y),分別為「准否停止羈押」、「具保」、「具保金額」、「限制住居」、「限制出境出海」、「定期報到」、「依第116-2條第二款:不得再對被害人...實施危害、恐嚇、等行為」。各項標註標準與意義如下表所示,其中「准否停止羈押」及「具保金額」為本文主要研究對象。

var_y 研究目標 英文 代號 編碼
y1 准否停止羈押 grant suspension of detention or not GS 准1 駁0
y2 具保 release on bail RB 有1 無0
y3 具保金額 bail amount BA (單位:萬)
y4 限制住居 house arrest HA 有1 無0
y5 限制出境出海 exit from border/island BI 有1 無0
y6 定期報到 report periodically RP 有1 無0
y7 依第116-2條第二款:不得再對被害人...實施危害、恐嚇、等行為 no actions against victim AV 有1 無0

(二)自變項

本文自樣本裁定中針對「法院心證」部分挑選出28個自變項 (x),各項標註標準與意義如下表所示。

如前所述,刑事訴訟法第101條之1的「預防性羈押」有「行為人嫌疑重大」、「有反覆實施之虞」及「有羈押之必要」三項要件,又本研究觀察各該裁定著重討論者為「有反覆實施之虞」及「有羈押之必要」後兩項要件,因此本文主要標註範圍為「法院心證」論述中針對「有反覆實施之虞」及「有羈押之必要」之審酌因素。另外,針對自變項「罪名」的部分,為使標註後資料具有相關性分析之意義,就有多項罪名且各罪保護法益相同者,以法定刑最重之罪名代表該案件罪名。

x 自變項 英文 代號 編碼
x1 律師聲請 laweyer LA 有1無0
x2 涉嫌罪名 suspected crime SC 條文
x3 本質反覆實施之虞 repeated implement RI 有提及1 未提及/不考慮0 非本質上-1
x4 集團型態 fraud ring FR 集團1 未提及0 非集團-1
x5 多次犯行 multiple offenses MO 是1 未提及0 不是-1
x6 案情角色 criminal role CR 重要1 未提及0 不重要-1
x7 影響/損失 influences IN 多(甚鉅)1 未提及0 少(輕微)-1
x8 通緝到案 a wanted suspect WS 是1 未提及0 非通緝到案-1
x9 辯結/已宣判期日 procedure done PD 終結/宣判1 未提及0 尚未-1
x10 證人訊問完畢/調查證據完畢 evidence investigation EI 完畢1 未提及0 尚未-1
x11 羈押過久 long detention LD 有1 未提及0 沒有-1
x12 衝動或無法控制情緒 Unable to control UC 有1 未提及0 不衝動-1
x13 疾病程度 Severity of illness SI 未達保外就醫但出去治療1 未提及0 未達保外就醫不須出去治療-1
x14 固定收入/工作 Stable job SJ 有1 未提及0 沒有/不固定-1
x15 扶養、照顧責任 (包括父母子女) Supporter SU 有1 未提及0 沒有-1
x16 經濟壓力 Economic pressure EP 有1 未提及0 沒有-1
x17 家庭支持系統 Family support FS 有1 未提及0 沒有/薄弱-1
x18 固定住居 Fixed residence FR 有1 無-1 未提及0
x19 熟悉犯罪手段 Criminal knowledge CK 熟悉1 未提及0 不熟悉-1
x20 坦承 Confession CF 有1 未提及0 無-1
x21 悔意 Remorse RM 有1 未提及0 無-1
x22 已經調解/和解 Conciliation CL 和解1 未提及0 沒有和解-1
x23 態度良好 Attitude AT 好1 未0 惡-1
x24 前科 Criminal record CR 有1 未提及0 無-1 他罪前科2
x25 毒酒癮 Addiction AD 有1 未提及0 沒有-1
x26 接觸被害人的機會 Contact the victim CV 有1 未提及0 無-1
x27 接觸其他犯罪成員機會 (集團成員尚未緝獲) Contact the member CM 有1 未提及0 無-1
x28 現行經濟狀況改善 Economic status improved ESI 改善1 未提及0 未改善-1
In [1]:
#@title
#環境設置
# Commented out IPython magic to ensure Python compatibility.
# 輸入套件
import os
import pandas as pd
from sklearn.metrics import mean_squared_error, mean_absolute_error
from sklearn.model_selection import train_test_split, KFold
import numpy as np
import matplotlib.pyplot as plt
import gspread
# %matplotlib inline
from sklearn import tree
from sklearn.model_selection import train_test_split
from sklearn import metrics
# seaborn
import seaborn as sns

# 接榫帳號
from google.colab import auth
auth.authenticate_user()
import gspread
from oauth2client.client import GoogleCredentials
gc = gspread.authorize(GoogleCredentials.get_application_default())

from IPython.display import clear_output
clear_output()
In [2]:
#@title
# 接榫資料
wb = gc.open_by_url('https://docs.google.com/spreadsheets/d/1wy3A7Sew7dz0yQ5s0voSps7ljdbITlYJyEIiS14pVvE/edit#gid=0')
sheet = wb.worksheet('main')
data = sheet.get_all_values()
df = pd.DataFrame(data)
df.columns = df.iloc[1] #把第2列設為標題(因為python的第一列是0,故第二列是1)
df = df.iloc[2:] #從第三列開始
#整理欄位
# df=df.drop(1,axis=0,inplace=False) 去掉第一列
df=df.drop(["JID","JFULL"],axis=1,inplace=False) #去掉某欄
#接榫准予部分資料
sheet_zy = wb.worksheet('准予部分')
data_zy = sheet_zy.get_all_values()
df_zy = pd.DataFrame(data_zy)
df_zy.columns = df_zy.iloc[1] #把第2列設為標題(因為python的第一列是0,故第二列是1)
df_zy = df_zy.iloc[2:] #從第三列開始
#看一下欄位
#df.info()
#df.describe()
#df.head()

# 定義變項類型
# 字串 str、數字 float、單純種類(str)、序列種類(int)
new_df_schema = {
'INDEX': df['INDEX'].astype(str), 
'y1': df['y1'].astype(int),
'y2': df['y2'].astype(int), 
'y3': df['y3'].astype(float), 
'y4': df['y4'].astype(int),
'y5': df['y5'].astype(int),
'y6': df['y6'].astype(int),
'y7': df['y7'].astype(int),
'x1': df['x1'].astype(int), 
'x2': df['x2'].astype(str), 
'x3': df['x3'].astype(int), 
'x4': df['x4'].astype(int), 
'x5': df['x5'].astype(int), 
'x6': df['x6'].astype(int),
'x7': df['x7'].astype(int), 
'x8': df['x8'].astype(int), 
'x9': df['x9'].astype(int), 
'x10': df['x10'].astype(int), 
'x11': df['x11'].astype(int), 
'x12': df['x12'].astype(int),
'x13': df['x13'].astype(int), 
'x14': df['x14'].astype(int), 
'x15': df['x15'].astype(int), 
'x16': df['x16'].astype(int), 
'x17': df['x17'].astype(int), 
'x18': df['x18'].astype(int),
'x19': df['x19'].astype(int), 
'x20': df['x20'].astype(int), 
'x21': df['x21'].astype(int), 
'x22': df['x22'].astype(int), 
'x23': df['x23'].astype(int), 
'x24': df['x24'].astype(int),
'x25': df['x25'].astype(int),
'x26': df['x26'].astype(int),
'x27': df['x27'].astype(int),
'x28': df['x28'].astype(int)
}
df = pd.DataFrame(new_df_schema)
df_zy = pd.DataFrame(new_df_schema)
#show出資料
#df.info()
#df.describe()

參、成果與分析

一、羈押聲請之准駁與各自變項之關係

即 y1 (准否停止羈押)與各自變項間的關係,分析法官對停止羈押聲請裁定准予或駁回的心證因素。

(一)相關性分析

變項選取

在全部自變項中,有 13 個自變項,其非 0 標註值的筆數佔比低於5%,意即絕大多數案件都未提及此變項因素,因此在本文的分析中並未分析這部分自變項。 這部分的變項包括:

x3(本質反覆實施之虞)、x6(案情角色)、x8(通緝到案)、x10(證據調查完畢)、x12(衝動)、x14(固定收入/工作)、x17(家庭支持系統)、x18(固定住居)、x19(熟悉犯罪手段)、x23(態度良好)、x25(毒酒癮)、x26(接觸被害人機會)、x28(現行經濟狀況改善)

數據結果與含義

篩選存留下的有 15 個自變項,我們先對其中 14 個進行了相關性分析,結果如下圖所示。數字的正負代表正相關和負相關;數字絕對值越大,代表相關性越高。其中 x2 罪名部分,因為種類繁雜且無法用此套件計算,故而並未包括在內。

In [3]:
#@title
# 相關性總圖
# 變項含義見前述列表     
df.columns
Correlation = pd.DataFrame(df[["y1","x1","x4","x5","x7","x9","x11","x13","x15","x16","x20","x21","x22","x24","x27"]])
colormap = plt.cm.viridis
plt.figure(figsize=(20,16))
plt.title('all corelations', y=1.05, size=20)
corr = Correlation.astype(float).corr().round(2)
sns.heatmap(corr,linewidths=0.1,vmax=1.0, square=True, cmap="YlGnBu", linecolor='white', annot=True)
Out[3]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f80aef48e90>
In [4]:
# 計算 p 值
from scipy import stats
crosstable=pd.crosstab(df['y1'],df['x1']) #放入兩個進行相關性比對的變項
stat, p, dof, expected =stats.chi2_contingency(crosstable, correction=False)
#print(crosstable)  #印出結果
print("p-value =" + str(p)) #印出p值的計算結果
p-value =0.21428728858916252

接下來,再透過以上程式的計算,我們得到 y1 (准駁) 與各自變項間相關性的 p 值。基於上述同樣原因,其中 x2 罪名部分並未包括在內。

我們用 p 值來描述兩個變項的相關性是否顯著,當 p 值小於 0.05 時,我們認為兩變項有相關性,反之則無。結果與 y1 具有相關性(p>0.05)的自變項有 12 個,不具相關性的有 2 個,列表如下。其中正、負相關,指的是標註值與准予停止羈押呈正、負相關。

X變項 名稱 相關性 p值
x1 律師聲請 -0.05 0.2142
x4 集團型態 -0.27 <0.001
x5 多次犯行 -0.48 <0.001
x7 影響/損失 -0.43 <0.001
x9 辯結/已宣判期日 0.36 <0.001
x15 扶養、照顧責任 (包括父母子女) 0.14 <0.001
x16 經濟壓力 -0.02 0.5494
x20 坦承 0.5 <0.001
x21 悔意 0.28 <0.001
x22 已經調解/和解 0.19 <0.001
x23 態度良好 0.19 <0.001
x24 前科 -0.36 <0.001
x27 接觸其他犯罪成員機會 (集團成員尚未緝獲) -0.23 <0.001
y1_GS 具相關性
負相關 x4 集團 x5 多次犯行 x7 影響損失 x24 前科 x27 接觸成員
正相關 x9 辯結 x11 羈押過久 x13 疾病 x15 扶養照顧責任 x20 坦承 x21 悔意 x22 已經調解/和解/賠償
不相關 x1 律師聲請 x16經濟壓力/需求

在標註中,我們發現,法官在准予和駁回的案件中,所參酌的因素顯有分歧。 正相關的因素往往多在准予案件中被考量;負相關的因素,多在駁回案件中被考量。因此我們統計了各自變項分別在准予和駁回部分的提及(及標註值非0)次數,結果如下圖所示。

191153947_178279260883398_8229672365892227836_n.png

法學解釋

【負相關】

  1. 集團、接觸成員:多與財產法益(尤其是詐欺)有關,法院應係認為,在集團的組成之下,若與集團成員還有可能再接觸、被告在集團中扮演一定的角色或地位,較有可能重操舊業,因此不予停止羈押。
  2. 多次犯行:此處係指在同一案件中有多次犯行,法院據此推論會重複再犯,而裁定應繼續預防性羈押。
  3. 影響/損失:本研究多為財產犯罪,此結果應表示,法院認為被告不勞而獲、享有鉅潤,若不予羈押很可能會再次為詐騙行為。然而,此處亦應注意,本法第101條之1涉及罪名眾多,並非所有罪名都有「反覆實施」之可能,如:殺人罪(通常為認識之人所犯下)。故應注意到本研究會有此結果可能是因為樣本中財產犯罪占多數。
  4. 前科:法院亦時常以前科去判斷是否符合「反覆實施之虞」之要件。固然有前科記錄在直覺上會與該要件連結。然我們亦應思考的是,依照刑法第37-2條,羈押日數可與日後刑期折抵,此亦反映出羈押日數某種程度上可以等同於受有罪宣告後的徒刑,當法院以前科去判斷有無反覆實施之虞時,是否是以被告過去已經服完刑的犯罪經驗再次懲罰被告,而令被告繼續羈押,此判斷是否正當,應有思考空間。

【正相關】

  1. 辯結、宣判:此與預防性羈押要件之一的「反覆實施之虞」並無關係,准予停止羈押多係因即將進入刑之執行階段、或係因辯論終結後與刑之執行之日相近,而准予停止羈押。
  2. 羈押過久:屬於羈押必要性之判斷,法院會根據被告犯行之刑期,並認為相較於已羈押之時日已顯然過當(甚或是時間長度相同),若再行羈押會嚴重侵犯憲法所保障的人身自由。
  3. 疾病程度:此並非是本法第114條中的保外就醫,只是法院評估之後,認為看守所醫療資源不足,認為被告在看守所外能受到更好的醫療照顧而准予停止羈押。
  4. 扶養責任:法院認為被告為家中經濟支柱、不可以沒有被告照護家人等原因,而准予停止羈押。然該要素亦係本研究當中明顯感受到在准駁二結果之評價截然不同者。意即,在駁回停止羈押聲請時,法院時常認為是否有扶養責任與判斷被告應否遭預防性羈押無涉;然於准予停止羈押,則又如前述所言,認為被告有扶養責任而應准予停止羈押。
  5. 坦承、悔意、調解:此三者雖不盡相同,比如有坦承不一定有悔意,然而法院判斷犯後態度時,時常藉此三者判斷被告犯後態度是否良好。若態度良好則傾向准予停止羈押的理由應在於:應可表示被告已有反省之意,一方面有可能免除反覆實施之虞的疑慮、另一方亦可能據此認無羈押必要;另一個可能的思考方向則是,法院亦藉此獎勵被害人配合刑事司法程序,而准予停止羈押。 然如「扶養責任」會出現的問題一般,在駁回停止羈押聲請時,本研究亦發現被告的坦承或悔意,會被法院連結至「嫌疑重大」之羈押要件之一。本研究雖著墨於羈押要件中的「反覆實施之虞」,然法院因被告坦承而認定嫌疑重大之判斷,亦值得我們注意。

【不相關】

  1. 律師聲請:就此而言,與本組一開始所設想-由律師聲請較易得到准予停止羈押之結果-並不同。由律師聲請不一定得到較有利被告的結果的原因可能在於以下三個原因:

    (1)與民事不同,民事訴訟有較多的不確定法律概念,雙方有較多攻防上的彈性;然而刑事的判斷除了有刑法上的罪刑法定原則、訴訟法上也因為刑事法的本質較不見容於模糊不清的概念,故法院對於預防性羈押的裁定相較於民事法上的判斷應較不彈性。

    (2)承上,縱或認為法院裁定是否繼續預防性羈押時,亦可有如民法上較為彈性的法庭攻防,然被告律師並不一定有機會可以向法院親自為被告發聲

    (3)就民事訴訟而言,只要起訴之一方具備形式要件,雙方即可進入法院進行實質審理;此與刑事裁判並不相同,因為刑事訴訟之當事人一方為代表國家利益之檢察官,檢察官一開始會聲請預防性羈押必是因其認為該名被告之犯行符合本法第101-1條的「嫌疑重大」、「反覆實施之虞」、「有羈押必要」,而前次法院亦裁定預防性羈押,故該被告實質上並不與檢察官(被告之對造),處於如民事訴訟般完全對等的地位;被告反而已經被初次(第一次裁定羈押時)判斷其犯行符合上述三要件了。於此,應也可推論出被告律師就聲請停止羈押的裁定之攻防空間已有先天上的限制。

  1. 經濟壓力:就此而言,因於准駁之兩種情形皆有相當的數量出現,故呈現不相關的結果。此處可發現不同法院對於同樣的因素可能有完全截然不同的判斷。在准予停止羈押,法院可能會以「希望被告出去賺錢、解消經濟壓力後不再重操舊業」;但在駁回停止羈押聲請時,法院卻會以「經濟壓力仍然存在,被告出去後會繼續以犯罪維生。」為由而駁回聲請,據此應可看出法院的標準並不固定(於其他要素亦有類似的情形)。加上前述部分學者對於預防性羈押可能違法無罪推定原則的批評,不同法院、各自表述的情形似乎更突顯出以被告人身自由換取社會安全的預防性羈押之正當性應有進一步審慎思考之必要。

(二)相關性分析:罪名部分

樣本處理

由於相同被告於同案中可能涉嫌多個罪名,類型繁雜,因此將其做適當簡化,當涉及同一法益時,以重罪計:

  1. 同時涉及刑法 320 條竊盜罪及第321 條加重竊盜罪,合併為第321條加重竊盜罪計;
  2. 同時涉及刑法 第339 條詐欺罪與第 339-4 條加重詐欺罪,合併為第339-4條加重詐欺罪;
  3. 同時涉及刑法第 305 條恐嚇危安罪 與第 346 條擄人勒贖,合併為第 346條擄人勒贖罪。

數據結果與含義

但是即便經過簡化,涉案類型仍舊數量眾多,一些類別的案件量過少,因此難有分析價值。本文僅討論以下部分類型。下圖為 x2 罪名與 y1 准駁的馬賽克圖。 寬窄代表案件數量的多寡,百分比代表准駁所佔比例,粉色代表駁回,藍色代表准予。

需注意,駁回部分的案件原始數量遠比准予部分的數量多,僅為了分析之便而隨機抽取與准予部分相當數量的案件。因此從此圖示中,並不能得出準確的比例,僅能在罪名之間橫向對比。

In [5]:
#@title
# 圖柱越寬案件數量越多
from statsmodels.graphics.mosaicplot import mosaic
from scipy import stats
plt.rcParams["figure.figsize"]=(200,80)
plt.rcParams.update({'font.size': 100})
props={}
lab = {}
df1 = df.copy()

df1["x2"] = df1["x2"].apply(lambda x: "x2 1" if x == 1 else ("x2 0" if x == 0 else x ))   #變更x數據值的標籤,需英文
df1["y1"] = df1["y1"].apply(lambda x: "y1 1" if x == 1 else ("y1 0" if x == 0 else x ))  #變更y數據值的標籤,需英文
crosstable1=pd.crosstab(df1['x2'],df1['y1'])
col = ['LightPink','LightSkyBlue','red']    #顏色名稱資料庫:https://www.w3schools.com/cssref/css_colors.asp
n = 0
for i in crosstable1.columns:
  color = col[n]   #y2值相同的塗上相同的顏色
  m = 0
  for j in crosstable1.index:
    #color = col[m] #x值相同的塗上相同的顏色
    total = sum(crosstable1.iloc[m])
    props[(j,i)]={'facecolor':color, 'edgecolor':'white'}
    lab[(j,i)] = f"{crosstable1.iloc[m,n]}, {round(crosstable1.iloc[m,n]/total *100,2)}%"
    m += 1
  n += 1
labelizer=lambda k:lab[k] 
mosaic(df1,["x2","y1"],properties=props, labelizer=labelizer)

plt.show()
/usr/local/lib/python3.7/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.
  import pandas.util.testing as tm