application des réseaux de neurones artificiels en finance

33
Application des R´ esaeaux de Neurones en Finance Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Universit´ e Cadi Ayyad,Facult´ e des Sciences et Techniques de Marrakech,Ing´ enieurie en Actuariat et Finace 1 er evrier 2015 Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des R´ esaeaux de Neurones en Finance

Upload: youssef-lamrani

Post on 18-Jul-2015

266 views

Category:

Data & Analytics


14 download

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

Figure: une partie de base de donnees d’etude

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

ANN toolbox sous MATLAB

Lamrani Alaoui Youssef Mohamed Ali Khouaja Rachid Ait Lhaj Application des Resaeaux de Neurones en Finance