Application à la droite de régression

Accueil

Applications aux fonctions financières

Propagation d'erreur sur une fonction de plusieurs variables

3 Application à l'inversion de matrice

1 Algorithmes

2 Application à la droite de régression

3 Application à l'inversion de matrice

4 Application aux fonctions financières


  L'algorithme classique est facilement applicable à l'inversion des matrices 2x2, au delà seule la simulation numérique permettra de vérifier les résultats de l'algorithme aux différences finies.


  Considérons une matrice carrée n,n dont tout ou partie des éléments Aij sont affectés d'erreurs statistiques aij, inverser cette matrice n'aura de sens que si l'on sait évaluer l'influence des n2 erreurs aij sur chacun des éléments de la matrice inverse Bijbij

  L'erreur bij est une fonction de chaque élément Aij et de son erreur aij. L'application de la l'algorithme aux dérivées partielles

conduirait à des calculs inextricables, sauf pour les matrices 2x2 (ou 3x3 ?).

  La méthode des différences finies s'impose donc. Une l'étude statistique portant sur l'inversion de quelques centaines de matrices, identiques à A ( aux erreurs près ), permettra de juger la validité du procédé.

   Appliquée à l'inversion de matrice, la méthode aux différences finies s'exprime par :

où B'i,j est l'élément d'indices i,j de l'inverse d'une matrice A' identiques à A excepté le terme Ap,q qui est augmenté de ap,q/k


3.1 Inversion d'une matrice 2x2

  Les calcul sont simples et la loi de propagation des erreurs facilement applicable: les résultats des deux méthodes sont comparables

Comparaison entre la méthode classique et les différences finies

  Soit B la matrice carrée 2x2 inverse d'une matrice A donnée dont chaque élément Aij est affecté d'une erreur d'écart type aij. On aura donc:

  Les éléments de B vaudront:

  La méthode classique se traduit ici par :

et donne les 4 écart types des éléments de la matrice inverse:

Application numérique

  Sur un exemple particulièrement simple on remarquera que l'inversion conduit à de fortes augmentations des écarts types

en parfait accord avec le calcul par les différences finies

  La méthode classique serait difficilement applicable aux matrices de tailles supérieures : l'alternative des différences finies prend alors toute son importance.


3.2 Inversion d'une matrice 5x5

  L'algorithme aux dérivées partielles est manifestement inapplicable, seule une statistique sur une série de simulation numérique permet une comparaison.

  L'algorithme Box-Muller permet de réaliser un générateur de variables aléatoires à partir d'un générateur de nombres aléatoires uniformément répartis :

Sin(2 * Pi * Rnd) * Sqr(-2 * Log(Rnd))

  Avant inversion, l'algorithme Box-Muller est utilisé pour affecter chacun des termes de la matrice d'une erreur aléatoire, de distribution gaussienne centrée sur la valeur nominale avec un écart type égal au millionième de cette valeur.

  La simulation porte sur l'inversion de 10.000 matrices semblables, dont chacun des éléments est affecté d'une variation aléatoire d'écart type égale au millionième de la valeur nominale.

  On notera :
  - l'excellente concordance entre les deux méthodes
  - l'importance des erreurs relatives des éléments de la matrice inversée, malgré la précision des éléments de la matrice initiale, ceci souligne la nécessité du calcul d'erreur dans l'interprétation de résultats expérimentaux
  - la rapidité de l'algorithme aux différences finie : quand un peu plus de la milliseconde suffit pour une matrice 5x5 , la simulation en nécessite 781. En effet la première se contente 26 inversions alors que la seconde en exige 10.000 pour atteindre une précision comparable.


3.3 Inversion des matrices de grandes dimensions

  La durée d'une inversion croît sensiblement avec la carré de la dimension d'une matrice. Avec l'algorithme aux différences finies, le nombre de substitution et donc d'inversions à effectuer croît aussi avec le carré de la taille de cette matrice: la durée du calcul d'erreur sera donc proportionnelle à la quatrième puissance de la taille de la matrice à inverser.

  Le temps de calcul sera largement abaissé en limitant les substitutions à une sélection représentative d'éléments. Ainsi, à échantillonnage constant, la durée d'une opération restera proportionnelle au carré de la dimension. Naturellement, ceci suppose que tous les éléments ont des incidences semblables sur la propagation d'erreur.

  Cet artifice sera manié avec prudence, ainsi, dans l'exemple ci-dessus, en limitant les calcul aux 5 éléments de la diagonale secondaire, la durée est divisée par 4 tout en conservant une évaluation correcte des erreurs :

  La même opération, conduite sur les éléments de la ligne médiane donne des valeurs semblables, en revanche en opérant avec les élément de la colonne médiane ou pire ceux de la  diagonale principale, les résultats sont moins satisfaisants.

  Il est aussi possible de sélectionner façon aléatoire: un élément au hasard dans chaque colonne ou chaque ligne ... et de vérifier statistiquement le bien fondé du procédé.

  Les critères de sélection des éléments impliqués jouant un rôle essentiel sur la fiabilité des erreurs ainsi calculées, ce procédé accéléré se justifiera seulement pour des séries très grandes matrices.


Extraire la page pour l'enregistrer ou l'imprimer