application des réseaux de neurones artificiels en finance
Post on 18-Jul-2015
266 Views
Preview:
TRANSCRIPT
Application des Resaeaux de Neurones en Finance
Lamrani Alaoui YoussefMohamed Ali Khouaja
Rachid Ait Lhaj
Universite Cadi Ayyad,Faculte des Sciences et Techniques deMarrakech,Ingenieurie en Actuariat et Finace
1er fevrier 2015
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Introduction generale
Pour faire face aux differents risques qui nuisent leursstabilites les banques cherchent en permanence a ameliorerleurs systemes de surveillance et a prendre plus de precaution
Le defit des banques aujourd’hui est la specification desmodeles les plus robustes Permettant l’amelioration de laprecision de la mesure du risque de credit.
Dans le cadre de notre projet l’objectif principal est deconstruire un modele de scoring pour la prediction de risquede defauts des particuliers d’une entreprise americaine en sebasant sur une technique de l’intelligence artificielles a savoirles reseaux de neurones
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Introduction generale
Un des problemes principaux auxquels font face les banquesc’est leur incapacite a determiner avec certitude si le client vahonorer ses engagements et rembourser l’emprunt en totalite,ou s’il va simplement faire defaut. Le scoring a ete developpedans cette optique, avec des outils de plus en plus pointus.
En resume, il s’agit de detecter les ” mauvais payeurs ” a partird’une serie de caracteristiques mesurees sur des individus, envue d’accorder ou refuser un pret financier.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
presentation de la base donnee d’etude
Notre base de donnees d’etudes est constituee d’un echantillon de5960 individus et 13 variables importees de la bibliotheque SAS dela base de donnees SAMPSIO.HMEQ. Il y a des variables qui sontpropres aux clients et des autres relatives au credit. Le tableausuivant decrit les differentes variables et aussi leurs roles.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
l’exploration et le traitement des donneesPresentation des donnees
variable description
BAD 0 si le client a rembourse sa dette et 1 sinon
CLAG l’age de credit le plus ancien par mois
CLNO le nombre de credits
DEBTINC taux de credit -a-revenu
DELINQ nombre de credits non rembourses
DEROG nombre d’etats derogatoires principaux
JOB categorie professionnelle du client
LOAN montant du credit
YOJ Anciennete du travail le plus recent
VALUE la valeur de la propreite
MORTDUE montant du sur l’hypotheque existante
NINQ nombre d’enquetes recentes de degre de solvabilite
REASON Debtcon 1 HomeImp 2
1. credit de consolidation2. credit immobilier
0 1
BAD
qualité de client
010
0020
0030
0040
00
DebtCon HomeImp
RAISON
010
0020
0030
0040
00
Figure: representation de la variable BAD et REASON
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
% d’observations
debtcon 68.4
homeImp 31.6
Table: % des modalites de la variables REASON
% d’observations
0 80.1
1 19.9
Table: %des modalites de la variables BAD
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Comme tout projet de data mining on doit suivre les phases deconstruction des modeles suivantes :
1 L’exploration et le traitement des donnees et ce afin deselectionner les variables les plus discriminantes
2 Elaboration du modele predictif en fonctions des variablesdiscriminantes et en utilisant les reseaux de neurones
3 validation du modele en se basant sur des indicateurs devalidation comme la corbe ROC et le taux de bon classement
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
l’exploration et le traitement des donnees
une fois ces etapes sont realise on on conclue que :
le pourcentage des donnees manquantespour la variableDEBTINC depasse 21% alors on va renoncer a l’exploiter.pourles autres variables on fait appel au package (mice) de R etqui va nous permettre de faire une imputation multiple.
il y a une forte correlation entre la variables MORTDUT etVALUE d’ou l’importance d’eliminer l’une des deux afind’eviter toute redondance d’information, on a opte pourL’elimination de MORTDUT.Pour les variables qualitatives leV de Cramer ne detecte aucune correlation entre elles.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
> data<-read.table("fichier3.txt",head=T)
> #lire la base de donnees
> data<-subset(data,select=-c(2))
> #suppression de la variables MORTDUT
> data<-subset(data,select=-c(7))
> #supprimer la variable DEBTINC
> data$BAD<-factor(data$BAD)
> #faire comprendre au logiceil
> #que la variable BAD est binaire
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
La detection des variables les plus discriminantes
Cette phase est interessant avant l’elaboration des modelespredictifs, une telle tache est effectuee par un test de comparaisondes moyennes ou des medians pour les variables quantitatives, testde khi-deux et le coefficient v de cramer pour les variablesqualitatives, une selection automatique est aussi disponible sous Ret qui se base sur la minimisation des deux criteres AIC et BIC
Selection automatique des variables
la selection des variables pourra s’effectuer automatiquement en sebasant sur des differentes methodes Backward,Forward ouStepwise. En generale la methode Stepwise donne le meilleurresultat, pour notre cas elle a selectionne toutes les variables, leresultat de de cette methode est donne dans le tableau suivant :
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
La detection des variables les plus discriminantes
etape AIC Variableajoutee2 5071.73 CLAG3 4906.01 DEROG4 4855.24 NINQ5 4807.48 JOB6 4785.45 LOAN7 4776.68 REASON8 4769.15 VALUE9 4766.19 YOJ10 4763.52 CLNO
Table: selection automatique des variables
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Construction des echantillons test et d’apprentissage
on divise la population en deux sous populations : unepremiere qui comprend 65% de la population : on l’appelleechantillon d’apprentissage et le 35% restantes constituentl’echantillon test.
Le premier echantillon permet de modeliser le modele et deconstruire les regles d’affectation d’un individu selon sescaracteristiques.
l’echantillon test a pour objectif de verifier si le modele fondesur l’echantillon d’apprentissage est statistiquement fiable.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
La detection des variables les plus discriminantes
> set.seed(12345)
> d = sort(sample(nrow(data), nrow(data) * 0.65))
> appren <- data[d, ]
> # Echantillon de test
> test <- data[-d, ]
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Elaboration du modeles predictif
Les reseaux de neurones sont des outils puissants pour prediredes phenomenes non lineaires.
Les predicteurs X1, X2, ..., Xp sont generalement numeriques.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Parametres de complexite
Le modele depend de plusieurs parametres :
1 l’architecture du reseau : nombre de couches cachees (une oudeux en general) et le nombrede neurones par couche
2 le nombre d’iteration, l’erreur maximale toleree
Les parametres de reglage sont difficiles a definircorrectement.dans notre cas nous voulons experimenter unmodele de type perceptron multicouche(MLP) avec en entreedes variables explicatives numeriques et qualitatives et ensortie la variable binaire (BAD) a prevoir.
La librairie nnet sous R est limitee aux perceptrons a une seulecouche cachee, mais cela est theoriquement suffisant pourapprocher n’importe quelle fonction a condition d’inserersuffisamment de neurones.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Nous avons choisi les differents parametres du MLP a la main ,grace la fonction tune.nnet de R qui a nous permet de fixer nombrede neurones de la couche cachee ainsi que le parametre deregularisation decay en 0.1,autrement on a augmente le nombremaximum d’iterations afin de garantir la Convergence de Notrealgorithme.
> library(nnet)
> set.seed(06072012)
> model = nnet(BAD ~ ., data =appren, size = 5,
+ decay = 0.001,maxit=300)
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
> library(e1071)
> tune.model = tune.nnet(BAD ~ ., data = appren,
+ size = c( 3, 5),decay = c(0.1, 0.001))
> tune.model
Parameter tuning of 'nnet':
- sampling method: 10-fold cross validation
- best parameters:
size decay
5 0.001
- best performance: 0.1396528
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
> plot(tune.model)
0.140
0.142
0.144
0.146
0.148
3.0 3.5 4.0 4.5 5.0
0.02
0.04
0.06
0.08
0.10
Performance of `nnet'
size
deca
y
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Validation du modele
L’Evaluation des performances d’un modele de prediction est uneetape primordiale qui s’effectue via plusieurs ndicateurs : la matricede confusion,le taux de bon classement,la courbe ROC et la surfacesous cette courbe .
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
Matrice de confusion et le taux de bon classement
la matrice de confusion permet de comparer les valeurs predites parle modele avec les valeurs observees :Le taux de bon classement est le taux d’instances biens classees(TBC) ,il represente la proportion de vrais cas : vrais positifs etvrais negatifs dans la population.
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
> pred_RN = predict(model, newdata = test,type="class")
> #prediction de la qualite de nouveaux clients
> mat = table(pred_RN,test$BAD) # matrice de confusion
> print(mat)
pred_RN 0 1
0 1654 244
1 31 157
> taux = sum(diag(mat))/sum(mat)
> #taux de bon classement
> print(taux)
[1] 0.8681687
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
La courbe ROC
la courbe ROC resume les performances de toutes les regles declassement que l’on peut obtenir en faisant varier le seuil dedecision
> require(ROCR)
> pred = predict(model, newdata = test)
> predict<-prediction(pred[,1],test$BAD)
> perf6 <- performance(predict,"tpr","fpr")
> plot(perf6,colorize=TRUE,main="ROC Reseaux de neurones")
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ROC Réseaux de neurones
False positive rate
True
pos
itive
rat
e
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
00.
20.
40.
60.
81
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
la surface sous la courbe ROC
La surface situee sous la courbe ROC notee AUC, c’est une mesurede la performance d’un score,et la qualite de discrimination dumodele en traduisant la probabilite qu’un bon client aura un scoresuperieure au score d’un mauvais client,Elle varie entre 0 et 1 enpratique 0.5 et 1, car si AUC < 0.5, cela signifie que les scores ontete inverses. La valeur de AUC du modele est la suivante :
> auc_rn<-performance(predict,"auc")
> attr(auc_rn,"y.values") #calcul de l'AUC> 0.8073437
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ANN toolbox sous MATLAB
En utilisant l’outil ANN toolbox sous MATLAB, on verra commentpredir, a partir des donnees du marche, les prix des actifs (Googlecomme exemple).
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ANN toolbox sous MATLAB
Nous savons que RNA dependent des donnees de l’entree, unedependance qui peut etre non lineaire pour produire la sortie. Nousallons ainsi voir comment lier cet outil au reseau internet afin depouvoir predire en se basant sur des donnees actualisees.
Nous allons nous recourir au site finance.yahoo.com pourtelecharger l’historique des prix et pouvoir ainsi analyser l’actifGoogle (GOOG)
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ANN toolbox sous MATLAB
L’implementation est simple :
On retient juste le cours d’ouverture et la ligne de tempscomme Entrees.Programmer le cours de cloture comme Sortie
Pour commencer, on telecharge l’historique des cours du 1erjanvier 2012 jusqu’aujourd’hui
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ANN toolbox sous MATLAB
On retient le fichier excel de type ”.csv”
Ensuite, on prepare la base de donnees a etre utiliser sousMATLAB. Pour ce faire, on trie les donnees par date
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ANN toolbox sous MATLAB
Ensuite, on importe le fichier .csv en MATLAB
uiopen(′C : /Users/med/Downloads/tablegoog .csv ′, 1)
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
ANN toolbox sous MATLAB
On peut meme generer une fonction pour notre modele RNA
Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance
top related