l’étude des défaillances des systèmes — essentiellement des produits manufacturés (mécanique, électronique, génie civil…) Wikipedia
l’aptitude d’un dispositif à accomplir une fonction requise, dans des conditions données d’utilisation et de maintenance, pendant une durée donnée. (Norme X05-501)
Mathématiquement, la probabilité, dans certaines conditions de fonctionnement, qu’un article, produit, machine ou équipement exécute une fonction requise pendant une période de temps donnée. En d’autres termes, il s’agit de la probabilité de non-défaillance dans le temps. Cette fonction est notée \(R\) pour Reliability
\[R(t)=Pr(T>t)\] (où T est la variable aléatoire qui associe le temps de bon fonctionnement.)
L’analyse de survie est particulièrement utile pour diagnostiquer les défaillances, imprévues ou prématurées. De plus cette analyse permet de déterminer les périodes de garantie afin d’éviter les coûts de réparations ou de remplacements excessifs.
Waloddi Weibull a inventé la distribution qui porte son nom en 1937 et a livré son article emblématique sur ce sujet il y a 70 ans en septembre 51 devant l’ASME (American Society of Mechanical Engineers). Il illustra son exposé avec sept exemples allant de la résistance de l’acier à la taille des hommes adultes dans les îles Britanniques… [Waloddi Weibull] “A Statistical Distribution Function of Wide Applicability”, ASME Joumal Of Applied Mechanics Paper, 1951.
Waloddi Weibull (1887-1979)
L’avantage de sa distribution est qu’elle s’applique à un large éventail de problèmes y compris ceux avec des taux de défaillances croissants, constants ou décroissants. Les anomalies sont mises en évidence par des graphiques qui aident les ingénieurs à diagnostiquer les causes premières des défaillances.
L’étude des défaillances des systèmes ou des durées de vie a pour objectif de répondre à des questions du type :
Ce système présentera t-il des défaillances avant six mois?
Ce produit répondra t-il aux attentes qualité ?
Après combien de temps ce produit sera t-il altéré dans sa fonction ?
La conception est-elle à revoir ?
Si nous constatons sur un composant, 3 pannes sur une période de 3 mois ; Combien de défaillances auront nous le prochain trimestre, semestre ?
Pour commander des pièces de rechange et planifier la main d’œuvre de maintenance, combien d’unités seront renvoyées au dépôt pour révision pour chaque mode de défaillance et à quelle fréquence ?
Le gestionnaire peut-il être sûr à 95% qu’il disposera de suffisamment de pièces de rechange et de mains d’œuvre pour soutenir l’ensemble du programme de production ?
Après une modification technique, combien d’unités doivent être testées sans échec et pendant combien de temps pour être sûr à 95% que l’ancien mode de défaillance est éliminé ou considérablement amélioré ?
Si le coût d’une défaillance non planifiée est de vingt fois le coût d’un remplacement prévu. Quelle est la périodicité de remplacement optimale ?
Si le taux d’échec dépasse 2% pendant la période de garanti nous serons couverts. Sur la base des données historiques à quelle date cela se produira t-il ?
Bien que dans les années 50 sa méthode fut contestée (Weibull lui même était assez scéptique… ) aujourd’hui, l’analyse de Weibull est très utilisée pour l’ajustement et l’analyse des données de durée de vie. L’U.S. Air Force a reconnu le mérite de la méthode de Weibull et a financé ses recherches.
Le principal avantage de l’analyse de Weibull est sa capacité à fournir un modèle raisonnablement précis avec de faibles échantillons.
Weibulll a mis l’accent en particulier sur la polyvalence de sa distribution, en effet elle dépend de trois paramètres, \(\beta\), \(\eta\) et \(\gamma\)
\[R(t)=e^{-(\frac{t-\gamma}{\eta})^{\beta}}\]
Ainsi de nombreuses formes de distributions sont décrites par Weibull (exactement ou par approximation hormis le log-normal qui est aussi très utilisé en analyse de survie) comme la loi Normale, exponentielle, Rayleigh et même Poisson
Le paramètre \(\beta\) s’appelle le paramètre de forme car il détermine l’allure de la courbe du taux de défaillance.
Le paramètre \(\eta\) est le paramètre d’échelle ou durée de vie caractéristique.
\(\gamma\geq0\) correspond à une apparition retardée de la première défaillance (nous y reviendrons).
La MTTF (Temps moyen de fonctionnement avant panne) est égale à \(\eta\) si \(\beta=1\)
Dans le cas général ils sont reliés par : \(MTTF=\eta\cdot\Gamma(1+\frac{1}{\beta})\)
La MTBF, le temps moyen entre pannes (Mean Time Between Failures), ne doit pas être confondu avec le MTTF (Mean time to failure), temps moyen avant défaillance. La MTBF est estimée en divisant le temps de fonctionnement total de toutes les unités par le nombre de pannes observées. Ce sont des paramètres différents, mais égaux lorsqu’il n’y a pas de suspensions (en français on parle de données censurées). Sinon, ils peuvent être très différents.
La MTBF est utilisée avec des systèmes réparables.
(Image de Seongwoo Woo https://www.researchgate.net/publication/334205633)
Il faut réfléchir sur les données, car ce sont elles qui détermineront les paramètres. Comme toute analyse, la précision dépend de la quantité et de la qualité des données analysées. Dans une analyse de Weibull il y a deux catégories de données : les temps de défaillance (TTF) et les données censurées ou suspendues.
Les données sont des intervalles de l’unité considérée (celle caractérisant la durée de vie du produit).
Nous avons par exemple : des durées de vie avant défaillance, le nombre de cycles démarrages/arrêts, atterrissages/décolages, les cycles de fatigue, le kilométrage…
Il faut choisir le bon paramètre de vieillissement. Ce qui n’est pas toujours évident. Par exemple pour l’érosion de l’aube d’une turbine à vapeur, devons nous tenir compte du temps de fonctionnement ou plutôt des cycles d’utilisation à telle ou telle température ?… Cela demande des connaissances en ingénierie. Dans ce cas les graphiques de Weibull sont indispensables, le meilleur paramètre de vieillissement sera celui qui nous donnera le meilleur ajustement à une droite.
Il est fréquent aussi que les durées de vie ne soient pas disponibles et que nous n’ayons à notre disposition que les dates des retours clients et pas l’âge exact de fonctionnement… Ces données sont des “dirty data”, par exemple est-il pertinent de ne considérer que le kilométrage d’une voiture au lieu du nombre d’arrêts/démarrages ?
Il est également nécessaire de tenir compte des données censurées (ou tronquées). En effet nous n’avons pas toujours accès à toute l’information, on constate des états qui sont souvent le résultat de diverses perturbations, indépendantes ou non du phénomène étudié. On parle de données censurées à droite si à la date \(T\) il n’y a toujours pas eu de défaillance et que nous arrêtons l’étude. On parle de données censurées à gauche si à une certaine date \(T\) on fait le constat que le dispositif est défaillant mais on ignore à quel moment a eu lieu cette défaillance avant \(T\). On parle de données censurées par intervalle si on sait seulement que le dispositif a eu une défaillance entre deux dates inconnues.
L’omission de données censurées produit des résultats qui sous-estiment la fiabilité réelle de l’élément analysé.
Nous inspectons des rivets d’étanchéité d’un compresseur. Nous avons constaté que sur certains rivets la partie évasée du rivet était manquante.
Un test accéléré en laboratoire utilisant les anciens rivets a permis d’établir une méthode. Les résultats sont présentés dans le tableau ci-dessous. Les numéros de série des rivets 3, 6 et 7 sont considérés comme des défaillances non représentatives (“Suspensions”) car ils ont été produits par deux autres modes de défaillance et non pas le mode de défaillance spécifique étudié.
Numéro | Failure time (mn) | Remarque |
---|---|---|
1 | 90 | F (failure) |
2 | 96 | F |
3 | 100 | S |
4 | 30 | F |
5 | 49 | F |
6 | 45 | S |
7 | 10 | S |
8 | 82 | F |
En première analyse ces trois défaillances seront ignorées (elles sont censurées, “suspensions” à droite) mais seront correctement prises en compte par la suite. Il reste donc cinq points d’échec pour la défaillance.
Pour estimer les fréquences des défaillances l’approximation de [Benard] dite méthode des rangs médians (Benard’s Median Rank) est la plus populaire (Voir [Johnson 1964]).
\[ Benard's Median Rank = \frac{i-0.3}{N+0.4} \]
Nous obtenons :
i | Failure time t | Median Rank % |
---|---|---|
1 | 30 | 12.96 |
2 | 49 | 31.48 |
3 | 82 | 50 |
4 | 90 | 68.52 |
5 | 96 | 87.04 |
Que nous pourrions retrouver avec R par :
ppoints(1:5,a=0.3)
## [1] 0.1296296 0.3148148 0.5000000 0.6851852 0.8703704
Précédemment nous avions ignoré certaines données (celles “censurées”). Or ces données ont une influence même si elles ne sont pas tracées. L’ordre de classement et les rangs médians doivent être ajustés en tenant compte de ces données censurées.
Leonard Johnson a donné une méthode qui tient compte des données censurées, puis elle fut améliorée et simplifiée par Drew Auth (voir page 52).
Formule d’ajustement des rangs :
On note \(RA(i)\) : Rang Ajusté au rang \(i\)
\(RA(i)=\frac{s(t)RA(i-1)+N+1}{s(t)+1}\) (où \(s\) donne le nombre de “survivants” à \(t\))
i | t | S(t) | RA | Rang médian |
---|---|---|---|---|
1 | 10S | 8 | Suspended | |
2 | 30F | 7 | (7x0+8+1)/(7+1)=1.125 | 9.8% |
3 | 45S | 6 | S | |
4 | 49F | 5 | 2.438 | 25.5% |
5 | 82F | 4 | 3.750 | 41.1% |
6 | 90F | 3 | 5.063 | 56.7% |
7 | 96F | 2 | 6.375 | 72.3% |
8 | 100S | 1 | S | |
Là encore nous retrouvons facilement ces résultats avec le package WeibullR
library(WeibullR)
failures<-c(30,49,82,90,96)
suspensions<-c(10,45,100)
(getPPP(failures,suspensions))
## time ppp adj_rank
## 1 30 0.09756403 1.1250
## 2 49 0.25330810 2.4375
## 3 82 0.41023658 3.7500
## 4 90 0.56732480 5.0625
## 5 96 0.72429972 6.3750
L’effet majeur des suspensions est d’augmenter \(\eta\) ; \(\beta\) sera peu affecté. Par conséquent, ignorer les suspensions rendra le modèle plus pessimiste.
Reprenons l’exemple de nos rivets.
failures<-c(30, 49, 82, 90, 96)
res<-MRRw2p(failures,bounds = T,show = T)
Avec les suspensions :
failures<-c(30,49,82,90,96)
suspensions<-c(10,45,100)
MRRw2p(x = failures,s = suspensions,bounds = T,show = T)->res
Comparons les deux cas :
obj1<-wblr(x = failures)
obj1<-wblr.conf(wblr.fit(obj1,col="red",dist="weibull2p"),lwd=1)
obj2<-wblr(x = failures,s = suspensions)
obj2<-wblr.conf(wblr.fit(obj2,col="blue",dist="weibull2p"),lwd=1)
plot.wblr(list(obj1,obj2))
La droite bleue a un R² supérieur à la rouge et nous avons pris en compte les suspensions ce qui donne un \(\eta\) d’environ 95.
Le taux d’avarie moyen par unité de temps est bien :
\[\frac{R(t)-R(t+\Delta t)}{\Delta tR(t)}\]
Donc le taux instantané est (\(\Delta t \rightarrow 0\)) :
\[\lambda(t)=\frac{-R'(t)}{R(t)}\]
L’étude de \(\lambda\) nous donne la célèbre courbe en baignoire, qui traduit la relation entre \(\beta\) est le taux de défaillance instantané :
Public Domain : https://commons.wikimedia.org/w/index.php?curid=7458336
\(\beta<1\) Défauts de jeunesse ou mortalité infantile. Le taux de défaillance diminue avec le temps
\(\beta=1\) Echecs aléatoires c’est-à-dire indépendants du temps. Taux de défaillance constant.
\(1<\beta<4\) Usure précoce
\(\beta>4\) Usure due à la vieillesse
Les données d’un diagramme de Weibull peuvent apparaître courbées ou mal ajustées, comme l’illustre la figure ci-dessous. Cela peut-être dû à plusieurs modes de défaillance ou un changement soudain de la cause de défaillance ou bien alors que l’environnement a évolué…
tf<-c(3.46,3.73,4.05,4.81,5.89,10,20,36.87, 53.91,80)
obj<-wblr(x = tf)
obj<-wblr.conf(wblr.fit(obj,col="blue",dist="weibull2p"),lwd=1,col="red")
plot.wblr(obj,main="Forme en S")
Cette courbe en S peut résulter du fait que la moitié de la population échoue prématurément (défauts de jeunesse) tandis que le reste échouera en raison d’une forte usure.
Une autre raison est peut être due à l’origine des temps qui se trouve au mauvais endroit. Le temps peut ne pas commencer à zéro.
Par exemple, il peut être physiquement impossible que le mode de défaillance se produise au début de la vie. Une défaillance de roulement à billes due à l’écaillage ou à un déséquilibre ne peut se produire sans que la rotation du roulement n’entraîne suffisamment de dommages pour que le roulement ne soit plus en mesure de fonctionner.
Le temps commence lorsque des défaillances sont possibles.
Le modèle de Weibull à 3 paramètres, détermine le paramètre \(\gamma\) comme origine des temps.
tf<-c(3.46,3.73,4.05, 4.81,5.89,10,20,36.87, 53.91,80)
MRRw3p(x = tf,show = T)
## Eta Beta t0 Rsqr
## 11.2514136 0.4353637 3.4373115 0.9883045
Avec un \(\gamma=3.44\) nous constatons une nette amélioration et un coefficient de corrélation R²=0.988 nettement meilleur.
Le \(\beta=0.435\) indique des défauts de jeunesse
Une courbe concave (\(\gamma >0\)) est plus fréquente qu’une courbe convexe \(\gamma<0\). Un \(\gamma\) négatif est assez difficile à interpréter physiquement (vieillissement prématuré, mixage entre plusieurs modes de défaillance…)
Une analyse des risques a été développée en 83 chez Pratt & Whitney Aircraft [Abernethy 1983]. Aujourd’hui nous l’appelons “Analyse prédictive”…
Une analyse des risques prédit le nombre attendu d’incidents pouvant survenir sur une période de temps spécifique.
Quelques exemples :
Soit un parc de 20 pompes, l’une a échoué à 2000 heures et une autre à 3000 heures. Il y a 5 suspensions à 1000 heures et 4000 heures puis 4 à 2000 et 3000 heures.
Générons le tracé de Weibull
library(WeibullR)
failures<-c(2000,3000)
suspensions<-c(rep(c(1000,4000),each=5),rep(c(2000,3000),each=4))
MRRw2p(x = failures,s = suspensions,show = T)->res
Nous obtenons : \(\beta= 2,829\) et \(\eta = 5047\) heures.
La valeur de F(t) peut être lue directement à partir la fonction de densité cumulée de Weibull ou calculée à partir de l’équation de Weibull :
\[R(t)=e^{-(\frac{t}{\eta})^{\beta}}\]
Par exemple, au temps 1000 et 2000 :
F<-function(t){
1-exp(-(t/5047)^2.829)
}
c(F(1000),F(2000))
## [1] 0.01020688 0.07030700
La dernière colonne du tableau ci-dessous nous donne la probabilité qu’une pompe en état de marche à l’instant \(t\) ait une défaillance entre les instants \(t\) et \(t+u\)
t | t+u | F(t) | F(t+u) | \[ \frac{F(t+u)-F(t)}{1-F(t)} \] |
---|---|---|---|---|
1000 | 2000 | 0.010 | 0.070 | 0.061 |
2000 | 3000 | 0.070 | 0.205 | 0.145 |
3000 | 4000 | 0.205 | 0.404 | 0.251 |
4000 | 5000 | 0.404 | 0.622 | 0.366 |
Entre 3000 et 4000 heures le taux d’avarie et de 25.1%, le taux moyen par heure sera de 0.0251%
Sur 6 roulements. On nous donne le nombre de cycles avant rupture :
\(4\cdot 10^{5}, 1.3\cdot 10^{5},9.8\cdot 10^{5},2.7\cdot 10^{5},6.6\cdot 10^{5},5.2\cdot 10^{5}\)
Lançons une analyse :
cycles<-c(4,1.3,9.8,2.7,6.6,5.2)
MRRw2p(x = cycles,show = T)->res
Les fabricants de roulements nomment \(L_{10}\) la durée de vie nominale qui correspond à un seuil de fiabilité de 90%, c’est-à-dire 90% atteignent \(t=L_{10}\)
Dans notre cas avec \(R(t)=e^{-(\frac{t}{5.729})^{1.494}}\) on trouve \(L_{10}=1.27\cdot10^{5}\) cycles
[Abernethy] “The New Weibull Handbook” by Dr. Robert B. Abernethy Author and Publisher Fifth Edition
[Abernethy 1983] Abernethy, Robert B. and the ASME MFFCC SIC I COmmittee, “Measurement Uncertainty for Fluid Flow in Closed Conduits,” ANSI/ASME MFC-2M-1983.
[Benard], A., and B.C. Bosi-Levenbach “The Plotting of Observations on Probability Paper,” Statististica Neerlandica, Vol. 7, 1953, p. 163-173.
[Johnson 1964] Johnson, Leonard G., “Median Ranks of Sample Values in their Populations with an Application to Certain Fatigue Studies,” Industrial Mathematics, Vol. 2, 1951. Also Johnson, Leonard G., “The Statistical Treatment of Fatigue Experiments,” Elsevier Publishing Company, 1964.
[OpenReliability] Introducing WeibullR http://www.openreliability.org/weibull-r-weibull-analysis-on-r/
[Waloddi WEIBULL] “A Statistical Distribution Function of Wide Applicability”, ASME Joumal Of Applied Mechanics Paper, 1951.
[WeibullR] https://cran.r-project.org/web/packages/WeibullR/index.html