Буцах

2021031 - Орчин үеийн машин сургалтын зарим аргуудад тулгуурлан зээлдэгчийн зээлжих чадварыг  үнэлэх нь

Нийгэм

Хураангуй 

0

Орчин үед их өгөгдөл (big data), өгөгдлийн сангийн удирдах систем (DBMS), тооцоолох хүчин чадлаас шалтгаалсан дэвшилтэт технологийн үр ашгаар ихэнх банкууд болон зээлийн байгууллагуудын хувьд зээлийн эрсдэлийг үнэлэх загвар, үнэлгээний аргуудаа тогтмол шинэчилж байна. Зээлдэгчийн зээлийн эрсдэлийг урьдчилан таамаглах, хяналт шинжилгээ хийх мөн ашиглаж буй загвар, аргачлалуудын найдвартай байдал зэрэг нь тодорхой зээлийн үйл ажиллагаа явуулж буй байгууллагын шийдвэр гаргах процесст чухал нөлөөтэй юм. Иймээс бид энэхүү бүтээлдээ Монгол Улсын банкны секторын зээлдэгчийн зээлжих чадварыг машин сургалтын зарим аргуудаар үнэлэн, практик ач холбогдлыг харьцуулан шалгав. Тус судалгаанд глобал санхүүгийн салбарт өргөн ашиглагдаж буй машин сургалтын загварууд болох MLP, SVM, LR, LDA, QDA, GNB, DT, RF, GB, AB, KNN, GP зэрэг нийт 12 төрлийн алгоритм болон 15-н төрлийн статистик шинжүүр, 48-н үл хамааран хувьсагчийг ашиглалаа. Судалгааны үр дүн боловсруулалтад Xi банкны 238 зээлдэгчийн өгөгдөлд үндэслэн тооцооллыг хийсэн бөгөөд холбогдох техник хангамжуудаар Python 3.8.3-VSCode, R-Studio 4.2.2, EViews 10, IBM SPSS 26 программыг ашигласан бөгөөд бусад тооцооллыг Ms Excel 19 программыг ашиглан гүйцэтгэв. 

0

Түлхүүр үг: Хиймэл оюун ухаан, Зээлийн эрсдэл, Статистик шинжилгээ, Загвар боловсруулалт

0

Удиртгал

0

Зээлийн үйл ажиллагаа явуулан түүнээсээ ашиг зорилго бүхий арилжааны банк, банк бус санхүүгийн байгууллага, хадгаламж зээлийн хоршоод гэх мэтийн санхүүгийн байгууллагуудын хувьд зээлийн эрсдэл нь маш чухал асуудал байдаг. Учир нь зээлийн хүүгээс олж буй орлого нийт орлогын дийлэнх хэсгийг бүрдүүлдэг тул тухайн санхүүгийн байгууллагын оршин тогтнох үндэс болдог. Тиймээс зээл олгох үедээ зээлийн судалгаа шинжилгээг нягт нямбай, сайтар хийж зээлийн эрсдэлийг зөв тодорхойлох асуудал нэн чухал юм (Мөнхзаяа, 2013). Санхүүгийн байгууллагуудын хувьд тус асуудлыг шийдвэрлэх зорилгоор зээлийн скоринг (credit scoring) болон зээлжих зэрэглэл (credit rating)-ийн загваруудыг боловсруулан үйл ажиллаагандаа ашиглаж байна. 1936 оноос уламжлалт скорингийн загвар болох дискримнант шинжилгээг анхлан практикт хэрэглэж байжээ (Fisher, 1936). Мөн үүнтэй зэрэгцэн шугаман программчлалын (LP) аргыг зээлийн скорингийн загвар боловсруулахад ашигласан нь зээлийн байгууллагууд үйл ажиллагаагаа тогтвортой явуулахад тодорхой хувь нэмэр оруулсан байна (myFICO, 2018). Зээлжих зэрэглэлийн загварууд ихэвчлэн компаниуд болон засгийн газруудын зээлжих чадварыг үнэлэхэд ашиглагддаг бол скоринг нь хувь хүмүүс, жижиг, дунд бизнес эрхлэгчдийн зээлжих чадварыг үнэлэхэд хэрэглэгддэг байна (World bank, 2019). Бидний хувьд энэхүү ажлаараа үйл ажиллагаа нь тогтвортой явагдаж буй бизнесийн байгууллагуудыг зээлжих чадварыг үнэлэх загварыг холбогдох статистик аргуудыг ашиглан боловсруулав.

0

Нэгдүгээр бүлэг. Машин сургалт

0

1.1 Машин сургалт ба түүний хэрэглээ

0

ML бол компьютер өөрийн өмнөх туршлагаараа дамжуулах автоматаар сайжран, сурах процесс юм. Тус шинжлэх ухааны салбарыг хиймэл оюун ухааны дэд хэсэг гэж үздэг (Зураг 1.1). 

0

0

Зураг 1. 1 Хиймэл оюун ухааны дэд судлагдахуунууд (Ioannis , 2020)

0

МL загваруудыг түүвэрлэлтийн өгөгдөл буюу бидний мэдэхээр сургалтын олонлогт үндэслэн байгуулах бөгөөд үүний зорилго нь ямарваа нэгэн таамаглал хийх, шийдвэр гаргах зэрэг үр дагавартай юм. ML нь шинжлэх ухааны салбар бүрд өөрийн гэсэн хэрэглээтэй. Жишээ нь, хамгийн энгийн байдлаар имэйл фильтер, компьютерын хараа гэх мэт хэрэглээ байх ба ялангуяа уламжлалт алгоритмуудын гүйцэтгэхэд хүндрэлтэй байгаа ажлуудад ихээр ашиглагдаж байна. 

0

Машин сургалтын загваруудыг харгалзах гаралтын утга мэдэгдэж байх тохиолдолд удирдуулсан (Supervised Learning) сургалт эсрэг тохиолдолд буюу гаралтын утга үл мэдэгдэх тохиолдолд удирдуулаагүй (Unsupervised Learning) сургалт гэж ангилна. Одоогоор хиймэл оюун ухааны хэрэглээнд хамгийн өргөнөөр ашиглагдаж буй арга нь удирдуулсан машин сургалт байна.

0

Зураг (1.2)-т KD-nuggets онлайн платформоос жил бүр гаргадаг статистик дүн мэдээг харуулсан бөгөөд тус байгууллага нь бизнес аналитик, машин сургалт, өгөгдөл тандалт, их өгөгдөл, өгөгдлийн шинжлэх ухааны чиглэлд үйл ажиллагаа явуулдаг юм. 

0

Зураг 1.2-т харагдаж буй судалгаанаас машин сургалтыг хамгийн ихээр ашиглаж буй гурван салбараар CRM буюу хэрэглээний аналитик, эрүүл мэндийн салбар, удаад нь мөн банкны салбарыг нэрлээд байна. 

0

0

Зураг 1. 2 Машин сургалтын хэрэглээ, өсөлтийн хувиар (kdnuggets, 2019)

0

Тухайлбал, хэрэглээний аналитикийн хувьд 20 хувийн өсөлт үзүүлэн, сүүлийн таван жилийн турш нэгдүгээрт явж байгаа ба эрүүл мэндийн салбар 4-р байрнаас 2-т орж иржээ. Харин санхүүгийн салбар нийт дүнгээрээ 2-р байрнаас унаснаар 4-т эрэмбэлэгдсэн бөгөөд банкны секторын хувьд машин сургалтын хэрэглээ нэмэгдэж 3-р байранд жагссан байна. Үүнээс дүгнэхэд манай орны банк санхүүгийн болон бизнесийн салбарт машин сургалтыг үйл ажиллагаандаа ашиглах хэрэгцээ шаардлага зайлшгүй байгааг илтгэж байна.

0

1.2 Математик үндэслэл

0

Олон давхаргат персептрон (Multi-Layer Perceptron буюу MLP) 

0

