- 數(shù)據(jù)可視化
- 結(jié)論
上一篇文章中,我們說(shuō)到了如何處理數(shù)據(jù)围小,并且最后篩選出比較重要的一些特征昵骤。按道理來(lái)說(shuō),接下來(lái)我們應(yīng)該對(duì)數(shù)據(jù)進(jìn)行去重肯适、歸一化变秦、進(jìn)行建模了。然而時(shí)間框舔、精力有限蹦玫,且與最終要研究的目的沒(méi)多大關(guān)系,所以這一部分并沒(méi)有進(jìn)行深層研究雨饺。
接下來(lái)我們從數(shù)據(jù)可視化開(kāi)始說(shuō)起钳垮,探究潛藏在數(shù)據(jù)背后的信息。
五额港、數(shù)據(jù)可視化
首先我們來(lái)看一下2016年第一季度業(yè)務(wù)開(kāi)展情況,主要是放款筆數(shù)歧焦,金額移斩,期限等情況
perform_data = analysis_data.groupby('month')['loan_amnt'].agg(['count','sum'])#貸款筆數(shù)與放貸金額
f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
x = perform_data.index #月份month
y1 = perform_data['count']#貸款筆數(shù)
sns.barplot(x, y1, ax=ax1)
y2 = perform_data['sum']#貸款金額
ax1.set_xlabel("")
ax1.set_ylabel("loan_count")
sns.barplot(x, y2,ax=ax2)
ax2.set_ylabel("loan_amount")
sns.despine(bottom=True)
可以看出绢馍,1月份至3月份的貸款筆數(shù)向瓷、貸款金額都在提升。
在同時(shí)舰涌,第一季度中不同等級(jí)的貸款數(shù)量都有所增長(zhǎng)猖任,其中F、G等級(jí)貸款繼續(xù)維持在一定的瓷耙、較低的成交數(shù)量朱躺,而其他等級(jí)貸款的數(shù)量和漲幅都較為明顯刁赖。
通過(guò)兩個(gè)圖表我們對(duì)第一季度整體的業(yè)績(jī)有了一些了解,接下來(lái)我們將更具體的了解業(yè)務(wù)的內(nèi)容长搀,比如說(shuō)貸款金額宇弛、貸款期限以及利率等。
from scipy.stats import norm #貸款金額分布
sns.distplot(analysis_data.loan_amnt,fit=norm,kde=False,color='blue')
sns.despine(top=True)
單筆貸款金額在1萬(wàn)~2萬(wàn)美元范圍內(nèi)占比較多源请,較高金額的貸款數(shù)量較少枪芒,也間接證明了lending club 主營(yíng)小額度的貸款項(xiàng)目。
analysis_data.term.value_counts().plot.pie(autopct='%.2f',figsize=(10, 10),colors = ['yellowgreen','lightblue']) #借款周期分布比例
貸款周期分為36個(gè)月與60個(gè)月谁尸,主要以36個(gè)月為主舅踪,不過(guò)60個(gè)月的比重也不小。在p2p平臺(tái)上以短期貸款為主良蛮,長(zhǎng)期貸款也有抽碌,利率較高,但周期較長(zhǎng)背镇。借出人收獲利息咬展,承擔(dān)風(fēng)險(xiǎn),而借入人到期要償還本金瞒斩。貸款周期越長(zhǎng)破婆,對(duì)借出人來(lái)說(shuō)風(fēng)險(xiǎn)越高。
在國(guó)內(nèi)的環(huán)境下胸囱,借出人不僅要承擔(dān)推遲還款的風(fēng)險(xiǎn)祷舀,還要擔(dān)心平臺(tái)跑路、本息全無(wú)的高風(fēng)險(xiǎn)烹笔;對(duì)借入人來(lái)說(shuō)裳扯,因?yàn)閲?guó)內(nèi)缺少健全的征信體系,借款方違約及重復(fù)違約成本低谤职。
對(duì)國(guó)內(nèi)的情況不再多說(shuō)饰豺,話題繞回來(lái)。國(guó)外的部分國(guó)家已有健全的征信體系允蜈,一旦違約還款冤吨,違約率不斷上漲,個(gè)人征信也會(huì)保留記錄饶套,對(duì)后序的貸款漩蟆、買(mǎi)房有很大的影響。所以如果貸款周期較長(zhǎng)妓蛮,且如果沒(méi)有固定的工作和固定的收入的話(即使有未定收入也不一定如期償還)怠李,償還本金充滿變數(shù),很有可能違約。
所以通過(guò)上圖可以看出幾個(gè)信息:
1.短期貸款占比重較大捺癞,長(zhǎng)期貸款占比也不低
2.Lending club平臺(tái)有較強(qiáng)的風(fēng)控能力夷蚊,部分借出方比較信任平臺(tái)(不怕平臺(tái)跑路),而借入方對(duì)自身的還款能力有一定的信心翘簇。
接下來(lái)我們?cè)僭囍鴮?duì)貸款人進(jìn)行分析撬码,形成一下用戶畫(huà)像吧。
從圖中可以看出版保,貸款人中有37%的比例的人工齡為10年以上呜笑。那么,我們可以考慮一下彻犁,為什么工齡超過(guò)10年的人有貸款需求呢?且占比這么高?
那么可以猜測(cè)一下(個(gè)人意見(jiàn)),首先可能是工齡越長(zhǎng),貸款通過(guò)率越高(篩選后占比較高),其次可能有部分是工作超過(guò)10年但是被裁員的(經(jīng)濟(jì)不好),有部分是還有工作但是需要還房貸的(不知道國(guó)外的形式),有部分是個(gè)人家庭有大筆支出的(個(gè)例壳咕,占比不大)寸谜,當(dāng)然不排除謊報(bào)工齡的可能。
至于猜測(cè)是否準(zhǔn)確個(gè)人不能保證,還需要結(jié)合當(dāng)年的經(jīng)濟(jì)形勢(shì),以及職業(yè)變動(dòng)等情況進(jìn)行綜合判斷,在此不再深究。
#貸款人收入水平
sns.factorplot(x="grade", y="annual_inc", hue="verification_status", data=lendData,order=list('ABCDEFG'),size=15,palette="Paired")
再來(lái)看看收入水平的情況锥腻。貸款人的收入水平信息分為三種情況:已經(jīng)過(guò)LC驗(yàn)證供璧,收入來(lái)源已驗(yàn)證,未驗(yàn)證。這三種情況目前從圖中看不出有什么不同。總之,貸款等級(jí)與收入水平在整體上呈正相關(guān)的趨勢(shì)。
analysis_data.home_ownership.value_counts().plot.pie(autopct='%.2f',figsize=(10, 10),colors= ['red','yellowgreen','lightskyblue']) #借款人住房狀況分布
大多數(shù)人的房屋狀態(tài)是抵押貸款(大部分人是房奴)义黎,只有少部分人有完全的產(chǎn)權(quán)狐蜕。
#貸款等級(jí)與住房情況
analysis_data_home = lendData.groupby(['grade','home_ownership'])[['issue_d']].count().apply(lambda x : x/x.sum(level=0)).unstack(level=1)\
.reset_index().set_index('grade')\
.stack(level=0).reset_index(level=1, drop=True)
analysis_data_home.plot.barh(stacked=True,figsize=(15,8)).legend(loc='center left', bbox_to_anchor=(1, 0.5))
意外的發(fā)現(xiàn)个初,貸款等級(jí)越高的人群珍逸,他們的住房情況是抵押貸款的幾率越高,而租房的幾率越低谆膳。而擁有完全產(chǎn)權(quán)的人群在各個(gè)貸款等級(jí)的人群中占比差不多叭爱。
再來(lái)看看他們貸款都干什么了。
sns.countplot(y=analysis_data.purpose) #貸款用途分布
sns.despine(top=True)
可以很明顯的看出debt_consolidation(可以理解為債務(wù)整合漱病,借新還舊)占比最高涤伐,占比第二高的credit_card也歸屬為同一類馒胆。
綜合收入水平與貸款用途得到上圖,我們可以發(fā)現(xiàn)在第一季度中凝果,人均收入水平較高的人群貸款用于小生意,家庭生活改善睦尽,房子等器净。而貸款為了債務(wù)整合(占比最高)的人群的人均收入水平在整體的中下。
對(duì)貸款人群了解的也差不多了当凡,接下來(lái)我們看一下資產(chǎn)質(zhì)量山害。
如何定義資產(chǎn)質(zhì)量呢?在這里可以狹義地理解為在一定時(shí)期沿量、利率浪慌、期限結(jié)構(gòu)下資產(chǎn)所能來(lái)帶的收益高低或損失可能,對(duì)于貸款來(lái)說(shuō)朴则,借款人償還本息的及時(shí)和足額程度权纤、借款人的信用等級(jí)、貸款的利率和期限等等都影響到資產(chǎn)的質(zhì)量乌妒。
不過(guò)要注意汹想,通常我們認(rèn)為借款人的還款觀察期最好是在6個(gè)月到12個(gè)月,因?yàn)樵谶@個(gè)期限內(nèi)撤蚊,借款人還款的表現(xiàn)情況才逐漸趨于穩(wěn)定古掏。而計(jì)算第一季度的delinquent rate(拖欠率)是不具備代表性的,所以在這里就不對(duì)第一季度的整體Bad Rate(壞賬率)做進(jìn)一步的分析了侦啸,而是著重觀察不同信用等級(jí)下的資產(chǎn)質(zhì)量槽唾。
說(shuō)實(shí)話,關(guān)于資產(chǎn)質(zhì)量的這部分并沒(méi)有分析經(jīng)驗(yàn)光涂,也是參考了一下大牛的文章引用過(guò)來(lái)的庞萍。文末會(huì)給出鏈接,對(duì)金融顶捷、p2p感興趣的可以自行學(xué)習(xí)挂绰。
回歸正題,既然資產(chǎn)質(zhì)量與償還利息是否及時(shí)服赎、借款人信用等級(jí)等等相關(guān)葵蒂,那么就把這些信息整合起來(lái),查看一下不同貸款等級(jí)的貸款質(zhì)量重虑。
在眾多特征中践付,有個(gè)特征變量loan_status(貸款狀態(tài))來(lái)描述當(dāng)前貸款處于什么狀態(tài),其中包括Current缺厉、Fully Paid永高、Charged Off(注銷(xiāo))隧土、Default、In Grace Period(在寬限期)命爬、Late (16-30 days)(延期16-30天) 曹傀、Late (31-120 days)(延期31-120天)這幾種狀態(tài)。
#將貸款狀態(tài)分為好與壞饲宛,好的貸款狀態(tài)就是current(在還款期)皆愉,fully paid(全部?jī)斶€),剩下的認(rèn)為是壞的狀態(tài)
past_due = ['In Grace Period','Late (16-30 days)', 'Late (31-120 days)', 'Default','Charged Off']
delinquent = ['Late (16-30 days)', 'Late (31-120 days)', 'Default']
lost = ['Default']
charged_off = ['Charged Off']
analysis_data_1 = analysis_data.copy()
analysis_data_1['loan_status'] = analysis_data_1['loan_status'].map(lambda x :'Past Due' if x in past_due else x)
groupd_grade = analysis_data_1.groupby(['grade','loan_status'])
pay_data_2 = groupd_grade.agg({'loan_amnt':'sum','out_prncp':'sum','total_rec_prncp':'sum','total_rec_int':'sum'}) \
.assign(loan_amnt_pct=lambda x : x['loan_amnt']/x.groupby(level=0)['loan_amnt'].sum(),
out_prncp_pct=lambda x : x['out_prncp']/x.groupby(level=0)['out_prncp'].sum())
pay_data_2
接下來(lái)分別解釋一下特征的含義艇抠。total_rec_prncp(迄今收到的本金)幕庐,
total_rec_int (迄今收到的利息),out_prncp (總資金中剩余的未償還本金)家淤,后兩列原數(shù)據(jù)集中沒(méi)有异剥,分別代表當(dāng)前貸款金額占該等級(jí)所有貸款金額的比例, 未償還本金金額占該等級(jí)所有未償還本金金額的比例絮重。
我們可以看到冤寿,貸款狀態(tài)分成了三類,Past Due中包括的都是不好的貸款狀態(tài)绿鸣,用來(lái)衡量貸款質(zhì)量疚沐。
之后我們將Past Due(壞的狀態(tài))單獨(dú)提取出來(lái)
f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
x = past_due_data.index
y1 = past_due_data['loan_amnt_pct']
sns.barplot(x, y1, ax=ax1)
y2 = past_due_data['out_prncp_pct']
ax1.set_xlabel("")
ax1.set_ylabel("loan_amnt_pct") #壞的狀態(tài)的貸款所占比例
sns.barplot(x, y2,ax=ax2)
ax2.set_ylabel("past_due_rate") #未償還本金的貸款所占比例
sns.despine(bottom=True)
從圖中我們看出,貸款等級(jí)越高潮模,貸款質(zhì)量越高亮蛔。A等級(jí)最好,G等級(jí)最差擎厢,也從側(cè)面看出Lending club的風(fēng)控水平究流。
六、結(jié)論
通過(guò)數(shù)據(jù)可視化我們對(duì)2016年第一季度的數(shù)據(jù)已經(jīng)有了一個(gè)整體的認(rèn)識(shí)动遭。那么我們最終要研究的問(wèn)題是否已經(jīng)找到答案了呢芬探?回答是肯定的。在調(diào)查L(zhǎng)ending club背景時(shí)厘惦,我們得到了模糊的線索偷仿。在進(jìn)行數(shù)據(jù)預(yù)處理過(guò)程中,我們通過(guò)相關(guān)系數(shù)得到與貸款等級(jí)關(guān)系密切的特征宵蕉,后續(xù)又通過(guò)數(shù)據(jù)可視化直觀的看到與貸款等級(jí)相關(guān)的因素酝静。下面就做一下總結(jié)。
影響貸款等級(jí)的相關(guān)因素
1.首先通過(guò)背景了解到FICO分?jǐn)?shù)羡玛,分?jǐn)?shù)越高别智,貸款通過(guò)的可能性與等級(jí)也越高。
2.征信記錄薄榛。包括征信查詢讳窟、貸款人的不良信用記錄等。征信記錄很重要敞恋,并且占據(jù)較大的權(quán)重丽啡。因?yàn)檫^(guò)去的信用記錄反映的是這個(gè)人潛在的壞賬率,本來(lái)嘛L(fēng)C必須要保障借出人與自身的利益耳舅。
3.資產(chǎn)實(shí)力碌上。包括收入水平、住房情況浦徊、dti等。住房情況在重要性篩選過(guò)程中出現(xiàn)天梧,收入水平在數(shù)據(jù)可視化過(guò)程中觀察到明顯的相關(guān)性盔性。然而這些特征并不是主要的影響因素,權(quán)重較低呢岗。
通過(guò)上述的總結(jié)歸納冕香,我們得知Lending club平臺(tái)已經(jīng)有了一個(gè)完整的篩選、評(píng)級(jí)體系后豫,且有足夠的風(fēng)控水平悉尾,通過(guò)對(duì)信息來(lái)源進(jìn)行核實(shí),以及控制低等級(jí)貸款的數(shù)量來(lái)維持整體貸款的水平挫酿,降低壞賬率构眯。雖然現(xiàn)在Lending club的形勢(shì)不太樂(lè)觀,但在丑聞事件的打擊中它還是挺過(guò)來(lái)了早龟。不論之后該公司如何發(fā)展惫霸,至少它成型的風(fēng)控水平值得國(guó)內(nèi)絕大多數(shù)p2p平臺(tái)學(xué)習(xí)。
參考
3.10分鐘python圖表繪制 seaborn入門(mén)
本文為 泰閣志-解密大數(shù)據(jù) 學(xué)習(xí)筆記葱弟,了解更多請(qǐng)關(guān)注微信“泰閣志”