In [66]:
#@title 輸入套件、接榫帳號 {display-mode: "form"}
In [67]:
#@title
# This code will be hidden when the notebook is loaded.

# 輸入套件
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 statsmodels.graphics.mosaicplot import mosaic
from scipy import stats
# importing libraries
import statsmodels.api as sm
from statsmodels.api import OLS

# 下載台北思源黑體並命名taipei_sans_tc_beta.ttf,移至指定路徑
!wget -O taipei_sans_tc_beta.ttf https://drive.google.com/uc?id=1eGAsTN1HBpJAkeVM57_C7ccp7hbgSz3_&export=download
!mv taipei_sans_tc_beta.ttf /usr/local/lib/python3.7/dist-packages/matplotlib//mpl-data/fonts/ttf

from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt 

# 自定義字體變數
myfont = FontProperties(fname=r'/usr/local/lib/python3.7/dist-packages/matplotlib/mpl-data/fonts/ttf/taipei_sans_tc_beta.ttf')



# 接榫帳號
from google.colab import auth
auth.authenticate_user()
import gspread
from oauth2client.client import GoogleCredentials
gc = gspread.authorize(GoogleCredentials.get_application_default())
from sklearn.linear_model import LinearRegression
from sklearn.feature_selection import f_regression
from sklearn import preprocessing, linear_model
import graphviz

from IPython.display import clear_output
clear_output()
In [68]:
#@title 接榫資料 {display-mode: "form"}

# This code will be hidden when the notebook is loaded.

# 接準資料_codebook
wb = gc.open_by_url('https://docs.google.com/spreadsheets/d/1U5hBbN8Oz898H4RDwF5tUKYajcEyeMVWDRse59ohOhM/edit#gid=1477927492')
sheet = wb.worksheet('codebook')
data = sheet.get_all_values()
codebook = pd.DataFrame(data)
codebook.columns = codebook.iloc[0]
codebook = codebook.iloc[1:]

# 接榫資料_資料集
wb = gc.open_by_url('https://docs.google.com/spreadsheets/d/1-SXZCvVTj4CXWhve770wuXc61Mq5nDj6b9qLtdTYcds/edit#gid=643294680')
sheet = wb.worksheet('data0513')
data = sheet.get_all_values()
df = pd.DataFrame(data)
df.columns = df.iloc[1]
df = df.iloc[2:]

df.head()
clear_output()
In [69]:
#@title 更改變項型態 {display-mode: "form"}

# This code will be hidden when the notebook is loaded.

#str int float
#手動確認變項型態,經濟地位用不到的變項沒有清理,先設為str
new_df_schema={
'case_ID':df['case_ID'].astype(str),
'sample_ID':df['sample_ID'].astype(str),
'J_ID':df['J_ID'].astype(str),
'J_title':df['J_title'].astype(str),
'year':df['year'].astype(int),
'court':df['court'].astype(str),
'collateral':df['collateral'].astype(int),
'c_number':df['c_number'].astype(float),
'c_minor_older':df['c_minor_older'].astype(str),
'insurance':df['insurance'].astype(int),
'default_judgement': df['default_judgement'].astype(int),
'c_relative':df['c_relative'].astype(str),
'v_relative':df['v_relative'].astype(str),

'relative':df['relative'].astype(int),
'relative_D0':df['relative_D0'].astype(int),
'relative_D1':df['relative_D1'].astype(int),
'relative_D2':df['relative_D2'].astype(int),



'v_age':df['v_age'].astype(float),
'claimed_amount':df['claimed_amount'].astype(float),
'a_number':df['a_number'].astype(float),
'a_DUI':df['a_DUI'].astype(int),
'v_injury_description':df['v_injury_description'].astype(str),

'v_injury':df['v_injury'].astype(int),
'v_injury_D0':df['v_injury_D0'].astype(int),
'v_injury_D1':df['v_injury_D1'].astype(int),
'v_injury_D2':df['v_injury_D2'].astype(int),


'v_death':df['v_death'].astype(int),
'Article188':df['Article188'].astype(int),
'Article187':df['Article187'].astype(int),
'contributory_negligence':df['contributory_negligence'].astype(float),
'relationship':df['relationship'].astype(str),
'c_occupation':df['c_occupation'].astype(str),

'c_occupation_rank':df['c_occupation_rank'].astype(str),
'c_occupation_rank_D0':df['c_occupation_rank_D0'].astype(int),
'c_occupation_rank_D1':df['c_occupation_rank_D1'].astype(int),
'c_occupation_rank_D3':df['c_occupation_rank_D3'].astype(int),
'c_occupation_rank_D5':df['c_occupation_rank_D5'].astype(int),
'c_occupation_rank_Dna':df['c_occupation_rank_Dna'].astype(int),

'c_monthly_salary':df['c_monthly_salary'].astype(str),
'c_taxable_income':df['c_taxable_income'].astype(str),
'ct_real_estate':df['ct_real_estate'].astype(str),
'c_total_assets':df['c_total_assets'].astype(str),

'c_economic_status':df['c_economic_status'].astype(str),
'c_economic_status_D1':df['c_economic_status_D1'].astype(int),
'c_economic_status_D2':df['c_economic_status_D2'].astype(int),
'c_economic_status_D3':df['c_economic_status_D3'].astype(int),
'c_economic_status_Dna':df['c_economic_status_Dna'].astype(int),


'v_occupation':df['v_occupation'].astype(str),
'v_occupation_rank':df['v_occupation_rank'].astype(str),
'v_occupation_rank_D0':df['v_occupation_rank_D0'].astype(int),
'v_occupation_rank_D1':df['v_occupation_rank_D1'].astype(int),
'v_occupation_rank_D3':df['v_occupation_rank_D3'].astype(int),
'v_occupation_rank_D5':df['v_occupation_rank_D5'].astype(int),
'v_occupation_rank_Dna':df['v_occupation_rank_Dna'].astype(int),

'v_monthly_salary':df['v_monthly_salary'].astype(str),
'v_taxable_income':df['v_taxable_income'].astype(str),
'v_real_estate':df['v_real_estate'].astype(str),
'v_total_assets':df['v_total_assets'].astype(str),

'v_economic_status':df['v_economic_status'].astype(str),
'v_economic_status_D1':df['v_economic_status_D1'].astype(int),
'v_economic_status_D2':df['v_economic_status_D2'].astype(int),
'v_economic_status_D3':df['v_economic_status_D3'].astype(int),
'v_economic_status_Dna':df['v_economic_status_Dna'].astype(int),

'a_occupation':df['a_occupation'].astype(str),

'a_occupation_rank':df['a_occupation_rank'].astype(str),
'a_occupation_rank_D0':df['a_occupation_rank_D0'].astype(int),
'a_occupation_rank_D1':df['a_occupation_rank_D1'].astype(int),
'a_occupation_rank_D3':df['a_occupation_rank_D3'].astype(int),
'a_occupation_rank_D5':df['a_occupation_rank_D5'].astype(int),
'a_occupation_rank_Dna':df['a_occupation_rank_Dna'].astype(int),

'a_driver':df['a_driver'].astype(int),
'a_monthly_salary':df['a_monthly_salary'].astype(str),
'a_taxable_income':df['a_taxable_income'].astype(str),
'a_real_estate':df['a_real_estate'].astype(str),
'a_total_assets':df['a_total_assets'].astype(str),

'a_economic_status':df['a_economic_status'].astype(str),
'a_economic_status_D1':df['a_economic_status_D1'].astype(int),
'a_economic_status_D2':df['a_economic_status_D2'].astype(int),
'a_economic_status_D3':df['a_economic_status_D3'].astype(int),
'a_economic_status_Dna':df['a_economic_status_Dna'].astype(int),

'Article195I_amoumt':df['Article195I_amoumt'].astype(float),
'judgement':df['judgement'].astype(int),
'amoumt':df['amoumt'].astype(float),
'amoumt_negligence':df['amoumt_negligence'].astype(float),

}

df = pd.DataFrame(new_df_schema)

# df.info()
# df.describe()

民法第195條第3項慰撫金之實證研究

An Empirical Study of Article195III

Back to the Class Page

Video on YT

謝天懷(Hsieh Tian-huai,法研二)、侯怡秀(Hou Yi-hsiu,法研一)、施詠馨(Shih Yong-hsin,國發三)、蘇子陽 (Su Zih-yang,法研一)

一、研究動機

依據民法第195條第3項之規定,當不法侵害他人基於父、母、子、女或配偶關係之身份關係而情節重大時,父、母、子、女或配偶(下稱特定近親)雖係受有非財產上之損害,亦得請求賠償相當之金額,即慰撫金,於該條之立法理由已經例示出之事由包含,「未成年子女被人擄略時,父母監護權被侵害所受之精神上痛苦」、「如配偶一方被強姦,他方身份法益被侵害所致精神上痛苦」兩例,但針對其他身體、健康「受傷」的態樣,需要到何種情形才屬於「情節重大」,則需要透過學說以及實務去累積,而自民國88年到現在實務上已經累積相當可觀之判決數量,但是個別法官實際上依據何種因素酌定該慰撫金,尚未有嚴謹的歸納,本文將以此作為核心的爭點意識,將判決系統化分析,將各項變數標示出來,試圖找尋各項變數,何者對於慰撫金有顯著影響。

二、議題介紹

非財產上的損害賠償,即慰撫金,要求法院就本質上無法被量化的精神上、情感上之痛苦轉換為金錢之債,因此可以想像的是,不管是是否准許慰撫金的請求,還是慰撫金的數額,都具有濃厚的主觀化、難以確定性以及無統一的客觀標準,本次研究將以車禍案件中被害人之身體健康權受損時,特定近親之慰撫金請求為研究客體,初探「地方法院」「民事庭」之「交通事故」案件,所欲討論兩個子議題,其一是在法院在被害人的受到何種傷害下,特定近親之慰撫金請求得以成立;其二是若慰撫金請求成立則究竟加害人、被害人以及請求權人個別之身份、地位、教育程度、收入等因素,是否影響慰撫金之數額,而這些因素何者具有顯著性。

三、文獻回顧

本文閱讀有關於民法第195條3項的文獻,作為本次研究的基石,並作為找尋變數以及推論的基礎。

在陳忠五,(2012年),〈侵害他人身體健康權,被害人父母的慰撫金請求——最高法院100年台上字第992號判決評析〉,肯認身份法益的獨立性,屬於獨立於人格法益外的保護法益,自應本其獨自的構成要件判斷之,與同條第1項之適用無關,因而同一侵害行為,得同時對不同主體構成人格法益與身份法益之侵害,發生不同之分財產上損害賠償請求權;並且分析該身份法益之慰撫金是特定近親,對於被害人之損害所生的不忍不捨,心力交瘁或保去精神折磨等「親情或情感衝擊」,而與該請求權人是否持續照顧、是否對於保護教養造成額外負擔或支出、是否擔任監護人、或是否享有扶養權利,均與「親情或情感利益」乃屬二事,不應等同視之。