MLP нь хүний тархийг дуурайх замаар нарийн төвөгтэй асуудлыг шийдвэрлэх маш өндөр чадамжтай бөгөөд тус аргачлалыг шугаман бус хамааралтай өгөгдлүүдийн холбоо хамаарлыг дүрслэхэд ашигладаг (Defu , Hongyi , Qingshan , & Yi , 2007). Уламжлалт нэг давхаргатай ньюрал сүлжээний математик үйлдэл нь оролтын утгуудыг харгалзах жингээр үржүүлэн нийлбэрчилж i=1mwixi, [1] нейроны дентритээр дамжуулан сигналуудыг аваад тодорхой хэмжээнд (тодорхой босго давсан үед) хүрэх үед шугаман персептрон идэвхжиж h(x) хэлбэрт орсноор дараагийн нейрон руу сигналаа дамжуулна. 

0

h(x) = i=1mwixi            [2]

0

h(x)-ийг тодорхойлсон бол дараагийн асуудал нь оптимизацийн асуудал болох бөгөөд дундаж квадрат алдаа (MSE)-ны функц L нь дараах байдлаар тодорхойлогдоно :

0

L = MSE = 1n*i=1m(Y-hw)2           [3]

0

Эндээс буцааж тараах (back-propagation) алгоритмаар wi жингүүд шинэчлэгдэх бөгөөд маш олон итерацийн дараагаар алдаа хамгийн бага үнэлгээг гарган авна.

0

Дэмжих вектор машин (Support Vector Machine буюу SVM)

0

SVM нь оновчтой тусгаарлах гипер хавтгайг бий болгох замаар бүтцийн эрсдэлийг хамгийн бага байлгах дүрмийг хэрэгжүүлсэн. Ангилал үүсгэх тусгаарлах гипер хавтгай нь wx+b=0 байх ба шугаман бусаар ангилагдах өгөгдлийн олонлогтой ажиллах болон аутлайр утгуудад мэдрэмж багатай оновчлол хийх алгоритм байдлаар илэрхийлэгдэнэ. 

0

12 ||||2+Ci=1ni        [4]

0