在王之穎,(2020年),〈不法侵害被害人身體健康致受傷,其父母子女配偶得否請求慰撫金〉一文中,分析五則最高法院之判決,若被害人因事故所受之傷勢,導致腦部認知或意識受有影響,或腦部認知或意識雖未受影響,但是有需臥床或仰賴她人照護之失能狀態,則多傾向肯認特定近親得依據民法195條3項請求慰撫金,反之,則傾向否定特定近親的慰撫金請求。

四、研究設計

判決樣本

本次研究目的在於探究法院在認定是否成立民法195條3項請求慰撫金請求以及其數額,而法院在判決中雖述及「按慰藉金其核給之標準固與財產上損害之計 算不同,然非不可斟酌雙方身分資力與加害程度,及其他各種情形核定相當之數額為核幾標準」,而究竟哪些因素為最顯著之因素,往往不得而知。 本次研究所使用之關鍵字,在搜尋欄輸入「(第195條第3項+第195條第三項)&民法&(交通+車禍)」所涉及的範圍,涵蓋車禍之交通案件且在判決書中引用民法195條第3項之情形。 而在挑選研究樣本時,因為所涉及之判決眾多,難以一一研究,故而將範圍各地方法院共計346個研究樣本,進行分析。

變項設計

在所研究之判決樣本中,除了參考文獻中關於法院可能考量之意識因素外,也由本組所設想可能對於法院有引響之因素亦將之列為變項,分別有,是否以刑附民、是否有保險、是否屬於一造辯論判決、被害人與請求人之身份關係、被害人年齡、受傷型態、是否有死亡結果發生、加害人有無民法187、188條之適用,以及被害人、請求權人、加害人之職業以及經濟地位情形。

雖本次研究為民法195條第3項應與民法194條做出區分,惟經過查閱相關判決發現,如果交通案件所為之傷勢與最終結果死亡之間欠缺相當因果關係時,則請求權基礎仍為民法195條第3項,因而本文亦將之列為變項之一。

其中關於被害人、請求權人、加害人之職業地位,本是研究參考黃毅志,〈如何精確測量職業地位?「改良版台灣地區新職業聲望與社經地位量表」之建構〉中將各行業就收入以及專業技術作為區分標準,而為職業類別之客觀區分,以具有專業知識之人(例如會計師、律師、教師等)列為職業等級高、而已有固定收入以及事務性工作人員(例如廚師、保安人員)列為等級中、末將非技術或體力工或非固定收入之工作(例如工友、清潔工)列為等級低。

另外就被害人、請求權人、加害人之經濟地位,因為個別法院所探究經濟因素並不相同,有以有無不動產、亦有總資產、或有月薪、或有平均課稅所得、甚至綜合判斷者,而本次研究將經濟地位區分為高、中、低三等,參考「中華民國統計資訊網中」平均每人負債,以107年底為淨值(不含人壽保險及退休基金準備)為新台幣429萬元為總資產之判準,以及「中華民國統計資訊網中」將工業及服務業受僱人員工人數四等分位組分界點之107年總薪資,第一四分位數為34.8萬、第三四分位數為73.1萬而為平均課稅所得判準,且若將之分別將之除以12個月為月薪的判準,綜上,可得之結論如下,若有不動產,且總資產大於新台幣429萬者,經濟地位高;若有不動產但總資產不明或小於新台幣429萬元,經濟地位中;若沒有不動產、總資產不明或小於新台幣429萬者,需進一步判斷月薪以及課稅所得:月薪2.9萬以下,經濟地位低;2.9萬至6.1萬間,經濟地位中;6.1萬以上,經濟地位高。課稅所得34.8萬以下,經濟地位低;34.8萬至73.1萬間,經濟地位中;73.1萬以上,經濟地位高;另外,為處理極端情形包含不動產價值甚低或當事人未報稅之情形,本次研究處理方式如下,如有不動產,惟總資產僅數十萬以內,代表系爭不動產價值低,仍需進一步判斷月薪與課稅所得;課稅所得如僅數萬元以內,可能僅是當事人未報稅,而非其年薪僅數萬元,此時以其月薪判斷之。

圖(一)、經濟地位判斷流程圖

截圖 2021-05-11 22.26.20.png

表(一)、codebook

In [70]:
# This code will be hidden when the notebook is loaded.

#codebook.head(51).style.set_properties(**{'text-align': 'left'})

#codebook.head(51).style.set_table_styles([ dict(selector='th', props=[('text-align', 'left')] ) ])
left_aligned_df = codebook.head(51).style.set_properties(**{'text-align': 'left'})
display(left_aligned_df)

# from google.colab import files
# uploaded = files.upload()
# import io
# import pandas as pd
# df1 = pd.read_csv(io.BytesIO(uploaded['codebook.csv']))
# print(len(df1))
# df1.head(51)
0 中文名稱 英文名稱 說明
1 裁判ID case_ID 地院代號+編號
2 樣本ID sample_ID 以請求權人為單位,如果請求人間毫無差異(身分關係與經濟狀況都相同),那不分開編。(有數個加害人,仍不分開編,關於加害人的變項以資力高的為準)
3 案號 J_ID
4 案由 J_title
5 裁判年份 year 以言詞辯論終結時年份
6 法院 court (類別)
7 是否刑附民 collateral (類別)否0、是1
8 請求權人人數 c_number (數值)本訴訟中不包括直接被害人的間接被害人人數。
9 請求權人是否為未成年或老年人 c_minor_older (類別)不是0、20歲以下1、65歲以上2、未提NA(因為成年年紀現在才下修,研究以前的裁判所以設20)
10 是否有保險 insurance (類別)否0、是1。法院沒提就是沒有保,標0非NA。
11 一造辯論判決 default_judgement (類別)無0、有一造辯論1(所有被告皆未於最後言詞辯論期日到場)
12 請求權人身分 c_relative (類別)父0、母1、子2、女3、配偶4。子女(未區分性別)標23、父母(未區分性別)標10
13 被害人身分 v_relative (類別)父0、母1、子2、女3、配偶4。子女(未區分性別)標23
14 身分關係 relative (類別)請求權人是父母0、請求權人是子女1、請求權人是配偶2
15 被害人年齡 v_age (數值)用法院裁判中有提到的年齡,不論裁判時或事故時。
16 聲明金額 claimed_amount (數值)僅就195III的部分的聲明金額
17 加害人人數 a_number (數值)
18 案件類型 a_DUI (類別)過失0、酒駕1
19 受傷型態 v_injury_description
20 傷勢 v_injury (類別)輕傷0、重傷1、植物人(包括類植物人)2。直接用刑事成立的罪名判斷,無刑事裁判再依刑法10VI判斷之。
21 死亡 v_death (類別)直接被害人發生死亡結果(與侵權行為無因果關係):無0、死亡1
22 有無民法第188條適用 Article188 (類別)無0、有1
23 有無民法第187條適用 Article187 (類別)無0、有1
24 與有過失 contributory_negligence (數值)直接被害人比例(包含其使用人之過失比例)
25 請求權人與直接被害人親密程度 relationship (類別)法院未為提及或法院推定NA、實質審理_親2、實質審理_疏3
26 請求權人職業 c_occupation
27 請求權人職業等級 c_occupation_rank (類別)看車禍前的職業,分1、3、5三級:依職業量表。(臨時工、農林漁牧1;專業人員5;其他都標3,業務:顧客服務業務事務3、家管:家事管理員3;。退休、無業、學生0。)
28 請求權人月收入 c_monthly_salary (數值)
29 請求權人平均課稅所得 c_taxable_income (數值)
30 請求權人有無不動產 c_real_estate (類別)無0、有1
31 請求權人總資產 c_total_assets (數值)
32 請求權人經濟地位 c_economic_status (類別)經濟地位低1、中2、高3
33 被害人職業 v_occupation
34 被害人職業等級 v_occupation_rank (類別)
35 被害人月收入 v_monthly_salary (數值)
36 被害人平均課稅所得 v_taxable_income (數值)
37 被害人有無不動產 v_real_estate (類別)無0、有1
38 被害人總資產 v_total_assets (數值)
39 被害人經濟地位 v_economic_status (類別)
40 加害人職業 a_occupation
41 加害人職業等級 a_occupation_rank (類別)
42 加害人身分 a_driver 一般人0、職業駕駛1(指載運人、貨物之職業駕駛,不包括在工廠開重機具;即使非執行業務中也標1)
43 加害人月收入 a_monthly_salary (數值)
44 加害人平均課稅所得 a_taxable_income (數值)
45 加害人有無不動產 a_real_estate (類別)有1;無0
46 加害人總資產 a_total_assets (數值)
47 加害人經濟地位 a_economic_status (類別)
48 直接被害人195I裁判金額 Article195I_amoumt (數值)
49 195III准駁 judgement (類別)駁0;准1
50 195III裁判金額 amoumt (數值)

五、研究結果

(一)敘述統計

1、 法院准駁情形

圖(二)、法院准駁情形

In [71]:
#@title 
##准駁 長條圖
counts = df['judgement'].value_counts().to_dict().copy()
xs = ["1","0"]
ys = list(counts.values())
#print(ys)
plt.bar(xs, ys, color = 'lightblue')
#plt.bar("1", ys[0] , color="lightblue")
#plt.bar("0",ys[1],color="lightblue")
plt.title('195III身體法益與精神慰撫金',fontproperties=myfont)
plt.xlabel('准駁',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)
#加上數值
plt.text("1", ys[0]+0.05,  ys[0], ha='center', va= 'bottom',fontsize=11)
plt.text("0", ys[1]+0.05,  ys[1], ha='center', va= 'bottom',fontsize=11)
#調整Y軸高度
plt.ylim(0,300)

plt.show()
#需要用英文表示
#plt.bar(沒有設定參數 就照預設的)
#df[['judgement']value_counts()]to_dict()

在本圖x軸列「1」表示法院認定原告請求有理由,「0」表示法院認定原告請求無理由。

本圖總體呈現了本研究範圍——「車禍案件所肇致之身分法益受侵害案件」樣本數。而具體件數計算係以請求權人數為單位,蓋同一案件內可能同時有父或母或子女請求。整體而言,法院肯定原告依據民法第195條第3項規定請求精神慰撫金之情形並不罕見。

圖(三)、勝訴比

In [72]:
#@title 
counts = df['judgement'].value_counts().to_dict()
xs = list(counts.keys())
ys = list(counts.values())


colors = ['lightblue','pink']
plt.pie(ys, labels=xs, autopct='%1.2f%%', colors=colors)

plt.legend()

plt.title('法院比例',fontproperties=myfont)

plt.show()

法院准許共260筆樣本數,駁回共89筆樣本數,勝率比率為74.5%。

2、法院是否實質認定「親密關係」

圖(四)、法院是否實質認定「親密關係」

In [73]:
#@title 
##親密程度 圓餅圖
#必須先刪除空值
df_pie = df[df['judgement']!= 0 ].reset_index(drop=True).copy()

counts = df_pie['relationship'].value_counts().to_dict()
xs = list(counts.keys())
ys = list(counts.values())

colors = ['lightblue','pink']
plt.pie(ys, labels=xs, autopct='%1.2f%%', colors=colors)

plt.legend()

plt.title('法院實質認定親密關係比例',fontproperties=myfont)

plt.show()
# plt.xlabel('x')
# plt.ylabel('y')

#問題:為什麼plt.xlabel是x不是xs

本圖樣本數僅限於法院准許原告請求之案件,蓋法院認為原告請求無理由者,將不會有後續酌定精神慰撫金金額之問題,也毋庸繼續判斷請求權人與直接被害人之關係緊密程度。而數值「NA」表示未能於判決書上看見法院就請求權人與直接被害人間親密關係判斷之心證過程,「2」則表示法院有於判決書上詳加論述請求權人與直接被害人二人關係親密

民法第195條第3項之修正理由即言明間接被害人所受之精神上痛苦乃牽繫於親密關係所生之身分法益被侵害,故本研究預設立場法院在酌定金額多寡時應會就「親密關係」進行實質判斷,並進而影響精神慰撫金金額多寡。惟依本圖所呈現,法院在判決書上有公開其就親密關係判斷之心證過程佔比偏低。本研究認為,這不絕對代表法院普遍未就此關鍵因素進行實質認定,可能僅普遍未有揭露於判決書上之習慣。從而,本研究欲探討本一變項對金額多寡影響之深淺,顯然受到限制。

3、民法第195條第3項裁判金額分布

圖(五)、民法第195條第3項最終裁判金額分布

In [74]:
#@title 
##裁判金額195三項的裁判金額 
df_subz = df[df['amoumt']!= -1 ].reset_index(drop=True).copy()
df_subz['amoumt'] = ((df_subz['amoumt'].astype(int))/10000).astype(int)

bins = np.arange(0, 250, 10)

ys = df_subz['amoumt'].values