st{yiTxi+b≥1- ξi,    i=1,…m   ξi≥0,   i=1,…m             [5]

0

Энэ тохиолдолд функциональ маржингууд нэгээс бага байхыг зөвшөөрөх бөгөөд хэрвээ тус маржин 1- ξi буюу ξi>0 байгаа үед объектив функц Ci-аар нэмэгдэнэ. Харин C параметр нь ||||2 хамгийн бага байх болон функциональ маржин хамгийн багадаа 1 байх гэсэн хоёр зорилгын хоорондох харьцангуй жинг хянана (Andrew, 2018).

0

Ложистик регресс (Logistic Regression буюу LR)

0

Ложистик регрессийн загвар дахь хамааран хувьсагч нь хоёртын ангиллын хувьсагч байх ба үл хамааран хувьсагчид нь категорит эсвэл тасралтгүй тоон хувьсагчид байна (Gouvêa & Gonçalves, 2007). Судалгаанд ашиглагдах хувьсагчид хоорондын функциональ хамаарал дараах байдлаар тодорхойлогдоно. 

0

h=gTx= 11+e-Tx     [6]

0

Тэгшитгэл [6]-ийн холбох функц нь gz= 11+e-z  байх ба -Tx= 0+ j=1njxj [7] абсолют утгаараа хязгааргүй өсөх чиглэлд тэмүүлэхэд e-Tx нь 0 гэсэн утга рүү ойртоно. Тус тохиолдолд үнэлэгдсэн таамаглал дахь магадлалын утгууд P(y=1 |x;θ)=h(x) эсвэл P(y=0 |x;θ)=1-h(x) байдлаар илэрхийлэгдэх бөгөөд ложистик тархалтын функцээр үнэлэгдсэн P магадлал дээд хязгаарын утга болох 1 рүү дөхөх болно. Харин эсрэг тохиолдолд Tx утга хасах хязгааргүй руу тэмүүлэхэд e-Tx утга хязгааргүй руу дөхөх бөгөөд харгалзах P магадлал доод хязгаарын утга болох 0-рүү ойртоно. Улмаар h үнэлэгдсэн утга 0-ээс 1 ийн хооронд утгаа авч үл хамааран хувьсагчдын утганд нөхцөлсөн хамааран хувьсагчийн магадлал P(y |x;θ)= (h(x))y(1-h(x))1-y [8] хэлбэрт орно.

0

θ≔θ- f(θ)f'(θ)       [3]

0

Энэхүү загварыг үнэлэх оновчлолын алгоримт нь Newton аргачлал байх бөгөөд f()=0 байх θ∈R параметр нь тэгшитгэл [3]- д тодорхойлсон зарчмаар шинэчлэгдэнэ. 

0

Дискриминант шинжилгээ (Discriminant Analysis буюу DA)

0

DA загварын тавилд үл хамааран хувьсагчид нь тасралтгүй тоон хувьсагчид байх ба p(x|y) магадлал олон хүчин зүйлийн нормаль тархалт (Multivariate normal distribution)-тай гэж үзнэ. Үүнийг өөрөөр олон хүчин зүйлийн Гаусс тархалт гэх бөгөөд тус тархалт нь μϵRn вектор дундаж болон Rn ковариацийн матриц гэсэн параметрүүдтэй байх ба ≥0 гэсэн нөхцөлд тэгш хэмтэй байна. Эндээс бид олон хүчин зүйлийн нормаль Ν(μ, Σ) болон бернулль y ~ Bernouli(ϕ) тархалтуудын нягтын функцийг тодорхойлбол:

0

py=y(1-ϕ)1-y      [9]

0

px|y=0=1(2π)n2|Σ|12e(-12(x-μ0)T-1(x-μ0))  [10]

0

px|y=1=1(2π)n2|Σ|12e(-12(x-μ1)T-1(x-μ1))   [11]

0

Тэгшитгэл [10,11]-д "|Σ|" буюу сигма параметр нь ковариацийн матрицын тодорхойлогч байна. Харин Ν(μ, Σ) тархалттай X санамсаргүй хувьсагчийн дундаж дараах хэлбэртэй: 

0

EX=xpx;μ, Σdx=μ       [13]

0

Векторчилсон Z санамсаргүй хувьсагчийн хувьд ковариац нь CovZ=E[(Z-E[Z])(Z-E[Z])T] [11] хүлээлт авсан хэлбэрээр илэрхийлэгдэх бөгөөд хэрвээ үл хамааран хувьсагч X~Ν(μ, Σ) тархалттай бол ковариац CovX= болно. 1936 онд Англи улсын судлаач, статистикч Р.Фишерын анхны судалгааны ажлуудад дискриминант шинжилгээний хэрэглээний талаар маш олон ажил нийтлэгдэж байсан бөгөөд ангиллын асуудлыг шийдвэрлэхэд параметрийн бус техникүүдийг ашиглан маш олон талаас авч үзэн, судалсан байна (Artís, Guillen, & Martínez, 2011). Квадрат дискримант шинжилгээний хувьд ашиглаж цөм буюу кернелийн хувьд бага зэрэг ялгаатай.  

0

Гауссын найвь байес (Gaussian Naïve Bayes буюу GNB)

0

GNB загварын хувьд үл хамааран хувьсагчид нь дискрет тоон хувьсагчид байх бөгөөд загварын ерөнхий тавил нь Байесын теоремын өргөтгөл юм. Байесын теоремын нөхцөл Pc, Px болон Px|c -аас Pc|x posterior магадлалыг тооцоолох замаар хангагдана. 

0

Px=PxP(c)P(x)       [12]

0

  1. c – хос хосоороо нийцгүй үзэгдлийн бүтэн бүлэг үүсгэж буй к ширхэг үзэгдлүүдийн i-р үзэгдлийг илэрхийлнэ.  
  2. x – P(c)-д нөлөөлж болох шинэ үзэгдэл
  3. p(x) – x үзэгдлийн хувьд ахиу магадлал (marginal probability) (Дагвасүрэн, 2020)

0

GNB нь хөдөө аж ахуй, эм зүй, биометр зэрэг маш олон салбаруудад үр нөлөөгөө батлан харуулсан ч банк санхүүгийн байгууллагуудын зээлийн эрсдэлийн үнэлэх, зээлийн скорингийн загварт бага ашиглагдаж байна (Olatunji, Kennedy , Adeyinka , & Samuel , 2017).

0

Шийдвэрийн мод (Decision Tree буюу DT)

0

Өгөгдлөөс DT загварыг үүсгэх нэлээд олон алгоритмууд байх ба ангиллын болон регрессийн модны CART, ID3, ID4.5, CHAID, C4.5, болон C5 зэрэг түгээмэл хэрэглэгддэг аргачлалууд байдаг. Бидний хувьд шийдвэрийн мод байгуулах C5 алгоритмын математик үндэслэлийн талаар товч авч үзэх болно. C5 алгоритмыг C4.5-д үндэслэн Р.Куинлан хөгжүүлсэн бөгөөд шийдвэрийн мод байгуулах гол санаа нь С4.5- тэй ижил төстэй (Yajing , Guotai , & Zhipeng , 2018). DT загварын байгуулалтыг C4.5-д тулгуурлан тайлбарлавал:

0

  1. Мэдээллийн энтропи - pi нь i бүлэгт хамаарах S-ийн эзлэх хувийн жин (дефольт эсвэл дефольт биш). Хэрвээ харилцагчдын хагас нь дефольт бол нөгөө хагас нь дефольт бус байх бөгөөд ЭнтропиS хамгийн их утгаа авна. Хэрвээ  ЭнтропиS=0 бол бүх харилцагчид муу эсвэл сайн зээлдэгчид байна. 

0

ЭнтропиS=i=1c-pilog2pi      [13]

0

  1. Мэдээллийн ашиг – (a) утгууд нь “a” шинж чанарын (attribute)-ын боломжит бүх утгуудын олонлог. Харин S нь шинж чанар гэсэн утгатай байх S-ийн дэд олонлог байна. Ашиг их гарах нь шинж чанарууд зээлийн эрсдэлийн тодорхойлох өндөр чадамжтай байгааг илтгэнэ. 

0

АшигS, a= ЭнтропиS-ϑ∈aутгууд|S|S ЭнтропиS   [14]

0

  1. Мэдээллийн ашгийн харьцаа – мэдээллийн харьцаа асуудал нь хэрвээ шинж чанар маш олон утгатай бол шалгах түүвэр гажилт үүснэ гэсэн нөхцөл байна. Гэхдээ тэгшитгэл [15]-аар энэ асуудлыг шийдэж болно. 

0

АшгийнХарьцааS, a= АшигS, a/Энтропиа      [15]

0

К хамгийн ойр хөрш (K Nearest Neighbor буюу KNN)

0

KNN загвар нь уламжлалт параметрийн бус ангилагч юм (Hart & Cover, 1967). KNN нь өгөгдлийн огторгуйд тодорхой цэгүүдээр илэрхийлэгдсэн үл мэдэгдэх тайлбарлагч хувьсагчдыг ангилахын тулд цэгээс цэг хоорондын зайг тооцоолох замаар ангилал хийдэг. Тэгшитгэл [16]-д A болон B нь m хэмжээс хүчийн зүйлийн огторгуйд харгалзан A=(x1,x2..xm), B=(y1,y2..ym) гэсэн векторуудыг илтгэнэ. Хэмжилтэд ихэвчлэн Евклидийн зайг хэрэглэдэг бөгөөд бас бусад аргачлалуудыг мөн адил хэрэглэнэ. 

0

Евклидийн зайA,B=i=1m(xi-yi)2m     [16]

0

Гауссын процесс (Gaussian Process буюу GP)

0

GP загварт X=Xt,  t∈T бодит стохастик процесс байх ба энд бүх хязгаарлагдмал хэмжээст тархалтууд Гаусс байна. Ө.х, X(t1)…X(tn) санамсаргүй хувьсагчийн хамтын магадлалын тархалтан дахь дурын t1tn∈T шинж чанарын функц дараах хэлбэртэй.

0

t1…tnu1un=expik=1nA(tk)uk-12k,jnB(tk,tj)ukuj,      [17]

0

Тэгшитгэл [17]-д Atk=EX(t) математик хүлээлт, Bt,s=EXt-At Xs-As ковариацийн функц юм. Гаусс процессын  X=X(t) магадлалын тархалт A(t) математик хүлээлт, Bt,s,s,t∈T ковариацийн функцээр бүрэн тодорхойлогдоно. Дурын A(t) функц, Bt,s эерэг тодорхой функцийн хувьд A(t) хүлээлт, Bt,s ковариацийн функцтэй Гауссын процесс оршин байна (Gaussian Process, 2011). 

0

Хоёрдугаар бүлэг. Судалгааны хэсэг

0

2.1 Загварт нөлөөтэй хувьсагчдыг олж тогтоох статистик шинжилгээ

0

Бид судалгааны энэ хэсэгт хамааран хувьсагчид нөлөөлөх үл хамааран хувьсагчдыг холбогдох статистик арга зүйн тусламжтай олж тогтоох болно. Судалгаанд ашиглагдах нийт 48 үл хамааран хувьсагчдаас зээлдэгчээс асуулгаар авсан 42 хувьсагч, санхүүгийн харьцааны 6 хувьсагч багтана. Мөн асуулгаар авсан 42 хувьсагч дотор чанарын болон тасралтгүй тоон хувьсагчдыг хамруулан ойлгох ба эхний удаад чанарын хувьсагчдыг Хи-Квадрат тест, тасралтгүй хувьсагчдыг Левений шинжүүр болон Т-тестээр шалгах болно (IBM SPSS 26).  Харин хамааран хувьсагчийн хувьд зээлдэгчийн зээлийн ангилал хэвийн бол yi=1 эсрэг тохиолдолд yi=0 гэсэн утга ногдоно. Үүнээс гадна бид дээрх үр дүнгүүдийг бататгах үүднээс хувьсагчдын дундаж нь тэнцүү эсэхийг Satterthwaite-Welch t-test, Anova F-test, Welch F-test, медиан нь тэнцүү эсэхийг Wilcoxon/Mann-Whitney, Med. Chi-square, Adj. Med. Chi-square, Kruskal-Wallis, van der Waerden, вариац нь тэнцүү эсэхийг F-test, Siegel-Tukey, Bartlett, Brown-Forsythe шинжүүрүүдээр шалган ач холбогдлын түвшинг илэрхийлэх магадлалын утгад үндэслэн үл хамааран хувьсагчдыг шүүх болно (EViews 10).

0

Субьект хоорондын вариацын таамаглал шалгах “Левений шинжүүр”. 

0

Левений тест (Levene test for equality of variance) нь k түүвэр буюу бүлгүүд тэнцүү вариацтай буюу ижил төрлийн вариацтай гэсэн тэг таамаглал дэвшүүлнэ (Levene, 1960). Левений шинжүүрээр үр дүн ач холбогдолтой (магадлалын утга < 0.10) бол тэг таамаглал няцаагдаж тус бүрийн бүлэгт харгалзах хувьсагчдын вариац ялгаатай болох ба өрсөлдөгч таамаглал биелнэ. Иймээс Левень тестийн хүлээгдэж буй утга нь ач холбогдолгүй буюу магадлалын утга 0.10-аас их байхаар хүлээгдэнэ. Тестийн дэвшүүлж буй тэг таамаглал нь:

0

  • H0: 12=22……k2
  • H1: j2i2 буюу хамгийн багадаа (j, i) бүлгүүд тэнцүү биш вариацтай байна.

0

Өгөгдсөн N түүврийн хэмжээтэй Y хувьсагчаар k дэд бүлгүүдэд хуваах бөгөөд Ni түүвэртэй i дэд бүлгүүд үүснэ. Тэгшитгэл [21]-д  Zij нь Zij=Yij-Yi байх ба Yi нь i-р дэд бүлгийн дундаж эсвэл медиан юм. Левень шинжүүрийг тодорхойлбол:

0

W=(N-k)(k-1)i=1k(Zi-Z..)2i=1kj=1k(Zij-Zi.)2          [21]

0

Хүснэгт 2. 1 X19 хувьсагчид хийсэн Левений шинжүүр  

0

X19

Assumption:

Levene's Test for Equality of Variances

F

Sig.

Equal variances assumed

8.228

0.004***

Equal variances not assumed

   

0

Эх сурвалж: Судлаачийн тооцоолол (IBM SPSS 26 программын үр дүн)

0

Тэмдэглэл: (*), (**), (***) тэмдэг нь харгалзан ач холбогдлын 10, 5, 1 хувийн түвшинд тэнцүү вариацтай байна гэсэн H0 таамаглалыг няцааж байгааг харуулна.

0

Xi компанийн борлуулалт болон үйлчилгээний орлогын өсөлтөд (X19-р хувьсагч) хийсэн Левений шинжүүрээс харахад хоёр бүлэгт харгалзах вариацийн утгууд маш өндөр зөрүүтэй болохыг F статистик 8.228 батлан харуулсан ба дэд бүлгүүд тэнцүү вариацтай гэсэн тэг таамаглалыг 1%-ийн ач холбогдлын түвшинд няцаав. Өөрөөр хэлбэл, дурын “Xi” компанийн орлогын түвшингийн хэлбэлзэл тухайн компани зээлийн эргэн төлөлтөө хугацаандаа багтаж хийхэд нөлөөлөх гол хүчин зүйлийн нэг гэсэн үр дүнг харуулав.

0

Субьект хоорондын дунджын таамаглал шалгах “Үл хамаарах түүврүүдийн Т-тест”.

0

Үл хамаарах түүврүүдийн T-тест (Independent samples T-test) хоёр дэд бүлгүүдийн дундаж эх олонлогийн хувьд ижил тэнцүү эсэхийг шалгахад ашиглагддаг. Энд i-р бүлгийн Xi хувьсагч j-р бүлгийн Xi хувьсагчаас хамаарах боломжгүй тусгаар түүврүүдийн дунджийг харьцуулж буй учраас Independent буюу үл хамаарах түүврүүдийн гэж нэрлэнэ (Давгасүрэн, 2020). Тус шинжүүрийг ашиглахын тулд дараах урьдач нөхцөлүүд тавигдана. 

0

  • Хамааран хувьсагч тасралтгүй хувьсагч байх (Ө.х, интервалын эсвэл харьцааны).
  • Үл хамааран хувьсагч дискрет хувьсагч байх (Ө.х, хоёр болон түүнээс дээш бүлгүүд).
  • Тохиолдлуудад хамааран болон үл хамааран хувьсагчид аль аль нь утгатай байх. 
  • Тусгаар түүврүүд байх. 
  • Эх олонлогоос өгөгдлийн санамсаргүй түүвэрлэлт хийсэн байх.
  • Бүлгүүдийн хамааран хувьсагч нормаль тархалттай байх
  • Нэгэн төрлийн вариац
  • Аутлайр утгагүй байх (Kentstate Unversity, 2020). 

0

Хүснэгт 2. 2 X5 хувьсагчид хийсэн үл хамарах түүврүүдийн T шинжүүр  

0

t-test for Equality of Means

X5

t

df

Sig. (2-tailed)

Mean Difference

Std. Error Difference

1.858

275

0.064*

26108763.27

14053773.07

1.8

43.536

0.079*

26108763.27

14502723.21

0

Эх сурвалж: Судлаачийн тооцоолол (IBM SPSS 26 программын үр дүн)

0

Тэмдэглэл: (*), (**), (***) тэмдэг нь харгалзан ач холбогдлын 10, 5, 1 хувийн түвшинд тэнцүү вариацтай байна гэсэн H0 таамаглалыг няцааж байгааг харуулна.

0

Хүснэгт (2.2)-ээс, хоёр бүлэгт багтах X5-р хувьсагчийн дунджууд тэнцүү эсэхийг T шинжүүрээр шалгахад 10 хувийн ач холбогдлын түвшинд тэг таамаглалыг няцаасан байна. Тухайлбал, Хэвийн зээл болон хугацаа хэтэрсэн зээл дэх батлан даалтын хувь хэмжээ Niболон Nj түүвэрт ялгаатай байгааг илтгэж байна.

0

Нэрлэсэн хувсагчдын хамаарлыг шалгах “Тусгаар байдлын Хи-Квадрат тест”.

0

Нэрлэсэн (Nominal) буюу чанарын хувьсагчид статистикийн хувьд хоорондоо холбоо хамааралтайг шинжлэхийн тулд тусгаар байдлын хи-квадрат (Chi-square independence) тестийг судалгаа шинжилгээнд маш түгээмэл ашигладаг. Тестийн үр дүнд тэг таамаглал үнэн байх магадлал буюу p-value 0.05-аас бага байх тохиолдолд 95%-ийн итгэх түвшинд 2 чанарын хувьсагч хоорондоо статистикийн хувьд харилцан хамааралтай гэдгийг нотолно. Хи-Квадрат тестийн дэвшүүлж буй тэг таамаглал дараах байдлаар тавигдана.

0

  • H0: Хоёр чанарын хувьсагч өөр хоорондоо холбоо хамааралгүй.
  • H1: Хоёр чанарын хувьсагч өөр хоорондоо хамааралтай.

0

Түүвэрлэлтийн өгөгдлийг ашиглан чөлөөний зэрэг, хүлээгдэж буй давтамж, тестийн статистик, тестийн статистиктай холбоотой P-утга зэргийг тооцоолно.

0

Хүснэгт 2. 3 X12 хувьсагчид хийсэн Хи-Квадрат тест

0

Chi-Square Tests X12

 

Value

df

A.S. (2-sided)

E.Sig.(2-sided)

E.Sig.(1-sided)

Pearson Chi-Square

3.288a

1

0.07*

   

Continuity Correction

2.659

1

0.103

   

Likelihood Ratio

3.252

1

0.071

   

Fisher's Exact Test

     

0.099

0.052

Linear-by-Linear Association

3.277

1

0.07

   

N of Valid Cases

277

       

0

Эх сурвалж: Судлаачийн тооцоолол (IBM SPSS 26 программын үр дүн)

0

Тэмдэглэл: (*), (**), (***) тэмдэг нь харгалзан ач холбогдлын 10, 5, 1 хувийн түвшинд тэнцүү вариацтай байна гэсэн H0 таамаглалыг няцааж байгааг харуулна.

0

Шинжүүрийн үр дүнгээс харвал Chi Square = 3.288, p-value = 0.07 гарч тэг таамаглалыг няцаасан харагдаж байна. Иймээс X12-р хувьсагч буюу тухай компанийн удирдлагын боловсрол тухайн байгууллагын явуулж буй үйл ажиллагаатай нийцэж байгаа нь зээлийн хугацаа хэтрэлт үүсэх үгүй-тэй нягт харилцан хамааралтай гэдгийг нотлон харууллаа. 

0

Тус аргачлалуудаар шалгах явцад X4, X5, X7, X9, X10, X11, X12, X15, X19, X25, X27, X32, X35, X36, X40, X42, X43, X45, X46, X48 гэсэн нийт 20 үл хамааран хувьсагч шүүгдэн үлдсэн бөгөөд бусад холбогдох шинжүүрүүдээр шалгахад ач холбогдлын түвшинг илэрхийлэгч магадлал 0.1-ээс бага гарж байгаа нь дээрх хувьсагчид зээлдэгч хуваарийн дагуу зээлийн эргэн төлөлтөө хийх эсэхэд нөлөөлдөг болох нь тогтоогдлоо.

0

2.2 Зээлжих чадварыг үнэлэх загвар боловсруулалт, харьцуулалт

0

Зээлдэгчийн зээлдэх чадварыг үнэлэх загвар боловсруулалтыг орчин үед өгөгдлийн шинжлэх ухаанд түгээмэл хэрэглэгдэж буй Python программ дээр хийж гүйцэтгэхдээ (математик тооцоолол хийх) Numpy, (өгөгдлийг визуалчлах) Matplotlib, (өгөгдлийг унших) Pandas, болон (Машин сургалтын) Scikit-Learn зэрэг сангуудыг хэрэглэв. Бид судалгаанд ашиглагдах m хэмжээст өгөгдлийн огторгуйг сургах түүвэр болон шалгах түүвэрт харгалзан 80:20 харьцаатайгаар хуваан эхний 80 хувийн түүвэрт загвар боловсруулалтыг хийх ба үлдсэн 20 хувийн түүвэрт загваруудын практик ач холбогдлыг харьцуулан шалгана. Мөн 277 зээлдэгчээс үзүүлэлтийн дутмаг байдлаас үүдэн 238 зээлдэгчийг үнэлгээнд ашиглав.

0

Хүснэгт 2. 4 Загваруудын үр дүн

0

Загварууд

Загвар 1

Загвар 2

Загвар 3

Загвар 4

LR

LDA

MLP

DT

Тоо хэмжээ

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

20

4

6

0

20

4

4

2

21

3

5

1

24

0

5

1

1

10

157

1

40

6

161

1

40

10

157

1

40

0

167

7

34

Хувь хэмжээ

LR

LDA

MLP

DT

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

0

11%

2%

13%

0%

11%

2%

9%

4%

11%

2%

11%

2%

13%

0%

11%

2%

1

5%

82%

2%

85%

3%

84%

2%

85%

5%

82%

2%

85%

0%

87%

15%

72%

Ерөнхий

таамаглах чадвар

93%

98%

95%

94%

93%

96%

100%

83%

0x0

83%

100%

83%

67%

88%

83%

100%

83%

1x1

94%

98%

96%

98%

94%

98%

100%

82%

Загварууд

Загвар 5

Загвар 6

Загвар 7

Загвар 8

RF

SVM

KNN

GNB

Тоо хэмжээ

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

24

0

3

3

20

4

4

2

8

16

3

3

5

19

2

4

1

0

167

3

38

5

162

1

40

21

146

3

38

18

149

2

39

Хувь хэмжээ

RF

SVM

KNN

GNB

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

0

13%

0%

6%

6%

11%

2%

9%

4%

4%

8%

6%

6%

3%

10%

4%

9%

1

0%

87%

6%

81%

3%

85%

2%

85%

11%

76%

6%

81%

9%

78%

4%

83%

Ерөнхий

таамаглах чадвар

100%

87%

95%

94%

81%

87%

81%

87%

0x0

100%

50%

83%

67%

33%

50%

21%

33%

1x1

100%

93%

97%

98%

87%

93%

89%

95%

Загварууд

Загвар 9

Загвар 10

Загвар 11

Загвар 12

GB

AB

GP

QDA

Тоо хэмжээ

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

24

0

5

1

24

0

2

4

24

0

2

4

20

4

3

3

1

0

167

1

40

0

167

1

40

0

167

1

40

3

164

1

40

Хувь хэмжээ

GB

AB

GP

QDA

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

Сургалт

Тест

0

13%

0%

11%

2%

13%

0%

4%

9%

13%

0%

4%

9%

11%

2%

6%

6%

1

0%

87%

2%

85%

0%

87%

2%

85%

0%

87%

2%

85%

2%

86%

2%

85%

Ерөнхий

таамаглах чадвар

100%

86%

100%

89%

100%

89%

96%

92%

0x0

100%

83%

100%

33%

100%

33%

83%

50%

1x1

100%

98%

100%

98%

100%

98%

98%

98%

0

Эх сурвалж: Судлаачийн тооцоолол (Python 3.8-VSCode программын үр дүн)

0

Тэмдэглэл: Энд 0 нь муу зээлдэгч, 1 нь сайн зээлдэгчийг харуулна. Харин 0х0 нь муу зээлдэгчийг муу гэж таамаглах чадвар, 1х1 нь сайн зээлдэгчийг сайн гэж таамаглах чадварыг хувиар илэрхийлнэ. 

0

Хүснэгт (2.4)-д Монгол Улсын банкны секторын зээлдэгчийн зээлжих чадварыг МL параметрийн 4 загвар (LR, GNB, QDA, LDA), ML параметрийн бус 8 загвар (MLP, DT, RF, KNN, AB, GP, SVM, KNN)-аар үнэлэн, таамаглах чадваруудыг харьцуулав. Боловсруулсан загваруудаас харахад DT болон ensemble загварууд болох RF, GB, AB загварууд сургалтын түүвэрт бүгд 100%-ийн ерөнхий таамаглах чадварыг харуулсан боловч шалгах түүвэрт харгалзан 83%, 87%, 86%, 89% гэсэн таамаглал хийн практик ач холбогдлын зэрэг буурч байна. Учир нь ensemble буюу нийлмэл загваруудын хувьд их өгөгдөлд өндөр гүйцэтгэл үзүүлдэг. Өөрөөр хэлбэл, өгөгдөл хүрэлцээний хомс байдлаас шалтгаалан тус загварууд шалгах түүвэрт хийх гүйцэтгэлийн чадамж буурлаа. ML Загваруудын ерөнхий таамаглах чадвар харьцангуй ойролцоо буюу ижил түвшинд гарсан тул нийт боловсруулсан 12 загварын өрсөлдөх чадварыг ROC муруйгаар шалгав (Дэлгэрэнгүйг хавсралтаас). Үнэлгээнээс сургах болон шалгах аль ч түүврийн хувьд хамгийн өндөр гүйцэтгэлийг LR загвар үзүүлэв. LR загварын оновчтой зааглалтыг (Цолмон, 2017)-ажилд дурдасны дагуу тогтоосон бөгөөд тус загвар нь хувьсагчид нормаль тархалтгүй, ажиглалтын тоо бага хэмжээтэй байгаа үед ямар ч загвараас илүү сайн таамаглал хийдэг байна. 

0

Дүгнэлт, санал зөвлөмж

0

Бид энэхүү ажлаараа Монгол Улсын банк, санхүүгийн салбарт тулгамдаж буй чухал асуудлуудын нэг болох зээлдэгчийн зээлжих чадварыг урьдчилан таамаглах загвар боловсруулахад голлон анхаарлаа. Сүүлийн үед энэ чиглэлээр глобал санхүүгийн салбарт өргөнөөр ашиглагдаж буй загвар үнэлгээний аргууд болох хиймэл оюун, тэр дундаа машин сургалтын загваруудын тусламжтай сайн зээлдэгчийн таних, улмаар түүнээс хүлээгдэж буй эрсдэлийг тодорхой хэмжээгээр хязгаарлах гарц, шийдэл, боломжийг эрэлхийлэв. Тус судалгаанд зээлжих чадварын загвар боловсруулах 12 төрлийн ангиллын алгоритм, 15-н төрлийн статистик шинжүүр, 48-н үл хамааран хувьсагч, 4-н өөр техник хангамж, бусад эмпирик нотолгоонд үндэслэн хамгийн оновчтой нэг загварыг гарган авсан ба гол үр дүнгүүдийг нэгтгэвэл:  

0

Загварт нөлөөтэй хувьсагчдыг олж тогтоох статистик шинжилгээнд  48 үл хамааран хувьсагчийг хамруулан чанарын хувьсагчдыг тусгаар байдлын Хи-Квадрат тест, тасралтгүй тоон хувьсагчдыг Левений шинжүүр болон Т-тестээр шалгахад 25 үл хамааран хувьсагч үлдсэн бөгөөд хувьсагчдын үр дүнг бататгах үүднээс үзүүлэлтүүдийн дундаж нь тэнцүү эсэхийг Satterthwaite-Welch t-test, Anova F-test, Welch F-test, медиан нь тэнцүү эсэхийг Wilcoxon/Mann-Whitney, Med. Chi-square, Adj. Med. Chi-square, Kruskal-Wallis, van der Waerden, вариац нь тэнцүү эсэхийг F-test, Siegel-Tukey, Bartlett, Brown-Forsythe шалгахад хамааран хувьсагчид нөлөөлж болохуйц 20-н үл хамааран хувьсагч шүүгдэн үлдэв. 

0

Загвар боловсруулалтын үр дүнгээс ML Загваруудын ерөнхий таамаглах чадвар харьцангуй ойролцоо буюу ижил түвшинд гарсан тул нийт боловсруулсан 12 загварын өрсөлдөх чадварыг ROC муруйгаар шалгахад сургах болон шалгах аль ч түүврийн хувьд хамгийн өндөр гүйцэтгэлийг LR загвар үзүүлэв. Тухайлбал, LR загварын зааглалтын түвшин оновчтой байх үед сайн зээлдэгчийг 98 хувь, муу зээлдэгчийг 100 хувь үнэн таамагласан тул ерөнхий таамаглах чадвар 98 хувь гарчээ. LR загварын хэвийн зааглалтын түвшинг 0.5-аар авдаг бөгөөд тус түвшинд үнэлгээ хийх нь загварын үр дүнг гажуудуулах үр дагавартай тул М.Соурэшжаний болон А.Кимягарий нарын “Ложит болон хиймэл оюун ухааны сүлжээ загварын үнэлгээний оновчтой зааглалтын цэгийг тогтоох нь: Арилжааны банкны зээлийн эрсдэлийг үнэлэх жишээн дээр” сэдэвт судалгааны ажилд дурдсан аргачлалаар зааглалтын цэгийг тооцоолов. Тус аргачлал нь сайн зээлдэгчийг үнэн таамаглах чадвар болон муу зээлдэгчийн үнэн таамаглах чадварын нийлбэр хамгийн их үеийн зааглалтын цэгийг авах нь хамгийн тохиромжтой гэж үзжээ. Бидний хувьд оновчтой зааглалтын түвшинг таамаглах чадвар хамгийн өндөр үе буюу 0.7 гэж тодорхойлов.

0

Харин ensemble буюу нийлмэл загваруудын хувьд шалгах түүвэрт гүйцэтгэлийн түвшин буурсан бөгөөд үүний шалтгааныг түүврийн хэмжээ бага, өгөгдөл хүрэлцээний хомс байдалтай холбон тайлбарлав. Зээлжүүлгийн үйл ажиллагаа явуулж буй байгууллага ялангуяа арилжааны банкуудын хувьд Дэмжих вектор машин, Олон давхаргат персептрон, Санамсаргүй ой, Градиент бүүстинг, Ада бүүст загварууд хамгийн оновчтой болохыг эмпирик ажлуудад дурдсан байна. 

0

Ашигласан материал 

0

  1. Alaraj, M., & Abbod, M. (2016). Classifiers consensus system approach for credit scoring. Knowledge-Based Systems, 104.
  2. Andrew, N. (2018). Support Vector Machine. Retrieved from http://cs229.stanford.edu/
  3. Artís, M., Guillen, M., & Martínez, J. (2011). A model for credit scoring: an application of discriminant analysis. Questiio.
  4. Defu , Z., Hongyi , H., Qingshan , C., & Yi , J. (2007). A Comparison Study of Credit Scoring Models. Third International Conference on Natural Computation. IEEE.
  5. Dinesh , B., & Janet , Z. (2017). Machine Learning: Challenges, Lessons, and Opportunities in Credit Risk Modeling. ECONOMIC RISK ASSESSMENT, PORTFOLIO MODELS, 9.
  6. Gaussian Process. (2011). Retrieved from Encyclopedia of Mathematics: URL: http://encyclopediaofmath.org/index.php?title=Gaussian_process&oldid=14281
  7. Gouvêa, M. A., & Gonçalves, E. B. (2007). Credit Risk Analysis Applying Logistic Regression, Neural Networks and Genetic Algorithms Models. POMS 18th Annual conference.
  8. Ha, S., & Nguyen, H.-N. (2016). Credit scoring with a feature selection approach based deep learning. MATEC Web of Conferences, 54. doi:10.1051/matecconf/20165405004
  9. Hart, P., & Cover, T. (1967). Nearest neighbor pattern classification. IEEE Trans Inf Theory 13(1):21–27.
  10. Hasan Dincer, Serhat Yuksel. (2018). Relationship between non performing loans, industry and economic growth of africian economies and policy recommandations for global growth.
  11. Hu, L., Huang, M., & Ke, S. (2016). The distance function effect on k-nearest neighbor classification for medical datasets. 5, 1324. SpringerPlus.
  12. Ioannis , A. (2020). Artificial intelligence and machine learning approaches to energy demand-side response: A systematic review. Renewable and Sustainable Energy Reviews.
  13. kdnuggets. (2019). Where Analytics, Data Science, Machine Learning Were Applied: Trends and Analysis. Retrieved from https://www.kdnuggets.com/2019/03/poll-analytics-data-science-ml-applied-2018.html/2
  14. Kentstate Unversity. (2020). Spss tutorials: Independent samples T test. Retrieved from https://libguides.library.kent.edu/SPSS
  15. Keramati, A., & Yousefi, N. (2011). A Proposed Classification of Data Mining Techniques in Credit Scoring.
  16. Khandani, A., Kim, A., & Lo, A. (n.d.). Consumer Credit-Risk Models Via Machine-Learning Algorithms. Journal of Banking & Finance, 34. doi:10.1016/j.jbankfin.2010.06.001
  17. Levene, H. (1960). Contributions to Probability and Statistics: Essays in Honor of Harold Hotelling. Stanford University Press, 278-292.
  18. myFICO. (2018). How Credit Scoring Helps Me. Retrieved from https://www.myfico.com/credit-education/creditscores/how-scoring-helps-you.
  19. Olatunji, J., Kennedy , O., Adeyinka , A., & Samuel , N. (2017). An improved Bank Credit Scoring Model. International Conference on Computational Science and Computational Intelligence. IEEE.
  20. Olatunji, J., Kennedy , O., Adeyinka , A., Samuel , N., & Osemwegie , O. (2017). An improved Bank Credit Scoring Model. International Conference on Computational Science and Computational Intelligence. IEEE.
  21. Tony, B., & Jonathan , C. (2007). Support vector machines for credit scoring anddiscovery of significant features.
  22. World bank. (2019). Credit Scoring Approaches Guidelines. Washington, DC.
  23. Yajing , Z., Guotai , C., & Zhipeng , Z. (2018). Decision tree for credit scoring and discovery of significant features: an empirical analysis based on Chinese microfinance for farmers. (pp. 1513–1521). P. R. China: Faculty of Sciences and Mathematics.
  24. Yu, L., Yang, Z., & Tang, L. (2016). A novel multistage deep belief network based extreme learning machine ensemble learning paradigm for credit risk assessment. Flexible Services and Manufacturing Journal, 28. doi:10.1007/s10696-015-9226-2
  25. Давгасүрэн, Г. (2020). Статистикийн ямар тест (шинжүүр) хэрэглэх ёстой вэ? Retrieved from esemongolia.wordpress.com: https://esemongolia.wordpress.com/category/spss/
  26. Дагвасүрэн, Г. (2020). Retrieved from Магадлалын үндэс (II хэсэг) | Бизнесийн статистик.
  27. Мөнхзаяа, Б. (2013). Санхүүгийн байгууллагын эрсдэлийн менежмент. Улаанбаатар: Соёмбо Принтинг.
  28. Цолмон, С. (2017). Статистик шинжилгээний зарим арга зүйд тулгуурлан компаний дампуурлыг урьдчилан таамаглах загвар боловсруулах нь.

0

Хавсралт 

0

0

Загваруудын практик ач холбогдлыг харьцуулах ROC муруй (Эх сурвалж: Судлаачийн тооцоолол, Python 3.8 VSCode)

0

Зааглалты түвшингийн ялгаатай байдал дахь таамаглах чадвар

0

Зааглалтын цэг

Өвөрмөц чанар (y = 1)

Мэдрэг чанар (y = 0)

Дундаж

Нийлбэр

0.1

12.50%

100.00%

89.01%

112.50%

0.2

20.83%

100.00%

90.05%

120.83%

0.3

37.50%

100.00%

92.15%

137.50%

0.4

50.00%

100.00%

93.72%

150.00%

0.5

62.50%

100.00%

95.29%

162.50%

0.6

70.83%

98.80%

95.29%

169.64%

0.7

83.33%

94.01%

92.67%

177.35%

0.8

84.50%

91.62%

90.72%

176.12%

0.9

95.83%

80.84%

82.72%

176.67%

0

Эх сурвалж: Судлаачийн тооцоолол

0

0

Сайн болон муу зээлдэгчдийг гурван хэмжээстээр харах нь (Эх сурвалж: Судлаачийн тооцоолол, R-Studio 4.2.2)

0

0

Шийдвэрийн мод (Эх сурвалж: Судлаачийн тооцоолол, Python 3.8 VSCode)

0


 

0

Пайтон Скрипт (Эх сурвалж: Судлаачийн тооцоолол, Python 3.8 VSCode)

0

import pandas as pd 

0

test_sample = pd.read_csv('test_cr.csv')

0

train_sample = pd.read_csv('train_cr.csv')

0

x_test = test_sample.iloc[:, :20]

0

y_test = test_sample.iloc[:, 20]

0

x_train = train_sample.iloc[:, :20]

0

y_train = train_sample.iloc[:, 20]

0

from sklearn.model_selection import train_test_split

0

from sklearn.metrics import accuracy_score

0

from sklearn.metrics import confusion_matrix 

0

from matplotlib import pyplot as plt

0

from sklearn.metrics import plot_roc_curve

0

from matplotlib import pyplot as plt

0

from sklearn.linear_model import LogisticRegression 

0

from sklearn.metrics import plot_roc_curve

0

import matplotlib

0

# Say, "the default sans-serif font is COMIC SANS"

0

matplotlib.rcParams['font.sans-serif'] = "Times new roman"

0

# Then, "ALWAYS use sans-serif fonts"

0

matplotlib.rcParams['font.family'] = "sans-serif"

0

from sklearn.metrics import accuracy_score  

0

from sklearn.tree import DecisionTreeClassifier  

0

from sklearn.tree import plot_tree

0

#DECISION TREE

0

dt = DecisionTreeClassifier(random_state=0)

0

dt.fit(x_train, y_train)

0

ytr_pred = dt.predict(x_train)

0

acctr = accuracy_score(y_train, ytr_pred)

0

print(acctr, confusion_matrix(y_train, ytr_pred))

0

yte_pred = (dt.predict_proba(x_test)[:,1] >= 0.8).astype(bool)  

0

accte = accuracy_score(y_test, yte_pred)

0

print(accte, confusion_matrix(y_test, yte_pred))

0

plt.figure(figsize = (14,8))

0

plot_tree(dt, filled=True)

0

plt.tight_layout()

0

plt.show()

0

#RANDOM FOREST 

0

from sklearn.ensemble import RandomForestClassifier  

0

rf = RandomForestClassifier(n_estimators= 10, random_state=0)

0

rf.fit(x_train, y_train)

0

pred_trrf = rf.predict(x_train)

0

acctr = accuracy_score(y_train, pred_trrf)

0

print(acctr, confusion_matrix(y_train, pred_trrf))

0

pred_terf = rf.predict(x_test)

0

accte = accuracy_score(y_test, pred_terf)

0

print(accte, confusion_matrix(y_test, pred_terf))

0

plt.figure(figsize= (14,9))

0

plot_tree(rf[5], filled = True )

0

plt.tight_layout()

0

plt.show()

0

#LOGIT MODEL

0

model_lor = LogisticRegression(solver='newton-cg', max_iter=1000)

0

model_lor.fit(x_train, y_train)

0

plt.style.use('fivethirtyeight')

0

plot_roc_curve(model_lor, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

#сургалтын түүврийн таамаглах чадвар

0

pred_train = (model_lor.predict_proba(x_train)[:,1] >= 0.5).astype(int) 

0

acc_train = accuracy_score(y_train, pred_train)

0

print(acc_train, confusion_matrix(y_train, pred_train))

0

#тестийн түүврийн таамаглах чадвар

0

lr_test = (model_lor.predict_proba(x_test)[:,1] >= 0.5).astype(int)

0

acc_test = accuracy_score(y_test, lr_test)

0

print(acc_test, confusion_matrix(y_test, lr_test))

0

#загварын параметрүүд

0

model_lor.coef_

0

model_lor.intercept_

0

#LINEAR DISCRIMINANT ANALYSIS

0

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis 

0

model_da = LinearDiscriminantAnalysis()

0

model_da.fit(x_train, y_train)

0

from sklearn.metrics import plot_roc_curve 

0

from matplotlib import pyplot as plt

0

plot_roc_curve(model_da, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

pred_train = (model_da.predict_proba(x_train)[:,1] >= 0.85).astype(int)  

0

acc_train = accuracy_score(y_train, pred_train)

0

print(acc_train, confusion_matrix(y_train, pred_train))

0

lda_test = (model_da.predict_proba(x_test)[:,1] >= 0.80).astype(int)  

0

acc_test = accuracy_score(y_test, lda_test)

0

print(acc_test, confusion_matrix(y_test, lda_test))

0

#загварын параметрүүд

0

model_da.coef_

0

model_da.intercept_

0

#K NEAREST NEIGHBOR

0

from sklearn.neighbors import KNeighborsClassifier

0

lst = []

0

for x in range(1,25):

0

    knn = KNeighborsClassifier(n_neighbors = x)

0

    knn.fit(x_train, y_train)

0

    prediction = knn.predict(x_test)

0

    acc_knn = accuracy_score(y_test, prediction)

0

    lst.append(acc_knn)

0

from matplotlib import pyplot as plt  

0

plt.plot(range(1,25), lst)

0

plt.xlabel('k value')

0

plt.ylabel('accuracy')

0

plt.show()

0

knn = KNeighborsClassifier(n_neighbors = 15)

0

knn.fit(x_train, y_train)

0

plot_roc_curve(knn, x_train, y_train)

0

plt.show()

0

knn_train = (knn.predict_proba(x_train)[:,1] >= 0.80).astype(int)  

0

kacc_train = accuracy_score(y_train, knn_train)

0

print(kacc_train, confusion_matrix(y_train, knn_train))

0

knn_test = (knn.predict_proba(x_test)[:,1] >= 0.80).astype(int)  

0

kacc_test = accuracy_score(y_test, knn_test)

0

print(kacc_test, confusion_matrix(y_test, knn_test))

0

#GRADIENT BOOSTING

0

from sklearn.ensemble import GradientBoostingClassifier

0

model_gb = GradientBoostingClassifier()

0

model_gb.fit(x_train, y_train)

0

plot_roc_curve(model_gb, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

pred_gbtr = (model_gb.predict_proba(x_train)[:,1] >= 0.7).astype(int) 

0

acc_gbtr = accuracy_score(y_train, pred_gbtr)

0

print(acc_gbtr, confusion_matrix(y_train, pred_gbtr)) 

0

pred_gbte = (model_gb.predict_proba(x_test)[:,1] >= 0.5).astype(int) 

0

acc_gbte = accuracy_score(y_test, pred_gbte)

0

print(acc_gbte, confusion_matrix(y_test, pred_gbte)) 

0

#ADABOOST

0

from sklearn.ensemble import AdaBoostClassifier   

0

model_ada = AdaBoostClassifier()

0

model_ada.fit(x_train, y_train)

0

plot_roc_curve(model_ada, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

pred_adatr = (model_ada.predict_proba(x_train)[:,1] >= 0.5).astype(int) 

0

acc_adatr = accuracy_score(y_train, pred_adatr)

0

print(acc_adatr, confusion_matrix(y_train, pred_adatr)) 

0

pred_adate = (model_ada.predict_proba(x_test)[:,1] >= 0.7).astype(int) 

0

acc_adate = accuracy_score(y_test, pred_adate)

0

print(acc_adate, confusion_matrix(y_test, pred_adate)) 

0

#NAIVE BAYES

0

from sklearn.naive_bayes import GaussianNB

0

model_nb = GaussianNB()

0

model_nb.fit(x_train, y_train)

0

plot_roc_curve(model_nb, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

pred_nbtr = (model_nb.predict_proba(x_train)[:,1] >= 0.80).astype(int) 

0

acc_nbtr = accuracy_score(y_train, pred_nbtr)

0

print(acc_nbtr, confusion_matrix(y_train, pred_nbtr)) 

0

pred_nbte = (model_nb.predict_proba(x_test)[:,1] >= 0.80).astype(int) 

0

acc_nbte = accuracy_score(y_test, pred_nbte)

0

print(acc_nbte, confusion_matrix(y_test, pred_nbte)) 

0

#MULTI-LAYER PERCEPTRON

0

from sklearn.neural_network import MLPClassifier

0

model_mlp = MLPClassifier(random_state= 1)

0

model_mlp.fit(x_train, y_train)

0

plot_roc_curve(model_mlp, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

pred_train = (model_mlp.predict_proba(x_train)[:,1] >= 0.6).astype(int) 

0

acc_train = accuracy_score(y_train, pred_train)

0

print(acc_train, confusion_matrix(y_train, pred_train)) 

0

pred_mlp = (model_mlp.predict_proba(x_test)[:,1] >= 0.5).astype(int) 

0

acc_mlp = accuracy_score(y_test, pred_mlp)

0

print(acc_mlp, confusion_matrix(y_test, pred_mlp))

0

model_mlp.coefs_

0

model_mlp.intercepts_

0

## SUPPORT VECTOR MACHINE 

0

from matplotlib import pyplot as plt

0

from sklearn.metrics import plot_roc_curve

0

from sklearn.svm import LinearSVC

0

model_svm = LinearSVC(random_state=1)

0

model_svm.fit(x_train, y_train)

0

plot_roc_curve(model_svm, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

pred_svmtr = model_svm.predict(x_train)

0

acc_svmtr = accuracy_score(y_train, pred_svmtr)

0

print(acc_svmtr, confusion_matrix(y_train, pred_svmtr)) 

0

pred_svmte = model_svm.predict(x_test)

0

acc_svmte = accuracy_score(y_test, pred_svmte)

0

print(acc_svmte, confusion_matrix(y_test, pred_svmte)) 

0

#GaussianProcessClassifier

0

from sklearn.gaussian_process import GaussianProcessClassifier

0

from sklearn.datasets import load_iris

0

from sklearn.gaussian_process import GaussianProcessClassifier

0

from sklearn.gaussian_process.kernels import RBF

0

# kernel = 1.0 * RBF(1.0)

0

gp = GaussianProcessClassifier(random_state=1)

0

gp.fit(x_train, y_train)

0

plot_roc_curve(gp, x_test, y_test)

0

plt.tight_layout()

0

plt.show()

0

pred_gptr = (gp.predict_proba(x_train)[:,1] >= 0.5).astype(int) 

0

acc_gptr = accuracy_score(y_train, pred_gptr)

0

print(acc_gptr, confusion_matrix(y_train, pred_gptr)) 

0

pred_gpte = (gp.predict_proba(x_test)[:,1] >= 0.5).astype(int) 

0

acc_gpte = accuracy_score(y_test, pred_gpte)

0

print(acc_gpte, confusion_matrix(y_test, pred_gpte)) 

0

#DISCRIMINANT ANALYSIS

0

from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis 

0

model_daq = QuadraticDiscriminantAnalysis()

0

model_daq.fit(x_train, y_train)

0

from sklearn.metrics import plot_roc_curve 

0

from matplotlib import pyplot as plt

0

plot_roc_curve(model_daq, x_train, y_train)

0

plt.tight_layout()

0

plt.show()

0

predq_train = (model_daq.predict_proba(x_train)[:,1] >= 0.85).astype(int)  

0

accq_train = accuracy_score(y_train, predq_train)

0

print(accq_train, confusion_matrix(y_train, predq_train))

0

predq_test = (model_daq.predict_proba(x_test)[:,1] >= 0.85).astype(int)  

0

accq_test = accuracy_score(y_test, predq_test)

0

print(accq_test, confusion_matrix(y_test, predq_test))

0

#загварын параметрүүд

0

model_da.coef_

0

model_da.intercept_

0

#creating plots

0

from sklearn.metrics import roc_curve, auc

0

svm_fpr, svm_tpr, threshold = roc_curve(y_test, pred_svmte)

0

auc_svm = auc(svm_fpr, svm_tpr)

0

dt_fpr, dt_tpr, threshold = roc_curve(y_test, yte_pred)

0

auc_dt = auc(dt_fpr, dt_tpr)

0

rf_fpr, rf_tpr, threshold = roc_curve(y_test, pred_terf)

0

auc_rf = auc(rf_fpr, rf_tpr)

0

logistic_fpr, logistic_tpr, threshold = roc_curve(y_test, lr_test)

0

auc_logistic = auc(logistic_fpr, logistic_tpr)

0

da_fpr, da_tpr, threshold = roc_curve(y_test, lda_test)

0

auc_da = auc(da_fpr, da_tpr)

0

knn_fpr, knn_tpr, threshold = roc_curve(y_test, knn_test)

0

auc_knn = auc(knn_fpr, knn_tpr)

0

gb_fpr, gb_tpr, threshold = roc_curve(y_test, pred_gbte)

0

auc_gb = auc(gb_fpr, gb_tpr)

0

ada_fpr, ada_tpr, threshold = roc_curve(y_test, pred_adate)

0

auc_ada = auc(ada_fpr, ada_tpr)

0

nb_fpr, nb_tpr, threshold = roc_curve(y_test, pred_nbte)

0

auc_nb = auc(nb_fpr, nb_tpr)

0

mlp_fpr, mlp_tpr, threshold = roc_curve(y_test, pred_mlp)

0

auc_mlp = auc(mlp_fpr, mlp_tpr)

0

gp_fpr, gp_tpr, threshold = roc_curve(y_test, pred_gpte)

0

auc_gp = auc(gp_fpr, gp_tpr)

0

qda_fpr, qda_tpr, threshold = roc_curve(y_test, predq_test)

0

auc_qda = auc(qda_fpr, qda_tpr)

0

plt.style.use('ggplot')

0

plt.figure(figsize=(5, 5), dpi=100)

0

plt.plot(da_fpr, da_tpr, linestyle='-', label='Шугаман дискриминант шинжилгээ (auc = %0.3f)' % auc_da)

0

plt.plot(logistic_fpr, logistic_tpr, marker='.', label='Ложистик регресс (auc = %0.3f)' % auc_logistic)

0

plt.plot(dt_fpr, dt_tpr, marker='*', label='Шийдвэрийн мод (auc = %0.3f)' % auc_dt)

0

plt.plot(rf_fpr, rf_tpr, marker='*', label='Санамсаргүй ой (auc = %0.3f)' % auc_rf)

0

plt.plot(svm_fpr, svm_tpr, marker='*', label='Дэмжих вектор машин (auc = %0.3f)' % auc_svm)

0

plt.plot(knn_fpr, knn_tpr, marker='*', label='К хамгийн ойр хөрш (auc = %0.3f)' % auc_knn)

0

plt.plot(gb_fpr, gb_tpr, marker='*', label='Градиент бүүстинг (auc = %0.3f)' % auc_gb)

0

plt.plot(ada_fpr, ada_tpr, marker='*', label='Ада бүүст (auc = %0.3f)' % auc_ada)

0

plt.plot(nb_fpr, nb_tpr, marker='*', label='Гауссын найвь байес (auc = %0.3f)' % auc_nb)

0

plt.plot(mlp_fpr, mlp_tpr, marker='*', label='Ньюрал сүлжээ (auc = %0.3f)' % auc_mlp)

0

plt.plot(gp_fpr, gp_tpr, marker='*', label='Гауссын процесс (auc = %0.3f)' % auc_gp)

0

plt.plot(qda_fpr, qda_tpr, marker='*', label='Квадрат дискриминант шинжилгээ (auc = %0.3f)' % auc_qda)

0

plt.xlabel('FPR')

0

plt.ylabel('TPR')

0

plt.title('Шалгах түүвэрт хийсэн ROC муруйн харьцуулалт')

0

plt.legend()

0

plt.tight_layout()

0

plt.show()

0

Мэдэгдэх

0

0

×

Саналууд

Санал бичих

Таалагдаж байна

Таалагдахгүй байна

Нэр томъёо оруулаагүй байна.

Хэлэлцүүлгийн Like/dislike

Хэлэлцүүлэг үзсэн