plt.title('195III裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.hist(ys, bins, alpha=0.5)

plt.show()

在本圖中,中位數20(萬元)、平均32.158(萬元)。

可以發現統計上在圖型的左側大致呈現常態分佈之趨勢,而於圖表的右側,因為有出現幾筆極端值,本組認為,可能無法產生完整的常態分佈的原因在於,樣本數僅有349件,再扣除請求經駁回者則僅剩餘260件,尚難謂已達大數據之效果。

圖(六)、民法第195條第3項回推與有過失裁判金額分布

In [75]:
#@title 
##還原金額後裁判圖
df_subz = df[df['amoumt_negligence']!=-1].reset_index(drop=True).copy()
df_subz['amoumt_negligence'] = ((df_subz['amoumt_negligence'].astype(int))/10000).astype(int)


bins = np.arange(0, 250, 10)

ys = df_subz['amoumt_negligence'].values


plt.title('195III裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.hist(ys, bins, alpha=0.5)

plt.show()

中位數40(萬元)、平均46.704(萬元)。

圖之左側大致呈現常態分布之趨勢,而圖之右側,有少數幾筆極端值。

本研究認為,無法產生完整的常態分佈的原因可能在於樣本數僅有349件,再扣除請求經駁回者則僅剩餘260件,難謂已達大數據之效果而使然。

4、民法第195條第1項裁判金額分布

圖(七)、民法第195條第1項裁判金額分布

In [76]:
#@title 
###195一項的裁判金額
df_subx = df[df['Article195I_amoumt']!= -1 ].reset_index(drop=True).copy()
df_subx['Article195I_amoumt'] = ((df_subx['Article195I_amoumt'].astype(int))/10000).astype(int)

bins = np.arange(0, 650, 20)

ys = df_subx['Article195I_amoumt'].values

plt.title('195I裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.hist(ys, bins, alpha=0.5)

plt.show()

另外,直接被害人依民法195條第1項所得裁判金額,中位數為70(萬元),平均數為91.347(萬元)。

5、是否提刑附民 v 195III裁判金額關係

圖(八)、是否提刑附民 v 195III裁判金額關係

In [77]:
#@title 
##還原後裁判金額
df_sub = df[df['amoumt_negligence']!= -1 ].reset_index(drop=True).copy()
df_sub['amoumt_negligence'] = ((df_sub['amoumt_negligence'].astype(int))/10000).astype(int)
# heights, bins = np.histogram(df_sub['amoumt'], bins=5)
bins = np.arange(0, 250, 10)

col0 = df_sub[(df_sub['collateral']==0)]['amoumt_negligence'].values
col1 = df_sub[(df_sub['collateral']==1)]['amoumt_negligence'].values


plt.hist(col1, bins, alpha=0.5, density=False, cumulative = False, label = "collateral")
plt.hist(col0, bins, alpha=0.9, density=False, color = 'pink', cumulative = False, label = "civil only")
plt.legend()

plt.title('刑附民 v 裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.show()

藍色柱狀表示原告係提起刑事訴訟附帶民事訴訟,粉色柱狀表示原告係逕提起民事訴訟請求賠償。

刑附民共212筆樣本,中位數40(萬元)、平均49.505(萬元);單獨提起民事共48筆樣本,中位數20(萬元)、平均34.333(萬元)。

依據刑事訴訟法第504條第2項之規定,以刑附民之形式提起訴訟,原告毋庸繳交民事裁判費。反觀直接提起民事訴訟案件之原告須自行繳交裁判費,顯然後者多背負一定之訴訟成本考量。本研究緣此預設立場,前者在沒有裁判費壓力之下,原告聲明金額可能偏高,並進一步使裁判金額也偏高,故也以「刑附民」作為變項之一。最後,從圖形觀察,似也有這項趨勢,然單純提起民事訴訟案件僅占2成左右,還是必須進一步釐清、分析。

6、是否提刑附民 v 聲明金額

圖(九)、是否提刑附民 v 聲明金額

In [78]:
#@title 
df_sub = df[df['claimed_amount']!=-1].reset_index(drop=True).copy()
df_sub['claimed_amount'] = ((df_sub['claimed_amount'].astype(int))/10000).astype(int)
# heights, bins = np.histogram(df_sub['amoumt'], bins=5)
bins = np.arange(0, 601, 20)

col0 = df_sub[(df_sub['collateral']==0)]['claimed_amount'].values
col1 = df_sub[(df_sub['collateral']==1)]['claimed_amount'].values


plt.hist(col1, bins, alpha=0.5, density=False, cumulative = False, label = "collateral")
plt.hist(col0, bins, alpha=0.9, density=False, color = 'pink', cumulative = False, label = "civil only")
plt.legend()

plt.title('刑附民 v 聲明金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.show()

藍色柱狀表示原告係提起刑事訴訟附帶民事訴訟,粉色柱狀表示原告係逕提起民事訴訟請求賠償。另有一筆聲明金額2000萬(刑附民)、一筆1000萬(非刑附民)因呈現方式關係未於圖上揭露。

刑附民共276筆樣本,中位數65(萬元)、平均107.134(萬元);非刑附民共73筆樣本,中位數50(萬元)、平均88.164(萬元)。

依前揭理由所設計之刑事附帶民事之變項,可以觀察到,不論有無刑附民,大部分的聲明金額落在300萬以內。

極度偏離行情者則多屬刑附民者,實際關聯也須留待後續進一步釐清、分析。

7、傷勢情狀 v 195III裁判金額關係

圖(十)、傷勢情狀 v 195III裁判金額關係

In [79]:
#@title 
##還原金額後
df_sub = df[df['amoumt_negligence']!= -1 ].reset_index(drop=True).copy()
df_sub['amoumt_negligence'] = ((df_sub['amoumt_negligence'].astype(int))/10000).astype(int)

bins = np.arange(0, 250, 10)

inj0 = df_sub[(df_sub['v_injury']==0)]['amoumt_negligence'].values
inj1 = df_sub[(df_sub['v_injury']==1)]['amoumt_negligence'].values
inj2 = df_sub[(df_sub['v_injury']==2)]['amoumt_negligence'].values

plt.xlim(0,250)

plt.hist(inj1, bins, alpha=0.9, density=False, color = 'skyblue', cumulative = False, label = "serious injury")
plt.hist(inj2, bins, alpha=0.9, density=False, color = 'pink', cumulative = False, label = "PVS")
plt.hist(inj0, bins, alpha=0.9, density=False, color = 'purple', cumulative = False, label = "minor injuries")

plt.legend()

plt.title('傷勢 v 裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.show()

藍色柱狀表示重傷(以刑法第10條第4項規定為判準),粉色柱狀表示已呈植物人,紫色柱狀則表示輕傷。

輕傷共41筆樣本,中位數15(萬元)、平均29.634(萬元);重傷共150筆樣本,中位數30(萬元)、平均43.920(萬元);植物人共69筆樣本,中位數50(萬元)、平均62.899(萬元)。

首先,輕傷案件數量與重傷案件(包括植物人案件)數量相比,前者顯然較少。本研究發現,在輕傷案件,法院傾向於認定身分法益因此受侵害尚不該當民法第195條第3項「情節重大」之要件,故而也多將原告請求駁回。

第二,關於傷勢對金額多寡之影響,本研究原預設立場植物人案件相較於一般輕、重傷案件,裁判金額應會顯著較高,蓋此情形直接被害人之父、母、子女在照顧上所需付出之心力更多,精神上承受之壓力也更龐大。然從圖片呈現,二者裁判金額分布無顯著差異,本研究認為應能得出一項結論,即「植物人」非法院裁判較高金額之絕對判準,具體金額多寡仍須視個案情節。

最後,重傷案件(包括植物人案件)較之於輕傷案件,本研究也有相同預設立場。而從圖片呈現,顯見輕傷案件裁判金額普遍偏低,雖存有少數極端值,但不影響本研究認定傷勢情節對於裁判金額之高低有重要影響。

8、是否酒駕 v 195III裁判金額關係

圖(十一)、是否酒駕 v 195III裁判金額關係

In [80]:
#@title 
##還原金額後
df_sub = df[df['amoumt_negligence']!= -1 ].reset_index(drop=True).copy()
df_sub['amoumt_negligence'] = ((df_sub['amoumt_negligence'].astype(int))/10000).astype(int)

bins = np.arange(0, 250, 10)

dui0 = df_sub[(df_sub['a_DUI']==0)]['amoumt_negligence'].values
dui1 = df_sub[(df_sub['a_DUI']==1)]['amoumt_negligence'].values


plt.xlim(0,250)

plt.hist(dui0, bins, alpha=0.5, density=False, cumulative = False, label = "not drunk driving")
plt.hist(dui1, bins, alpha=0.9, density=False, color = 'pink', cumulative = False, label = "drunk driving")

plt.legend()

plt.title('酒駕 v 裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.show()

藍色柱狀表示非酒駕案件;粉色柱狀表示酒駕案件。

本研究在設計變項之初,以「酒駕」作為變項與一般車禍案件比較,是考量酒駕案件侵害社會法益,且社會可非難性較高,是否可能影響法院就最終慰撫金之酌定,而欲分析之。但是本研究採集之349個樣本數中,僅有8件(14個樣本)屬於酒駕案件,因而尚難觀察出兩者之關聯。

9、有無保險 v 195III裁判金額關係

圖(十二)、有無保險 v 195III裁判金額關係

In [81]:
#@title 
##還原金額後
df_sub = df[df['amoumt_negligence']!= -1 ].reset_index(drop=True).copy()
df_sub['amoumt_negligence'] = ((df_sub['amoumt_negligence'].astype(int))/10000).astype(int)

bins = np.arange(0, 250, 10)

ins0 = df_sub[(df_sub['insurance']==0)]['amoumt_negligence'].values
ins1 = df_sub[(df_sub['insurance']==1)]['amoumt_negligence'].values

plt.hist(ins1, bins, alpha=0.5, density=False, cumulative = False, label = "insurance")
plt.hist(ins0, bins, alpha=0.9, density=False, color = 'pink', cumulative = False, label = "no insurance")
plt.legend()

plt.title('保險 v 裁判金額',fontproperties=myfont)
plt.xlabel('金額(萬)',fontproperties=myfont)
plt.ylabel('件數',fontproperties=myfont)

plt.show()

藍色柱狀表示有投保強制險之案件;粉色柱狀表示無強制險理賠。

有保保險共238筆樣本,中位數40(萬元)、平均46.840(萬元);沒有保保險共22筆樣本,中位數25(萬元)、平均45.227(萬元)。

本研究初期預設立場,若是在加害人有保責任保險時,加害人所負擔之損害賠償責任,因有保險公司負擔之,是否進一步影響到法院酌定之數額,而有較高的趨勢。惟我國設有汽機車之責任險之規定,本研究採集349個判決後,發現無保險之比例確實偏低,僅有43個樣本數。

(二)推論統計

接下來,我們想知道

1、哪些因素會影響法院准駁?

2、又在法院准許的樣本中,有哪些因素會影響法院裁判金額?

1、分析前資料觀察

(1) 相關

首先,我們先將「直接被害人195I裁判金額」、「195III裁判金額」、「195III裁判金額_回推過失比例」三個變項的缺項予以清除。

再將上述三者與「被害人傷勢」(為int)、「聲明金額」、「與有過失比例」等數值變項去跑相關矩陣,大致了解兩兩間的相關如下:

圖(十三)、相關矩陣

In [82]:
#@title 
#用None取代-1:Article195I_amoumt、amoumt、amoumt_negligence   (v_age、沒相關就不管)
#print(df["v_age"].mean())
#print(df['v_age'][2])    #####超級要注意,index從2開始,讀資料的時候就要注意了
#print(df['v_age'][2]==-1)
#print(range(2,350))   #錯誤語法
#for i in range(2,350):
#   if df['v_age'][i]==-1:
#     df['v_age'][i]=None  #注意:""是str,不能跑回歸
#   #print(df['v_age'][i])

df_correlation=df.copy()

for i in range(2,350):
   if df_correlation['Article195I_amoumt'][i]==-1:
     df_correlation['Article195I_amoumt'][i]=None

for i in range(2,350):
   if df_correlation['amoumt'][i]==-1:
     df_correlation['amoumt'][i]=None

for i in range(2,350):
   if df_correlation['amoumt_negligence'][i]==-1:
     df_correlation['amoumt_negligence'][i]=None


#再看一次相關
Correlation = pd.DataFrame(df_correlation[[
        'v_injury','claimed_amount','contributory_negligence',
        'Article195I_amoumt','amoumt','amoumt_negligence']]).copy()

colormap = plt.cm.viridis
# plt.figure(figsize=(20,16))
# plt.title('all corelations', y=1.05, size=15)
corr = Correlation.astype(float).corr().round(2)

from IPython.display import clear_output
clear_output()
# sns.heatmap(corr,linewidths=0.1,vmax=1.0, square=True, cmap="YlGnBu", linecolor='white', annot=True)
In [83]:
plt.figure(figsize=(20,16))
plt.title('all corelations', y=1.05, size=15)
sns.heatmap(corr,linewidths=0.1,vmax=1.0, square=True, cmap="YlGnBu", linecolor='white', annot=True)
Out[83]:
<matplotlib.axes._subplots.AxesSubplot at 0x7faa739a9d50>

與有過失比例與裁判金額呈負向關係;傷勢、聲明金額、直接被害人195I裁判金額皆與裁判金額呈現正向關係。

(2) 馬賽克圖

圖(十四)、傷勢與准駁

In [84]:
#@title 

#畫馬賽克圖:'v_injury','judgement'
# from statsmodels.graphics.mosaicplot import mosaic
# from scipy import stats

crosstable=pd.crosstab(df_correlation['v_injury'],df_correlation['judgement'])  #改變數
stat, p, dof, expected =stats.chi2_contingency(crosstable, correction=False)
#print("樣本分布情形為:\n",crosstable)  #印出分布
#crosstable.info()
print("樣本分布情形為:")
print("                 v_injury")
print("judgement   \t重1\t輕0\t  植2")
print("     准許(1)   ",crosstable[1][1],"\t",crosstable[1][0],"\t  ",crosstable[1][2])
print("     駁回(0)   ",crosstable[0][1],"\t",crosstable[0][0],"\t  ",crosstable[0][2])


#print("\n依期望值分布的情形為:\n",expected) #期望值
print("\n依期望值分布的情形為:")
print("                               v_injury")
print("judgement      \t重1      \t輕0      \t植2")
print("     准許(1)   \t", '%.3f' % expected[1][1],"   \t", '%.3f' % expected[0][1],"   \t", '%.3f' % expected[2][1])
print("     駁回(0)   \t", '%.3f' % expected[1][0],"   \t", '%.3f' % expected[0][0],"   \t", '%.3f' % expected[2][0])
# interpret p-value
alpha = 0.05
print("\np value is", '%.3f' % p) # 默認保留3位小數

if p <= alpha:
    print('   結果為:Dependent (reject H0)')  #H0是虛無假設
else:
    print('   結果為:Independent (H0 holds true)')


props = {}
props[('1', '1')] = {'color': 'LightCyan'}
props[('1', '0')] = {'color': 'PaleTurquoise'}
props[('0', '1')] = {'color': 'Ivory'}
props[('0', '0')] = {'color': 'LemonChiffon'}
props[('2', '1')] = {'color': 'LavenderBlush'}
props[('2', '0')] = {'color': 'MistyRose'}

mosaic(df_correlation,['v_injury','judgement'], properties=props) #畫馬賽克圖
plt.show()
樣本分布情形為:
                 v_injury
judgement   	重1	輕0	  植2
     准許(1)    150 	 41 	   69
     駁回(0)    25 	 62 	   2

依期望值分布的情形為:
                               v_injury
judgement      	重1      	輕0      	植2
     准許(1)   	 130.372    	 76.734    	 52.894
     駁回(0)   	 44.628    	 26.266    	 18.106

p value is 0.000
   結果為:Dependent (reject H0)

縱軸為准(1)駁(0),橫軸為重傷(1)、輕傷(0)、植物人(2)

p value小於0.001,有顯著。

輕傷的駁回比例相較於重傷跟植物人,明顯高出許多。

2、什麼因素會影響法院准駁?

(1) 解釋模型

我們想知道什麼因素會影響法院准駁,因此將法院准駁作為依變項,並將一些客觀變項如:刑附民、保險、一造辯論判決等作為自變項納入模型;再依理論認為可能影響法院裁判准駁的變項如:傷勢、直接被害人發生與侵害行為無因果關係的死亡結果、加害人為職業駕駛等作為自變項納入模型。

使用羅吉斯迴歸的統計方法,結果如下:

表(二)、准駁模型(1)

In [85]:
#@title 
###logistic

#import statsmodels.api as sm
#加截距項

df_logistic=df.copy()
df_logistic["intercept"]=1
  

# defining the dependent and independent variables
X_logistic = df_logistic[[  'collateral', 
         'insurance',	'default_judgement',
         'v_injury_D1', 'v_injury_D2', 'v_death',
         'a_driver',
         "intercept"]]
y_logistic = df_logistic['judgement']  
   
# building the model and fitting the data
log_reg = sm.Logit(y_logistic, X_logistic).fit()


# printing the summary table
print(log_reg.summary())

OR=np.exp(log_reg.params)
print("\n各變項odds ratio分別為:")
print(OR)
Optimization terminated successfully.
         Current function value: 0.404783
         Iterations 8
                           Logit Regression Results                           
==============================================================================
Dep. Variable:              judgement   No. Observations:                  349
Model:                          Logit   Df Residuals:                      341
Method:                           MLE   Df Model:                            7
Date:                Mon, 05 Jul 2021   Pseudo R-squ.:                  0.2871
Time:                        06:05:41   Log-Likelihood:                -141.27
converged:                       True   LL-Null:                       -198.15
Covariance Type:            nonrobust   LLR p-value:                 1.515e-21
=====================================================================================
                        coef    std err          z      P>|z|      [0.025      0.975]
-------------------------------------------------------------------------------------
collateral            0.4533      0.366      1.240      0.215      -0.263       1.170
insurance             1.3695      0.444      3.082      0.002       0.499       2.240
default_judgement     0.7307      0.600      1.218      0.223      -0.445       1.906
v_injury_D1           2.3811      0.325      7.319      0.000       1.743       3.019
v_injury_D2           3.9098      0.765      5.111      0.000       2.410       5.409
v_death               1.3325      0.562      2.372      0.018       0.231       2.434
a_driver             -0.4962      0.378     -1.314      0.189      -1.236       0.244
intercept            -2.0683      0.533     -3.880      0.000      -3.113      -1.024
=====================================================================================

各變項odds ratio分別為:
collateral            1.573534
insurance             3.933191
default_judgement     2.076559
v_injury_D1          10.816744
v_injury_D2          49.891272
v_death               3.790602
a_driver              0.608834
intercept             0.126401
dtype: float64

由上表可知,整體模型有達統計上顯著(LLR p-value<0.001),類R平方(Pseudo R-squ.)為0.2871,即模型可以解釋法院准駁此依變項28.7%的變異。

故進一步檢視個別變項的解釋力,可以發現有達統計上顯著的變項有:保險、傷勢、死亡,即在控制的情形下「重傷比起輕傷」、「植物人比起輕傷」、「有保保險」、「有發生死亡結果」法院更可能准許請求人之195I請求。

原本預設法院可能會因為加害人是職業駕駛而課予其比較高的注意義務,而使責任較一般人容易成立,,不過依照我們的分析結果,並沒有這樣的影響。

(2) 預測模型

依上述可知,僅有保險、傷勢、死亡三個變項有顯著,為了以最少的變項來達成對依變項最大的預測力,將上述模型簡化為三個變項,預測模型如下:

表(三)、准駁模型(2)

In [86]:
#@title 
###logistic預測模型

# defining the dependent and independent variables
X_logistic = df_logistic[[ 'insurance','v_injury_D1', 'v_injury_D2', 'v_death',
            "intercept"]]
y_logistic = df_logistic['judgement']  
   
# building the model and fitting the data
log_reg = sm.Logit(y_logistic, X_logistic).fit()


# printing the summary table
print(log_reg.summary())


OR=np.exp(log_reg.params)
print("\n各變項odds ratio分別為:")
print(OR)
Optimization terminated successfully.
         Current function value: 0.411785
         Iterations 8
                           Logit Regression Results                           
==============================================================================
Dep. Variable:              judgement   No. Observations:                  349
Model:                          Logit   Df Residuals:                      344
Method:                           MLE   Df Model:                            4
Date:                Mon, 05 Jul 2021   Pseudo R-squ.:                  0.2747
Time:                        06:05:41   Log-Likelihood:                -143.71
converged:                       True   LL-Null:                       -198.15
Covariance Type:            nonrobust   LLR p-value:                 1.260e-22
===============================================================================
                  coef    std err          z      P>|z|      [0.025      0.975]
-------------------------------------------------------------------------------
insurance       1.3167      0.421      3.127      0.002       0.492       2.142
v_injury_D1     2.2855      0.308      7.421      0.000       1.682       2.889
v_injury_D2     3.7748      0.750      5.033      0.000       2.305       5.245
v_death         1.2956      0.549      2.361      0.018       0.220       2.371
intercept      -1.6724      0.441     -3.791      0.000      -2.537      -0.808
===============================================================================

各變項odds ratio分別為:
insurance       3.731174
v_injury_D1     9.830971
v_injury_D2    43.588136
v_death         3.653037
intercept       0.187789
dtype: float64

由上表可知,整體模型有達統計上顯著(LLR p-value<0.001),類R平方(Pseudo R-squ.)為0.2747,即模型可以解釋法院准駁此依變項27.5%的變異。

個別變項皆有顯著,解釋如同上個模型所述。

(3) 決策樹

我們將樣本的80%拿來訓練,訓練完的決策樹模型如下:

圖(十五)、准駁決策樹模型

In [87]:
#@title 
#logistic

X_logistic = df_logistic[['insurance','v_injury_D1', 'v_injury_D2', 'v_death', "intercept"]].copy()
y_logistic = df_logistic['judgement'].copy()

# 切分訓練與測試資料
train_X, test_X, train_y, test_y = train_test_split(X_logistic, y_logistic, test_size = 0.2)


lm = linear_model.LogisticRegression() #如果是二元y


# 建立分類器
clf = tree.DecisionTreeClassifier(max_depth=3)
clf_logistic = clf.fit(train_X, train_y)




#sklearn.tree.DecisionTreeClassifier(criterion='gini', splitter='best', max_depth=None, min_samples_split=2,
#											min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, 
#											random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, 
#											min_impurity_split=None, class_weight=None, presort=False)

text_representation_logistic = tree.export_text(clf_logistic)
#print(text_representation_logistic)

np.sort(y_logistic.unique()).astype(str).tolist()


# DOT data
dot_data = tree.export_graphviz(clf_logistic, out_file=None, 
                feature_names=X_logistic.columns.tolist(),  
                class_names=np.sort(y_logistic.unique()).astype(str).tolist(), #也可以手輸入
                filled=True)

# Draw graph
graph = graphviz.Source(dot_data, format="png") 
graph

fig = plt.figure(figsize=(25,20))
_ = tree.plot_tree(clf_logistic, 
          feature_names=X_logistic.columns.tolist(),  
          class_names=np.sort(y_logistic.unique()).astype(str).tolist(),
          filled=True)

如上圖,如果是植物人往右走,看有沒有死亡;不過不管有沒有死亡都是法院准許。

如果不是植物人往左走,看有沒有重傷;有重傷法院比較可能會准許,沒有重傷法院比較可能會駁回。 進一步去看有重傷的情形,如果也有保保險,法院准許的可能性較大;沒有重傷的情形,如果有保保險,法院駁回的可能性較小。

說明:解讀決策樹方式如下

1、節點判斷式:如果是ture往左走,如果是false往右走。

2、gini:代表是資料的純度,越接近零代表這批很純。

3、samples:樣本有幾個。

4、value:[0,1]

5、class:這群占大宗的是哪一組,如果class=0,代表這群以0為大宗。

為了檢驗模型預測是否準確,將剩下20%樣本作為測試集,預測結果如下:

績效

In [88]:
#@title 



# 預測
test_y_predicted_logistic = clf_logistic.predict(test_X)
print("就測試集,模型的預測結果如下:\n",test_y_predicted_logistic,"\n")

# 標準答案
print("測試集的正確答案如下:\n",test_y.values,"\n")

# 績效
accuracy = metrics.accuracy_score(test_y, test_y_predicted_logistic)
print("accuracy:",accuracy,"\n")
就測試集,模型的預測結果如下:
 [1 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1] 

測試集的正確答案如下:
 [1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1
 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1] 

accuracy: 0.8428571428571429 

準確率大約8成左右。

3、什麼因素會影響法院裁判金額?

(1) 解釋模型_amount

在知道什麼因素會影響法院准駁後,我們想進一步知道:在法院准許的情形下,什麼因素會影響法院就195III的裁判金額。

因此我們挑出法院裁定准許的樣本,以法院最終的裁判金額作為依變項,並將一些客觀變項如:刑附民、保險、一造辯論判決等作為自變項納入模型; 再依理論選擇可能影響法院裁判金額的變項如:身分關係、聲明金額、傷勢、死亡、成立188、成立187、與有過失比例、195I的裁判金額,與請求人、被害人、加害人分別的職業等級、經濟狀況等作為自變項納入模型。

我們刪除195I的裁判金額的空值,並刪除195I的裁判金額(取300萬以內,刪掉500萬)、聲明金額(取600萬以內,刪掉1000萬、2000萬)各自的極端值後,剩下197個樣本。將聲明金額、195I的裁判金額、法院最終裁判金額改成以10萬元作為單位,並將聲明金額、195I的裁判金額centering後,使用線性複迴歸分析的統計方法,結果如下:

表(四)、刪除空值、極端值後變項概覽

In [89]:
#必須先刪除空值
##Article195I_amoumt取300萬以下(刪掉500萬)
##裁判金額不刪極端值
##聲明金額取600萬以內(刪掉1000萬、2000萬)'claimed_amount'


df_delNA=df.copy()
for i in range(2,350):
   if df_delNA['Article195I_amoumt'][i]==-1:
     df_delNA['Article195I_amoumt'][i]=None
   elif df_delNA['Article195I_amoumt'][i]>3000000:
     df_delNA['Article195I_amoumt'][i]=None

for i in range(2,350):
   if df_delNA['amoumt'][i]==-1:
     df_delNA['amoumt'][i]=None

for i in range(2,350):
   if df_delNA['amoumt_negligence'][i]==-1:
     df_delNA['amoumt_negligence'][i]=None

for i in range(2,350):
   if df_delNA['claimed_amount'][i]>6000000:
     df_delNA['claimed_amount'][i]=None

df_delNA=df_delNA.dropna(axis=0, how='any', inplace=False)
clear_output()

# df_delNA.info()

# df_delNA.head()

#df.info()
In [90]:
df_delNA.describe()
Out[90]:
year collateral c_number insurance default_judgement relative relative_D0 relative_D1 relative_D2 v_age claimed_amount a_number a_DUI v_injury v_injury_D0 v_injury_D1 v_injury_D2 v_death Article188 Article187 contributory_negligence c_occupation_rank_D0 c_occupation_rank_D1 c_occupation_rank_D3 c_occupation_rank_D5 c_occupation_rank_Dna c_economic_status_D1 c_economic_status_D2 c_economic_status_D3 c_economic_status_Dna v_occupation_rank_D0 v_occupation_rank_D1 v_occupation_rank_D3 v_occupation_rank_D5 v_occupation_rank_Dna v_economic_status_D1 v_economic_status_D2 v_economic_status_D3 v_economic_status_Dna a_occupation_rank_D0 a_occupation_rank_D1 a_occupation_rank_D3 a_occupation_rank_D5 a_occupation_rank_Dna a_driver a_economic_status_D1 a_economic_status_D2 a_economic_status_D3 a_economic_status_Dna Article195I_amoumt judgement amoumt amoumt_negligence
count 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 1.970000e+02 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 197.000000 1.970000e+02 197.000000 1.970000e+02 1.970000e+02
mean 106.197970 0.888325 3.223350 0.979695 0.101523 0.928934 0.274112 0.522843 0.203046 53.162437 1.089882e+06 1.071066 0.055838 1.121827 0.147208 0.583756 0.269036 0.025381 0.284264 0.055838 31.421320 0.152284 0.076142 0.335025 0.121827 0.314721 0.218274 0.233503 0.172589 0.375635 0.192893 0.218274 0.314721 0.076142 0.197970 0.365482 0.289340 0.081218 0.263959 0.076142 0.152284 0.527919 0.065990 0.177665 0.263959 0.441624 0.208122 0.116751 0.233503 1.034264e+06 0.994924 2.987640e+05 4.440899e+05
std 3.668175 0.315769 1.495184 0.141399 0.302789 0.688851 0.447202 0.500750 0.403291 24.129202 8.877556e+05 0.257590 0.230193 0.635177 0.355216 0.494191 0.444588 0.157679 0.452212 0.230193 27.105428 0.360212 0.265901 0.473202 0.327920 0.465588 0.414127 0.424137 0.378854 0.485520 0.395575 0.414127 0.465588 0.265901 0.399484 0.482792 0.454611 0.273866 0.441901 0.265901 0.360212 0.500492 0.248897 0.383204 0.441901 0.497846 0.406999 0.321942 0.424137 6.380392e+05 0.071247 2.634861e+05 3.257636e+05
min 92.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -1.000000 5.000000e+04 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 7.000000e+04 0.000000 -1.000000e+00 -1.000000e+00
25% 106.000000 1.000000 2.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 37.000000 5.000000e+05 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 5.000000e+05 1.000000 1.200000e+05 2.000000e+05
50% 108.000000 1.000000 3.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 59.000000 1.000000e+06 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 30.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 1.000000e+06 1.000000 2.100000e+05 4.000000e+05
75% 108.000000 1.000000 4.000000 1.000000 0.000000 1.000000 1.000000 1.000000 0.000000 73.000000 1.500000e+06 1.000000 0.000000 2.000000 0.000000 1.000000 1.000000 0.000000 1.000000 0.000000 50.000000 0.000000 0.000000 1.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 1.000000 0.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 1.000000 0.000000 0.000000 0.000000 1.500000e+06 1.000000 4.000000e+05 5.000000e+05
max 110.000000 1.000000 6.000000 1.000000 1.000000 2.000000 1.000000 1.000000 1.000000 89.000000 6.000000e+06 2.000000 1.000000 2.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 80.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 2.500000e+06 1.000000 1.600000e+06 2.000000e+06

表(五)、裁判金額模型(1)

In [91]:
#@title 
#線性回歸:amount

df_OLS=df_delNA.copy()
df_OLS["intercept"]=1
#print(df_OLS["intercept"])

#centering,並把數字從元改成十萬元為單位、與有過失比例單位是%
#print(df_OLS['claimed_amount'].mean())
#print(df_OLS['claimed_amount'])
df_OLS['claimed_amount']=(df_OLS['claimed_amount']-df_OLS['claimed_amount'].mean())/100000
df_OLS['Article195I_amoumt']=(df_OLS['Article195I_amoumt']-df_OLS['Article195I_amoumt'].mean())/100000

df_OLS['amoumt']=df_OLS['amoumt']/100000
#print(df_OLS['claimed_amount'])

X_linear = df_OLS[[ 'collateral', 'insurance',	'default_judgement',
         'relative_D1', 'relative_D2', 'claimed_amount',
         'v_injury_D1', 'v_injury_D2', 'v_death', 'Article188', 'Article187',
         'contributory_negligence',
         'Article195I_amoumt',
         'c_occupation_rank_D0', 'c_occupation_rank_D1', 'c_occupation_rank_D5', 'c_occupation_rank_Dna',
         'c_economic_status_D1', 'c_economic_status_D3', 'c_economic_status_Dna',
         'v_occupation_rank_D0', 'v_occupation_rank_D1', 'v_occupation_rank_D5', 'v_occupation_rank_Dna',
         'v_economic_status_D1', 'v_economic_status_D3', 'v_economic_status_Dna',
         'a_occupation_rank_D0', 'a_occupation_rank_D1', 'a_occupation_rank_D5', 'a_occupation_rank_Dna',
         'a_economic_status_D1', 'a_economic_status_D3', 'a_economic_status_Dna',
         "intercept"]]
y_linear = df_OLS['amoumt'] 


# from statsmodels.api import OLS
print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                 amoumt   R-squared:                       0.730
Model:                            OLS   Adj. R-squared:                  0.674
Method:                 Least Squares   F-statistic:                     12.91
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           4.22e-31
Time:                        06:05:42   Log-Likelihood:                -340.74
No. Observations:                 197   AIC:                             751.5
Df Residuals:                     162   BIC:                             866.4
Df Model:                          34                                         
Covariance Type:            nonrobust                                         
===========================================================================================
                              coef    std err          t      P>|t|      [0.025      0.975]
-------------------------------------------------------------------------------------------
collateral                  0.5735      0.418      1.373      0.172      -0.252       1.398
insurance                  -1.5660      0.856     -1.830      0.069      -3.256       0.124
default_judgement           0.4329      0.464      0.932      0.353      -0.484       1.350
relative_D1                -0.3067      0.305     -1.006      0.316      -0.908       0.295
relative_D2                -0.0307      0.378     -0.081      0.935      -0.777       0.716
claimed_amount              0.1569      0.015     10.576      0.000       0.128       0.186
v_injury_D1                 1.1458      0.414      2.767      0.006       0.328       1.963
v_injury_D2                 2.9305      0.438      6.696      0.000       2.066       3.795
v_death                    -0.8799      0.814     -1.081      0.281      -2.487       0.727
Article188                  0.1979      0.321      0.617      0.538      -0.436       0.831
Article187                  1.6503      0.576      2.863      0.005       0.512       2.788
contributory_negligence    -0.0437      0.006     -7.317      0.000      -0.056      -0.032
Article195I_amoumt          0.0641      0.027      2.334      0.021       0.010       0.118
c_occupation_rank_D0       -0.3638      0.369     -0.986      0.325      -1.092       0.365
c_occupation_rank_D1       -0.3374      0.493     -0.685      0.495      -1.311       0.636
c_occupation_rank_D5       -0.3833      0.426     -0.900      0.370      -1.225       0.458
c_occupation_rank_Dna      -1.1206      0.389     -2.883      0.004      -1.888      -0.353
c_economic_status_D1        0.0436      0.357      0.122      0.903      -0.662       0.749
c_economic_status_D3       -0.1516      0.425     -0.357      0.722      -0.991       0.688
c_economic_status_Dna       1.1696      0.366      3.197      0.002       0.447       1.892
v_occupation_rank_D0       -0.6954      0.412     -1.686      0.094      -1.510       0.119
v_occupation_rank_D1       -1.0265      0.361     -2.841      0.005      -1.740      -0.313
v_occupation_rank_D5       -1.2161      0.591     -2.058      0.041      -2.383      -0.049
v_occupation_rank_Dna      -0.8217      0.372     -2.207      0.029      -1.557      -0.086
v_economic_status_D1       -0.6704      0.367     -1.826      0.070      -1.395       0.054
v_economic_status_D3        0.5736      0.593      0.968      0.335      -0.597       1.744
v_economic_status_Dna      -0.0350      0.389     -0.090      0.928      -0.803       0.733
a_occupation_rank_D0        0.3080      0.633      0.486      0.627      -0.942       1.558
a_occupation_rank_D1        0.2169      0.450      0.482      0.631      -0.673       1.106
a_occupation_rank_D5       -0.2595      0.546     -0.475      0.635      -1.338       0.819
a_occupation_rank_Dna       1.1325      0.404      2.805      0.006       0.335       1.930
a_economic_status_D1       -0.2286      0.352     -0.649      0.517      -0.924       0.467
a_economic_status_D3        1.2715      0.533      2.387      0.018       0.220       2.323
a_economic_status_Dna      -0.3613      0.457     -0.791      0.430      -1.264       0.541
intercept                   4.6005      1.123      4.098      0.000       2.383       6.818
==============================================================================
Omnibus:                        5.672   Durbin-Watson:                   1.659
Prob(Omnibus):                  0.059   Jarque-Bera (JB):                6.622
Skew:                           0.221   Prob(JB):                       0.0365
Kurtosis:                       3.782   Cond. No.                         539.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

由上表可知,整體模型有達統計上顯著(Prob (F-statistic)<0.001),調整後R平方(Adj. R-squared)為0.674,即模型可以解釋法院裁判金額此依變項67.4%的變異。

故進一步檢視個別變項的解釋力,可以發現有達統計上顯著的變項有:聲明金額、傷勢、成立187、與有過失比例、195I裁判金額、被害人職業等級低、被害人職業等級高、加害人經濟狀況高。

但被害人職業等級低相較於中、被害人職業等級高相較於中都是負向關係(法院裁判金額皆比較少),與理論不符,因此可以推論此變項應無意義。

即在控制的情形下, 「重傷比起輕傷」、「植物人比起輕傷」、「成立187」、「加害人經濟狀況高(相較於中)」法院的裁判金額較高, 且聲明金額越高、與有過失比例越低、195I裁判金額越高,法院最終的裁判金額越高。

(2) 預測模型_amount

依上述可知,有達統計上顯著的變項有:聲明金額、傷勢、成立187、與有過失比例、195I裁判金額、加害人經濟狀況高。為了以最少的變項來達成對依變項最大的預測力,將模型簡化為上述變項,預測模型如下:

表(六)、預測模型建置過程(1)

In [92]:
#@title 
#線性回歸:amount
# 顯著的變項有:聲明金額、傷勢、成立187、與有過失比例、195I裁判金額、加害人經濟狀況高。

X_linear = df_OLS[['claimed_amount',
         'v_injury_D1', 'v_injury_D2', 'Article187',
         'contributory_negligence',
         'Article195I_amoumt',
         'a_economic_status_D1', 'a_economic_status_D3', 'a_economic_status_Dna',
         "intercept"]]
y_linear = df_OLS['amoumt'] 

print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                 amoumt   R-squared:                       0.631
Model:                            OLS   Adj. R-squared:                  0.613
Method:                 Least Squares   F-statistic:                     35.53
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           4.98e-36
Time:                        06:05:42   Log-Likelihood:                -371.69
No. Observations:                 197   AIC:                             763.4
Df Residuals:                     187   BIC:                             796.2
Df Model:                           9                                         
Covariance Type:            nonrobust                                         
===========================================================================================
                              coef    std err          t      P>|t|      [0.025      0.975]
-------------------------------------------------------------------------------------------
claimed_amount              0.1305      0.014      9.087      0.000       0.102       0.159
v_injury_D1                 1.2212      0.368      3.315      0.001       0.495       1.948
v_injury_D2                 3.0209      0.406      7.442      0.000       2.220       3.822
Article187                  1.2541      0.525      2.390      0.018       0.219       2.289
contributory_negligence    -0.0392      0.005     -7.993      0.000      -0.049      -0.030
Article195I_amoumt          0.0883      0.021      4.124      0.000       0.046       0.131
a_economic_status_D1       -0.5310      0.321     -1.653      0.100      -1.165       0.103
a_economic_status_D3        0.5953      0.465      1.280      0.202      -0.322       1.513
a_economic_status_Dna      -0.0712      0.354     -0.201      0.841      -0.770       0.627
intercept                   2.8063      0.433      6.480      0.000       1.952       3.661
==============================================================================
Omnibus:                       20.818   Durbin-Watson:                   1.475
Prob(Omnibus):                  0.000   Jarque-Bera (JB):               25.276
Skew:                           0.733   Prob(JB):                     3.25e-06
Kurtosis:                       3.965   Cond. No.                         247.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

加害人經濟狀況高變得不顯著,再予以刪除:

表(七)、預測模型建置過程(2)

In [93]:
#@title 
X_linear = df_OLS[['claimed_amount',
         'v_injury_D1', 'v_injury_D2', 'Article187',
         'contributory_negligence',
         'Article195I_amoumt',
         "intercept"]]
y_linear = df_OLS['amoumt'] 

print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                 amoumt   R-squared:                       0.615
Model:                            OLS   Adj. R-squared:                  0.603
Method:                 Least Squares   F-statistic:                     50.54
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           7.83e-37
Time:                        06:05:42   Log-Likelihood:                -375.93
No. Observations:                 197   AIC:                             765.9
Df Residuals:                     190   BIC:                             788.8
Df Model:                           6                                         
Covariance Type:            nonrobust                                         
===========================================================================================
                              coef    std err          t      P>|t|      [0.025      0.975]
-------------------------------------------------------------------------------------------
claimed_amount              0.1379      0.014      9.917      0.000       0.110       0.165
v_injury_D1                 0.9522      0.358      2.659      0.008       0.246       1.658
v_injury_D2                 2.7191      0.394      6.900      0.000       1.942       3.496
Article187                  0.9931      0.521      1.905      0.058      -0.035       2.021
contributory_negligence    -0.0381      0.005     -7.880      0.000      -0.048      -0.029
Article195I_amoumt          0.0755      0.021      3.625      0.000       0.034       0.117
intercept                   2.8416      0.336      8.459      0.000       2.179       3.504
==============================================================================
Omnibus:                       17.481   Durbin-Watson:                   1.417
Prob(Omnibus):                  0.000   Jarque-Bera (JB):               20.306
Skew:                           0.658   Prob(JB):                     3.90e-05
Kurtosis:                       3.862   Cond. No.                         206.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

成立187變得不顯著,再予以刪除,最後會得到:

表(八)、裁判金額模型(2)

In [94]:
#@title 
X_linear = df_OLS[['claimed_amount',
         'v_injury_D1', 'v_injury_D2',
         'contributory_negligence',
         'Article195I_amoumt',
         "intercept"]]
y_linear = df_OLS['amoumt'] 

print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:                 amoumt   R-squared:                       0.607
Model:                            OLS   Adj. R-squared:                  0.597
Method:                 Least Squares   F-statistic:                     59.11
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           5.68e-37
Time:                        06:05:42   Log-Likelihood:                -377.79
No. Observations:                 197   AIC:                             767.6
Df Residuals:                     191   BIC:                             787.3
Df Model:                           5                                         
Covariance Type:            nonrobust                                         
===========================================================================================
                              coef    std err          t      P>|t|      [0.025      0.975]
-------------------------------------------------------------------------------------------
claimed_amount              0.1386      0.014      9.908      0.000       0.111       0.166
v_injury_D1                 0.8924      0.359      2.485      0.014       0.184       1.601
v_injury_D2                 2.6523      0.395      6.711      0.000       1.873       3.432
contributory_negligence    -0.0374      0.005     -7.704      0.000      -0.047      -0.028
Article195I_amoumt          0.0733      0.021      3.504      0.001       0.032       0.115
intercept                   2.9277      0.335      8.735      0.000       2.267       3.589
==============================================================================
Omnibus:                       14.602   Durbin-Watson:                   1.422
Prob(Omnibus):                  0.001   Jarque-Bera (JB):               16.078
Skew:                           0.600   Prob(JB):                     0.000323
Kurtosis:                       3.719   Cond. No.                         200.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

由上表可知,整體模型有達統計上顯著(Prob (F-statistic)<0.001),調整後R平方(Adj. R-squared)為 0.597,即模型可以解釋法院裁判金額此依變項59.7%的變異。

其個別變項的解釋為在控制的情形下, 「重傷比起輕傷」、「植物人比起輕傷」法院的裁判金額較高, 且聲明金額越高、與有過失比例越低、195I裁判金額越高,法院最終的裁判金額越高。

(3) 解釋模型_amoumt_negligence

由於在閱讀大量判決時,我們發現法院在確認請求權存在,依雙方當事人的教育、職業、經濟等狀況綜合考量後,訂出一個加害人理論上應賠償的金額,再依被害人的與有過失比例減輕,才會得出最終的裁判金額。

因此我們嘗試以法院裁判書中書寫的邏輯順序進行分析: 我們先將法院裁判金額回推如被害人無過失則能獲判的金額作為依變項,再將上述(1)解釋模型(amount)中除了與有過失以外的變項作為自變項分析之,分析結果如下:

表(九)、裁判金額模型(3)

In [95]:
#@title 
#線性迴歸

#df_delNA.columns

#加截距項

df_OLS=df_delNA.copy()
df_OLS["intercept"]=1
#print(df_OLS["intercept"])

#centering,並把數字從元改成十萬元為單位
#print(df_OLS['claimed_amount'].mean())
#print(df_OLS['claimed_amount'])
df_OLS['claimed_amount']=(df_OLS['claimed_amount']-df_OLS['claimed_amount'].mean())/100000
df_OLS['Article195I_amoumt']=(df_OLS['Article195I_amoumt']-df_OLS['Article195I_amoumt'].mean())/100000
df_OLS['amoumt_negligence']=df_OLS['amoumt_negligence']/100000

#print(df_OLS['claimed_amount'])

X_linear = df_OLS[[ 'collateral', 'insurance',	'default_judgement',
         'relative_D1', 'relative_D2', 'claimed_amount',
         'v_injury_D1', 'v_injury_D2', 'v_death', 'Article188', 'Article187',
         'Article195I_amoumt',
         'c_occupation_rank_D0', 'c_occupation_rank_D1', 'c_occupation_rank_D5', 'c_occupation_rank_Dna',
         'c_economic_status_D1', 'c_economic_status_D3', 'c_economic_status_Dna',
         'v_occupation_rank_D0', 'v_occupation_rank_D1', 'v_occupation_rank_D5', 'v_occupation_rank_Dna',
         'v_economic_status_D1', 'v_economic_status_D3', 'v_economic_status_Dna',
         'a_occupation_rank_D0', 'a_occupation_rank_D1', 'a_occupation_rank_D5', 'a_occupation_rank_Dna',
         'a_economic_status_D1', 'a_economic_status_D3', 'a_economic_status_Dna',
         "intercept"]]
y_linear = df_OLS['amoumt_negligence'] 


print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:      amoumt_negligence   R-squared:                       0.636
Model:                            OLS   Adj. R-squared:                  0.562
Method:                 Least Squares   F-statistic:                     8.625
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           6.20e-22
Time:                        06:05:42   Log-Likelihood:                -412.18
No. Observations:                 197   AIC:                             892.4
Df Residuals:                     163   BIC:                             1004.
Df Model:                          33                                         
Covariance Type:            nonrobust                                         
=========================================================================================
                            coef    std err          t      P>|t|      [0.025      0.975]
-----------------------------------------------------------------------------------------
collateral                1.4050      0.598      2.349      0.020       0.224       2.586
insurance                -4.5230      1.226     -3.689      0.000      -6.944      -2.102
default_judgement         0.7935      0.649      1.223      0.223      -0.487       2.075
relative_D1              -1.2580      0.434     -2.895      0.004      -2.116      -0.400
relative_D2              -0.7575      0.534     -1.420      0.158      -1.811       0.296
claimed_amount            0.2030      0.021      9.670      0.000       0.162       0.244
v_injury_D1               1.1351      0.577      1.967      0.051      -0.004       2.274
v_injury_D2               3.4007      0.602      5.653      0.000       2.213       4.589
v_death                  -1.1589      1.160     -0.999      0.319      -3.449       1.131
Article188                0.1183      0.459      0.258      0.797      -0.787       1.024
Article187                2.2081      0.826      2.674      0.008       0.578       3.839
Article195I_amoumt        0.0712      0.035      2.045      0.042       0.002       0.140
c_occupation_rank_D0     -0.7403      0.526     -1.407      0.161      -1.779       0.299
c_occupation_rank_D1     -0.2174      0.706     -0.308      0.759      -1.612       1.177
c_occupation_rank_D5     -0.5937      0.603     -0.985      0.326      -1.784       0.597
c_occupation_rank_Dna    -2.2572      0.524     -4.311      0.000      -3.291      -1.223
c_economic_status_D1      0.1047      0.510      0.205      0.838      -0.903       1.112
c_economic_status_D3     -0.2277      0.607     -0.375      0.708      -1.427       0.971
c_economic_status_Dna     1.3903      0.513      2.709      0.007       0.377       2.404
v_occupation_rank_D0     -1.0606      0.587     -1.806      0.073      -2.220       0.099
v_occupation_rank_D1     -1.4408      0.514     -2.803      0.006      -2.456      -0.426
v_occupation_rank_D5     -1.4932      0.838     -1.781      0.077      -3.149       0.162
v_occupation_rank_Dna    -0.3603      0.533     -0.675      0.500      -1.414       0.693
v_economic_status_D1     -1.0702      0.516     -2.075      0.040      -2.088      -0.052
v_economic_status_D3     -0.2618      0.810     -0.323      0.747      -1.861       1.337
v_economic_status_Dna    -0.2180      0.556     -0.392      0.696      -1.317       0.881
a_occupation_rank_D0      0.8317      0.907      0.917      0.361      -0.959       2.623
a_occupation_rank_D1      0.1871      0.629      0.298      0.766      -1.054       1.429
a_occupation_rank_D5     -1.4076      0.762     -1.847      0.066      -2.912       0.097
a_occupation_rank_Dna     1.4333      0.576      2.486      0.014       0.295       2.572
a_economic_status_D1     -0.0488      0.502     -0.097      0.923      -1.039       0.942
a_economic_status_D3      1.5821      0.760      2.081      0.039       0.081       3.083
a_economic_status_Dna    -0.0749      0.652     -0.115      0.909      -1.362       1.213
intercept                 7.8309      1.599      4.896      0.000       4.673      10.989
==============================================================================
Omnibus:                       35.321   Durbin-Watson:                   1.497
Prob(Omnibus):                  0.000   Jarque-Bera (JB):              113.833
Skew:                           0.677   Prob(JB):                     1.91e-25
Kurtosis:                       6.469   Cond. No.                         116.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

由上表可知,整體模型有達統計上顯著(Prob (F-statistic)<0.001),調整後R平方(Adj. R-squared)為 0.562,即模型可以解釋法院裁判金額此依變項56.2%的變異。

故進一步檢視個別變項的解釋力,可以發現有達統計上顯著的變項有:刑附民、保險、身分關係、聲明金額、傷勢、成立187、195I裁判金額、被害人職業等級低、加害人經濟狀況高。

即在控制的情形下, 「刑附民」、「沒有保保險」、「請求人是父母相較於請求人是子女」、「植物人比起輕傷」、「成立187」、「被害人職業等級中比起職業等級低」、「加害人經濟狀況高(相較於中)」法院的裁判金額較高, 且聲明金額越高、195I裁判金額越高,法院最終的裁判金額越高。

相較於模型(1),刑附民、保險、身分關係變得有顯著,重傷相較於輕傷變得沒顯著。

(4) 預測模型_amoumt_negligence

依上述可知,有達統計上顯著的變項有:刑附民、保險、身分關係、聲明金額、傷勢、成立187、195I裁判金額、被害人職業等級低、加害人經濟狀況高。為了以最少的變項來達成對依變項最大的預測力,將模型簡化為上述變項,預測模型如下:

表(十)、預測模型建置過程

In [96]:
#@title 

#線性迴歸_預測

#加截距項

df_OLS_p=df_delNA.copy()
df_OLS_p["intercept"]=1
#print(df_OLS_p["intercept"])

#centering,並把數字從元改成十萬元為單位
#print(df_OLS_p['claimed_amount'].mean())
#print(df_OLS_p['claimed_amount'])
df_OLS_p['claimed_amount']=(df_OLS_p['claimed_amount']-df_OLS_p['claimed_amount'].mean())/100000
df_OLS_p['Article195I_amoumt']=(df_OLS_p['Article195I_amoumt']-df_OLS_p['Article195I_amoumt'].mean())/100000
df_OLS_p['amoumt_negligence']=df_OLS_p['amoumt_negligence']/100000

#print(df_OLS_p['claimed_amount'])


#顯著的變項有:刑附民、保險、身分關係、聲明金額、傷勢、成立187、195I裁判金額、被害人職業等級低、加害人經濟狀況高。

X_linear = df_OLS_p[[ 'collateral','insurance',
         'relative_D1', 'relative_D2', 'claimed_amount',
         'v_injury_D1', 'v_injury_D2', 'Article187',
         'Article195I_amoumt',
         'v_occupation_rank_D0', 'v_occupation_rank_D1', 'v_occupation_rank_D5', 'v_occupation_rank_Dna',
         'a_economic_status_D1', 'a_economic_status_D3', 'a_economic_status_Dna',
          "intercept"]]
y_linear = df_OLS_p['amoumt_negligence'] 



print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:      amoumt_negligence   R-squared:                       0.546
Model:                            OLS   Adj. R-squared:                  0.505
Method:                 Least Squares   F-statistic:                     13.51
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           2.93e-23
Time:                        06:05:43   Log-Likelihood:                -434.00
No. Observations:                 197   AIC:                             902.0
Df Residuals:                     180   BIC:                             957.8
Df Model:                          16                                         
Covariance Type:            nonrobust                                         
=========================================================================================
                            coef    std err          t      P>|t|      [0.025      0.975]
-----------------------------------------------------------------------------------------
collateral                1.7098      0.573      2.985      0.003       0.580       2.840
insurance                -3.9007      1.234     -3.161      0.002      -6.336      -1.466
relative_D1              -0.9954      0.414     -2.405      0.017      -1.812      -0.179
relative_D2              -0.6873      0.509     -1.350      0.179      -1.692       0.317
claimed_amount            0.1739      0.021      8.368      0.000       0.133       0.215
v_injury_D1               1.2993      0.538      2.416      0.017       0.238       2.361
v_injury_D2               3.7813      0.586      6.448      0.000       2.624       4.938
Article187                1.9953      0.747      2.671      0.008       0.521       3.469
Article195I_amoumt        0.0752      0.032      2.317      0.022       0.011       0.139
v_occupation_rank_D0     -0.9034      0.523     -1.727      0.086      -1.936       0.129
v_occupation_rank_D1     -1.0671      0.484     -2.205      0.029      -2.022      -0.112
v_occupation_rank_D5     -1.0954      0.705     -1.555      0.122      -2.486       0.295
v_occupation_rank_Dna    -0.5965      0.509     -1.172      0.243      -1.601       0.408
a_economic_status_D1     -0.1361      0.483     -0.282      0.779      -1.090       0.818
a_economic_status_D3      0.6236      0.677      0.922      0.358      -0.711       1.958
a_economic_status_Dna     0.4497      0.529      0.850      0.396      -0.594       1.493
intercept                 6.0073      1.470      4.088      0.000       3.108       8.907
==============================================================================
Omnibus:                       42.617   Durbin-Watson:                   1.285
Prob(Omnibus):                  0.000   Jarque-Bera (JB):              102.675
Skew:                           0.951   Prob(JB):                     5.06e-23
Kurtosis:                       5.981   Cond. No.                         102.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

由上表可知,整體模型有達統計上顯著(Prob (F-statistic)<0.001),調整後R平方(Adj. R-squared)為0.505,即模型可以解釋法院裁判金額此依變項50.5%的變異。

加害人經濟狀況高變得不顯著; 被害人職業等級低如模型(1)所述,在模型(1)的時候被害人職業等級不管高低相較於中都是負向關係,可以推論此變項應並無意義,在此模型我們也決定將其予以刪除。

再繼續精簡模型後結果如下:

表(十一)、裁判金額模型(4)

In [97]:
#@title 
X_linear = df_OLS_p[[ 'collateral','insurance',
         'relative_D1', 'relative_D2', 'claimed_amount',
         'v_injury_D1', 'v_injury_D2', 'Article187',
         'Article195I_amoumt',
          "intercept"]]
y_linear = df_OLS_p['amoumt_negligence'] 



print(OLS(y_linear,X_linear).fit().summary())
                            OLS Regression Results                            
==============================================================================
Dep. Variable:      amoumt_negligence   R-squared:                       0.518
Model:                            OLS   Adj. R-squared:                  0.495
Method:                 Least Squares   F-statistic:                     22.36
Date:                Mon, 05 Jul 2021   Prob (F-statistic):           1.66e-25
Time:                        06:05:43   Log-Likelihood:                -439.73
No. Observations:                 197   AIC:                             899.5
Df Residuals:                     187   BIC:                             932.3
Df Model:                           9                                         
Covariance Type:            nonrobust                                         
======================================================================================
                         coef    std err          t      P>|t|      [0.025      0.975]
--------------------------------------------------------------------------------------
collateral             1.6041      0.545      2.945      0.004       0.530       2.678
insurance             -4.1272      1.191     -3.465      0.001      -6.477      -1.777
relative_D1           -1.0452      0.403     -2.596      0.010      -1.839      -0.251
relative_D2           -0.6928      0.495     -1.400      0.163      -1.669       0.284
claimed_amount         0.1786      0.019      9.186      0.000       0.140       0.217
v_injury_D1            1.0419      0.503      2.071      0.040       0.049       2.034
v_injury_D2            3.6356      0.556      6.542      0.000       2.539       4.732
Article187             1.7816      0.736      2.422      0.016       0.330       3.233
Article195I_amoumt     0.0742      0.027      2.720      0.007       0.020       0.128
intercept              6.0607      1.405      4.313      0.000       3.288       8.833
==============================================================================
Omnibus:                       45.272   Durbin-Watson:                   1.205
Prob(Omnibus):                  0.000   Jarque-Bera (JB):              122.921
Skew:                           0.963   Prob(JB):                     2.03e-27
Kurtosis:                       6.356   Cond. No.                         97.8
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

由上表可知,整體模型有達統計上顯著(Prob (F-statistic)<0.001),調整後R平方(Adj. R-squared)為 0.495,即模型可以解釋法院裁判金額此依變項49.5%的變異。

故進一步檢視個別變項的解釋力可以知道, 在控制的情形下, 「刑附民」、「沒有保保險」、「請求人是父母相較於請求人是子女」、「重傷比起輕傷」、「植物人比起輕傷」、「成立187」法院的裁判金額較高, 且聲明金額越高、195I裁判金額越高,法院最終的裁判金額越高。

「重傷比起輕傷」又變得顯著。

比模型(2)多了「刑附民」、「沒有保保險」、「請求人是父母相較於請求人是子女」、「成立187」。

六、結論

(一) 影響法院准駁的因素

1、解釋模型

依研究結果可以得知,在控制的情形下「重傷比起輕傷」、「植物人比起輕傷」、「有保保險」、「有發生死亡結果」法院更可能准許請求人之195I請求。

比起輕傷,重傷、植物人更可能成立195III,較無疑義; 針對植物人之情形,對應王之穎,(2020年),〈不法侵害被害人身體健康致受傷,其父母子女配偶得否請求慰撫金〉一文中所論述,針對意識受傷類型之植物人,法院多傾向肯認195條3項的請求,亦得驗證之。

雙方當事人有保保險的的情形,法院比較可能准許的原因,我們推測可能是因為有保險,使請求權成立能兼顧被害人的損害受到保險金給付的填補,同時加害人的賠償負擔亦不致過重。

而被害人發生與侵權行為無因果關係的死亡結果,法院比較可能准許的原因,我們推測有可能是因為此種情形被害人的傷勢本來就較重,才會引起併發症而肇致死亡結果發生(我們並未進一步證實),或是因為被害人已死亡而不得請求195I的慰撫金或其他財產上損害,因此法院可能較寬認195III的成立。

原本預設法院可能會因為加害人是職業駕駛而課予其比較高的注意義務,而使責任較一般人容易成立,不過分析後發現並未有影響。

2、決策樹

從預測模型而來的決策樹模型看來,雖然結點使用了三個變項來判斷,分別是傷勢、保險、死亡結果。

是植物人就有高機率法院會准許;不是植物人,而是重傷的情形,法院也較可能准許;而如果只是輕傷,法院較可能不准許。而輕傷跟重傷的情況,分別在有保保險下比較可能准許。

至於死亡結果,由於駁回樣本只有1個,因此看不太出來其是否為有效的分類。

(二) 影響法院裁判金額的因素

1、 以法院最終裁判金額作為依變項

依研究結果可以得知,在控制的情形下, 「重傷比起輕傷」、「植物人比起輕傷」、「成立187」、「加害人經濟狀況高(相較於中)」法院的裁判金額較高, 且聲明金額越高、與有過失比例越低、195I裁判金額越高,法院最終的裁判金額越高。

依據各變項詳細論述如下:

(1)保險及無因果關係死亡

保險、無因果關係死亡並未顯著,因此保險、死亡在是否成立195III的法院判斷上有所影響,卻並未影響法院裁判金額。

無因果關係死亡並未影響法院裁判金額,因此似乎可以間接認為上述就為何影響法院准駁的推論一(有可能是因為此種情形被害人的傷勢可能較重)並不可採,因為如果被害人傷勢重,發生的損害較大,理論上應該也會進一步影響法院裁判金額。

(2)不同身分別的結果並未顯著

我們在閱讀大量裁判時,如果有不同身分別的請求人在同一個裁判中請求195III慰撫金,法院通常會同勝同敗,但會依請求人跟被害人的不同身分關係而有不同的裁判金額,通常請求人是配偶的裁判金額會比請求人是子女的來得高。

然而卻沒有在研究結果看到此關係,我們推論可能是因為的分析方法並未分階層(裁判為第一階、裁判中得請求人為第二階),而是全部樣本在同一階層作分析,因此受到如傷勢等其他變項的影響後,就看不出身分關係造成的影響。

在閱讀大量裁判時,我們也發現,許多法院雖然會在裁判書中羅列各請求人的教育、職業、經濟等狀況,然而最終往往相同身分別的請求人都會有相同的裁判金額。我們的研究結果也與此相符,請求人的職業、經濟變項皆未有影響。

(3)被害人職業等級結果上矛盾,法院考量加害人經濟狀況符合理論

至於「被害人職業等級」,不管被害人職業等級低還是高都跟職業等級中呈負向關係,應是不重要的變項;「加害人經濟狀況高(相較於中)」法院裁判金額較高,符合理論依據。

(4)聲明金額達顯著但未必有因果關係

而聲明金額越高,法院最終的裁判金額越高。惟我們推論可能只是因為通常較嚴重的傷勢,親屬都會要求較高的慰撫金,因此聲明金額與法院最終裁判金額未必有因果關係。

2、 以回推與有過失之裁判金額作為依變項

我們回推與有過失後的裁判金額作為依變項,並將理論上可能影響依變項的變相做為自變項納入得出模型(3)的研究結果,可以得知在控制的情形下, 「刑附民」、「沒有保保險」、「請求人是父母相較於請求人是子女」、「植物人比起輕傷」、「成立187」、「被害人職業等級中比起職業等級低」、「加害人經濟狀況高(相較於中)」法院的裁判金額較高, 且聲明金額越高、195I裁判金額越高,法院最終的裁判金額越高。

相較於模型(1),刑附民、保險、身分關係變得有顯著,重傷相較於輕傷變得沒顯著。

而為了預測,刪除掉沒有顯著的變項後,得出模型(4)的研究結果,即在控制的情形下, 「刑附民」、「沒有保保險」、「請求人是父母相較於請求人是子女」、「重傷比起輕傷」、「植物人比起輕傷」、「成立187」法院的裁判金額較高, 且聲明金額越高、195I裁判金額越高,法院最終的裁判金額越高。

相較於模型(3),「重傷比起輕傷」有顯著。

且比起模型(2),多了「刑附民」、「沒有保保險」、「請求人是父母相較於請求人是子女」、「成立187」。

我們不太確定為什麼回推與有過失後,刑附民、保險、身分關係、成立187的影響會顯現。 然而有保保險法院反而判的較低,也與我們預設的不符。

Back to the Class Page

Video on YT

In [98]:
#隱藏code
from IPython.display import HTML

HTML('''<script>
code_show=true; 
function code_toggle() {
 if (code_show){
 $('div.input').hide();
 } else {
 $('div.input').show();
 }
 code_show = !code_show
} 
$( document ).ready(code_toggle);
</script>''')
Out[98]: