| Oratore |
Trascrizione |
| Brad Foulkes |
Grazie per aver partecipato al mio intervento "Ma cosa faccio adesso?" Utilizzo di un modello di affidabilità per fare previsioni di eventi in JMP. |
| |
Molto spesso mi viene chiesto... una volta creato un modello di affidabilità, cosa ci faccio esattamente? E spesso ci si dimentica che è possibile utilizzare un modello di affidabilità per fare previsioni su quando gli eventi si verificheranno effettivamente. |
| |
E non solo il primo evento, ma forse anche il secondo, il terzo o il quarto evento che quel prodotto potrebbe vedere nel tempo. |
| |
Quindi, un po' di informazioni su di me. Mi chiamo Brad Foulkes. Sono il direttore tecnico di Optimal Analytics, dove lavoriamo con le aziende per aiutarle a comprendere i loro dati, identificare gli ostacoli e aiutarle a muoversi in modo più efficiente. |
| |
Prima di ricoprire questo ruolo, ho lavorato per circa nove anni nell'ingegneria dell'affidabilità, concentrandomi su come comprendere l'affidabilità dei componenti e capire quando questi ultimi si romperanno effettivamente nel tempo. |
| |
Utilizzo JMP da circa otto anni, credo intorno alla versione JMP 10. Non ne sono sicuro, è passato un po' di tempo, quindi non ricordo quale versione usavamo... Io la usavo allora. |
| |
Nei miei strumenti JMP preferiti, mi piace usare molto la distribuzione della vita perché è lì che risiede la modellazione dell'affidabilità. Utilizzo molto spesso il modello di adattamento e JSL. |
| |
La scrittura di script può aprire le porte a un'ampia gamma di nuovi strumenti e nuovi giocattoli con cui divertirsi. Perché voglio presentarvelo oggi? |
| |
Perché, il più delle volte, questa domanda emerge alla fine... alla fine della costruzione di un modello, senza che nessuno ci abbia pensato prima. |
| |
Potresti finire un modello e avere un sacco di probabilità e poi non sapere davvero cosa fare dopo. Ecco quindi un'opzione che puoi seguire una volta costruito il tuo modello e poter continuare a svilupparlo. |
| |
Quindi, quello di cui parleremo oggi, in merito alla previsione degli eventi, è che quando costruisci il tuo modello, sei abituato a vedere spesso questo tipo di grafico. Avrai i tuoi tempi individuali, |
| |
E forse si tratta di cicli di vita di hardware o prodotti. Diciamo che si tratta di un frullatore, sai, o di qualsiasi elettrodomestico da cucina o piccolo elettrodomestico che magari non dura |
| |
un lasso di tempo terribilmente lungo. Quindi alcuni di questi falliranno molto presto; altri falliranno molto tardi. |
| |
Ma alla fine, si finisce per avere una probabilità di fallimento, quando queste cose... accadono. Quindi potresti venire qui e dire, ok, circa il 90% dei fallimenti si verificherà entro quattro anni. |
| |
Bene, è fantastico. Questo aiuta a capire un primo guasto e magari a stabilire una probabilità che i componenti si guastino sul campo, ma per una persona che deve effettivamente acquistare queste cose o usarle, questo non è di grande aiuto. |
| |
Per un cliente che li usa davvero, non gli importa quanto dureranno. Potrebbe non voler sapere quante ne dovrò acquistare in un determinato periodo di tempo. |
| |
Forse in un ciclo di vita complessivo. Vogliono solo considerare un periodo di 10 anni, quanti di questi devo acquistare in 10 anni affinché sopravvivano? |
| |
Ecco dove entra in gioco la previsione degli eventi. E ciò che in realtà significa prevedere gli eventi è prendere la distribuzione e in un certo senso capovolgerla, in modo da mantenere la distribuzione del tempo. |
| |
Quali sono il tempo per gli eventi che hai qui, e quindi la probabilità di un evento. E quindi ora |
| |
Si può osservare la frequenza con cui si verificano alcuni di questi eventi. Quindi forse il primo evento si verifica qui intorno agli otto anni e mezzo, il secondo evento si verifica a nove anni e mezzo, |
| |
il terzo evento... ma questo è tutto un cliente. E quindi questo è tutto un cliente, un caso d'uso, e quindi, per loro, sai, il loro periodo di tempo fino al fallimento |
| |
guarda tutte queste parti qui, guarda tutti questi intervalli e queste sostituzioni. Quindi questo qui, |
| |
Ci vogliono più di 20 anni prima che un cliente guardi effettivamente questo. Potrebbe... quindi vorrà sapere... Per sopravvivere a quei 20 anni, avrò bisogno di almeno tre parti. |
| |
Quindi, utilizzando una parte di questa selezione casuale e di questa simulazione, puoi capire con quale frequenza queste parti devono essere sostituite e con quale frequenza un cliente potrebbe aver bisogno di acquistare il tuo prodotto. |
| |
Quindi, come si fa a realizzarlo in pratica? Bene, quindi si tratta di sostituzioni. |
| |
E per quanto riguarda le sostituzioni, con quale frequenza inserisci una parte nuova, o una parte come nuova? |
| |
un sistema riparabile e un sistema non riparabile. E un sistema riparabile è quello in cui puoi portare le cose appena al di sotto |
| |
al punto che può tornare a funzionare, e forse non è più come nuova. Quindi, diciamo che hai un buco nella gomma. Tappi la perdita e continui a guidare. |
| |
Questo è riparato. Ma cosa succederebbe se potessi riparare lo pneumatico al punto che tornasse come nuovo e non si rompesse mai più? |
| |
Ora, con lo pneumatico, forse non è poi così pratico, ma con altre cose, potresti dover sostituire una parte, o forse dovresti tagliare una parte di una parte e sostituire solo quella o quella parte che si è rotta. |
| |
Riportare un componente come nuovo può rendere il sistema non riparabile. Quindi, anche se hai eseguito una riparazione, per renderlo come nuovo, |
| |
Cambia un po' le cose. Ora, questa è una grande avvertenza, sai. Bisogna fare molte considerazioni su cosa significhi "come nuovo", ma molto spesso, penso che una parte... o le persone abbiano a che fare con parti che |
| |
Hanno riparato e riparano come se fosse nuovo e pensano: "Beh, questo è un sistema riparabile", ma per il mondo dell'affidabilità non lo è. Bene, quindi mi fermo un attimo da quel pulpito. |
| |
Torniamo alle sostituzioni. Quando prendiamo in considerazione un sistema singolo, |
| |
potresti guardare qualcosa qui e dire, okay, sai, |
| |
per un singolo sistema, |
| |
Con quale frequenza si guastano i pezzi? E quindi, se prendiamo in considerazione un solo cliente, con quale frequenza li acquista? Quindi, il primo pezzo è durato quattro anni. |
| |
Poi hanno dovuto comprarne un secondo. Quello è durato solo 1,3 anni, poi ne hanno dovuto comprare un terzo, e questo ha fatto faville ed è durato otto anni. |
| |
Quindi, alla fine, hanno dovuto acquistare tre pezzi in 12 anni, ma c'è una grande variazione. Quindi lo vedi con tutti i tipi di prodotti, con alcuni telefoni cellulari, con |
| |
altri prodotti per la casa. Alcune cose si guastano presto, altre si guastano tardi. |
| |
Potresti semplicemente parlare con i tuoi amici e dire: "Ehi, ho... questo orribile cellulare. Non posso credere che si sia rotto così presto". E loro ti parleranno dello stesso cellulare che hanno da 10 anni. Certo, probabilmente non 10 anni, ma... |
| |
Potrebbe volerci un po' di tempo. Quindi, alla fine, per questo sistema, questo cliente ha dovuto sostituire un pezzo tre volte. |
| |
Ora, se osserviamo più sistemi, possiamo farci un'idea di quanto frequentemente queste cose accadono nel tempo. Quindi |
| |
un cliente potrebbe avere quel primo sistema, poi il secondo cliente, magari hanno avuto cinque o sei sostituzioni in quel lasso di tempo...più o meno nello stesso periodo di tempo. |
| |
Quindi, se dovessimo osservare il primo sistema, potremmo dire: ok, non ci aspetteremmo alcun fallimento almeno fino al quarto anno. |
| |
Ma se consideriamo il secondo sistema, abbiamo riscontrato un guasto nel primo anno. Quindi, se cerchiamo di calcolare la media dei guasti o il numero medio di eventi che potremmo aspettarci nel primo o nel secondo anno, |
| |
Quel primo sistema non ci dice molto. Quindi è qui che, se non hai i dati e... ma hai la distribuzione nel tuo modello in cui beta ed eta per il tuo Weibull o qualcosa del genere, |
| |
È possibile utilizzare la simulazione per provare a stabilire con quale frequenza alcuni clienti si aspettano eventi negli anni 1, 2, 3 e molto più lontano rispetto ai dati effettivamente disponibili. |
| |
Facendo ciò, osservando quei sistemi multipli e osservando quella simulazione, puoi in un certo senso capire e iniziare a vedere una tendenza della frequenza con cui |
| |
Queste parti verranno sostituite anno dopo anno. Quindi, anche se questi dati potrebbero essere stati ricavati solo da eventi della durata di sette anni, |
| |
per quanto riguarda il tempo del calendario o per il tempo di un cliente, ci sarà una sorta di picco e poi si stabilizzerà in una sorta di livello piatto di sostituzioni. Ora |
| |
Con una simulazione, vedrete dei rimbalzi, ed è quello che vedete qui. Se avessimo una soluzione in forma chiusa, avremmo una bella linea retta, ma |
| |
Con la simulazione, otteniamo qualche variazione. Questo è ciò che vedete qui. Quindi potete tracciare una sorta di linea e vedere, in media, |
| |
Una persona potrebbe aspettarsi di sostituirne, diciamo, un terzo all'anno. Quindi, dopo tre anni, ci si potrebbe aspettare di averne uno nuovo, una volta che il dispositivo inizia a funzionare. Quindi, all'inizio, un po', poi la situazione si stabilizza. |
| |
Vediamo ora un esempio di cosa intendo. |
| |
Abbiamo una tabella di dati e qui ho un modello. Quindi questo modello è solo un Weibull casuale. Quindi, se non hai familiarità con le diverse funzioni che puoi usare in JMP, |
| |
Puoi usare una funzione di Weibull casuale, un quantile di Weibull, una distribuzione di Weibull, una densità di Weibull. E queste sono tutte funzioni che puoi applicare a diverse distribuzioni. |
| |
In questo caso, scegliamo un insieme casuale di punti da una distribuzione specifica. La mia distribuzione ha un beta di 1,2 e un eta di 3. |
| |
Quindi, scegliendo questi eventi casuali...casuali qui, |
| |
Questi sono tutti eventi individuali, e questo è ciò che finirebbe per essere inserito nel tuo modello. Cosa accadrebbe se dovessi costruire un modello basato sui guasti dei componenti? Queste sono le date che di solito finiscono per essere inserite. Ciò che si perde, però, è come questo influisca effettivamente sul cliente. Quindi, nel tempo |
| |
il cliente forse vuole sapere quanti di questi potrei sostituire tra 20, 30, 40 anni. |
| |
Ed è qui che bisogna guardare i tempi totali degli eventi di sistema. E questa è semplicemente la somma cumulativa dei singoli tempi, quindi 8,3 è il primo, 1,2 è il secondo e così via. |
| |
Quindi, quando passiamo al secondo sistema, abbiamo 1,8, 3,9, 5,9, quindi è solo un conteggio cumulativo dei singoli tempi. |
| |
La cosa da tenere a mente qui è che quando si cerca di calcolare una media di tutto questo, |
| |
si guarderebbe il numero del sistema, ma poi l'anno in cui ciò si è effettivamente verificato, quindi 1,8 anni si sono verificati nel secondo anno di attività. |
| |
E questa è una distinzione importante da tenere a mente, perché si vuole essere certi di identificare i fallimenti nell'anno appropriato. |
| |
Quindi il tuo 0,6, mentre... se fosse il primo, sarebbe nel primo anno, in realtà incrementa solo l'anno... l'ora del sistema... gli anni del sistema di uno qui. |
| |
Quindi, con questo, potresti pensare: "Ok, ora che abbiamo tutto questo, possiamo contare il numero di eventi e guardare questo sistema, l'anno e fare una bella analisi". JMP ha in realtà uno strumento utile che farà tutto questo per te. |
| |
COSÌ |
| |
in JMP c'è uno strumento chiamato simulazione dei sistemi riparabili. |
| |
E questo strumento, |
| |
Lo so...credo che sia uscito nel JMP 13, forse nel JMP 14. Esiste da qualche anno. |
| |
Non credo che riceva tutta la pubblicità che meriterebbe, perché è uno strumento incredibilmente potente che credo molte persone qui non apprezzino. |
| |
Quindi, quello che è, è che stai guardando un sistema qui. E quindi forse, o in questo momento, ho due parti qui, ma forse il mio sistema è in realtà |
| |
sette o otto parti, o un intero cambio, o una pompa, o qualcosa del genere. E ci sono tutte queste parti che lavorano insieme, e se una di esse si guasta, |
| |
Sai, l'intero sistema fallisce, e quindi vuoi capire qual è l'evento, quali sono i tempi dell'evento. Quindi, in ognuno di questi, dovresti specificare qual è il tuo Weibull o qual è il tuo modello, e qui ho una beta 1.2 e una alpha 15. |
| |
È un'unità di tempo espressa in anni, posso certamente scegliere distribuzioni diverse se... se voglio. |
| |
E poi posso dire cosa succede se si verifica un evento. Quindi, se un blocco... quindi qui ho un errore di blocco, cosa succede se si verifica effettivamente un errore? |
| |
E il risultato è che bisogna sostituirlo con uno nuovo, quindi voglio solo sostituire il pezzo. Ora, ci sono molte opzioni diverse, forse potrei fare una riparazione minima, ma invece ho detto: voglio sostituirlo con un pezzo nuovo di zecca, quindi questo sarà un modello come nuovo... come nuovo. |
| |
E poi puoi includere un certo periodo di inattività. Quindi, quanto tempo ci vuole per riparare questo problema? Qual è stato il tempo medio di riparazione? Può essere un valore costante. |
| |
Oppure puoi dire subito di non preoccuparti nemmeno del tempo che ci vuole, oppure puoi fornirgli una lista tra cui scegliere. Puoi anche fornirgli un paio di distribuzioni. |
| |
Quindi, con questi strumenti... e ora ho costruito un sistema molto semplice. Ho una parte con la mia distribuzione nota o due parti con distribuzioni note. |
| |
Quando uno di questi fallisce, ho un orario di sostituzione, e quindi il secondo ha l'opzione di scelta. |
| |
E come puoi vedere, se lo metti qui, le scelte devono essere nella stessa unità di tempo della tua simulazione. |
| |
Quindi ho scelto gli anni come simulazione. Sono espressi in anni, quindi il tempo per prepararsi a qualcosa potrebbe essere solo un'ora, due ore, forse un giorno. Se si calcolano in anni, i numeri diventano davvero piccoli, quindi ecco cosa vedete qui. |
| |
Non entrerò nel dettaglio di tutte le opzioni. Come puoi vedere, ci sono molte altre cose che puoi fare con uno standby, un K su N, molte delle quali sono destinate ad analisi più complesse. |
| |
Bene, eseguo la mia analisi e la farò per 20 anni, che sono elencati qui, con un numero di simulazioni pari a 100. Spesso ne vorrai di più, ma a scopo dimostrativo lo imposteremo a 100 e avremo un seed di 1234. |
| |
Quindi, ottengo questo bel grande output qui, e l'output iniziale è sempre chiamato numero, il che è molto utile. |
| |
Ma potresti guardare questo e dire: "Ok, cosa ci faccio con tutta questa roba?" E potresti venire qui e lanciare questa analisi e |
| |
Forse vuoi dare un'occhiata al tempo di inattività totale per componente. Quindi questo dice, sai, come... o qual è la distribuzione dei tempi di inattività che un componente potrebbe riscontrare? |
| |
Ma in realtà non risponde mai alla domanda: quante volte avrò bisogno di sostituire questa parte, dopo oltre 20 anni? |
| |
Quindi ho scritto uno script e quando tu... quando scaricherai questo diario, troverai tutti questi script al suo interno. |
| |
L'ho impostato come pulsante, ma lo script vero e proprio è qui sotto, per riferimento, se vuoi utilizzarlo. |
| |
Quindi, clicco semplicemente sul pulsante e accadranno un sacco di cose. Ora sono entrato e ho calcolato la frequenza con cui mi aspetto che questi eventi si verifichino, anno dopo anno. Quindi, dal punto di vista del sistema, |
| |
Ho suddiviso i miei eventi di fallimento e impostato il valore dell'anno. Come ricorderete, il valore dell'anno viene arrotondato per eccesso, quindi 3,8 anni equivalgono a 4. |
| |
Ora, questo considera il tempo del calendario, il tempo di sistema che potremmo utilizzare. Non considera il tempo individuale, quindi il tempo tra ciascuno di questi, per esempio dalla riga uno alla riga due, è di circa 1,8 anni. |
| |
Ma poiché stiamo osservando il sistema, in realtà stiamo contando il 5,69. |
| |
Ora voglio trasformarlo... Voglio trasformare tutti questi valori in qualcosa di utile. |
| |
La cosa importante da ricordare, però, è che quando si cerca un numero medio di eventi ogni anno, bisogna considerare anche gli anni in cui non si sono verificati eventi. Quindi, in questa prima simulazione, il primo evento si verifica nel quarto anno. |
| |
ma ho bisogno di zeri per uno, due e tre, ed è quello che fa il mio script. Il mio script va in un certo senso in set a |
| |
schema di ciò che voglio analizzare. Quindi voglio analizzare la prima parte, voglio analizzare il valore dell'anno e l'ID della simulazione, e poi osservare quando gli eventi si sono effettivamente verificati. Quindi qui potete vedere che il primo evento della prima parte si verifica nell'anno dieci. |
| |
E quindi, quando questo viene aggiunto qui, è quello che viene aggiornato nell'analisi. Se scorro fino alla seconda parte... |
| |
quando scorri verso il basso fino alla seconda parte per la simulazione uno, |
| |
lì...non ci sono eventi. |
| |
Il primo evento per la simulazione uno non si verifica prima di... |
| |
fino al quarto anno. Quindi se scorro fino al quarto anno |
| |
Per la seconda parte, mostrerà che ho un evento nella simulazione uno, ok. Quindi si tratta semplicemente di allineare questi eventi per ogni possibile combinazione di anni in cui potrebbe verificarsi. |
| |
Bene, avendo quel livello di informazioni, ora che le ho estratte da tutte le... tutte le simulazioni, hai visto che avevo 4.000 record, ora che queste sono tutte le possibili permutazioni di anno, simulazione e parte. |
| |
Ma in realtà voglio fare una media. Quindi faccio la media e voglio esaminare il numero di simulazioni, ovvero il numero di righe, il valore dell'anno e poi la parte. Arrivo a 40 righe, molto più gestibile e molto più facile da capire. |
| |
Quello che vedete qui per la seconda parte è che abbiamo quel piccolo picco all'inizio, e poi si stabilizza. E |
| |
rimbalza perché è la simulazione e abbiamo eseguito solo 100 eventi, ma... o 100 simulazioni, ma abbiamo una sorta di stato costante di sostituzioni che potremmo vedere. |
| |
Se provassimo a guardare la cosa da una prospettiva cumulativa, però, questo è ciò che può dire a un cliente quanti dispositivi potrebbe aspettarsi di sostituire in 10 anni. Quindi, per la seconda parte, |
| |
Supponiamo che il cliente voglia sapere quando dovrò sostituire, sai, il primo? Qual è il primo in assoluto? Il primo in assoluto. |
| |
accadrà tra il quarto e il quinto anno, tipo subito dopo il quarto anno. E poi il secondo accadrà più o meno... o verso il settimo anno. |
| |
Il terzo avviene intorno al decimo anno. Quindi, come puoi vedere, si verifica una sorta di salita in cui non si verificano molti guasti iniziali, ma poi si raggiunge uno stato stabile e ogni tre anni circa si finisce per dover sostituire i pezzi. |
| |
Questo può essere molto utile per i clienti, per la pianificazione della tua attività o anche per gli sforzi della catena di fornitura, se volessi provare a fare qualcosa di simile. |
| |
Quindi, utilizzare questa previsione di eventi dalla simulazione dei sistemi riparabili è un modo pratico e veloce per dare quell'idea o quella comprensione di quante parti, non solo la probabilità di guasto e quando potrebbe verificarsi. Quindi |
| |
una cosa...un'altra cosa di cui voglio parlare oggi è un modo per rendere la simulazione dei sistemi riparabili un po' più semplice. |
| |
E quindi potrebbe essere scoraggiante. È uno strumento nuovo, potresti non sapere tutto ciò con cui stai lavorando, ma |
| |
se...se inizi con il modello, inizi con la tabella, creare la simulazione dei tuoi sistemi riparabili può essere molto più semplice. |
| |
Quindi, alla fine, per costruire il tuo modello, hai bisogno di circa 13 dati. La maggior parte di questi avviene in background, cosa a cui non penseresti nemmeno, ma se li disponi in una tabella e in un modello |
| |
con queste varie colonne qui... E dico 13, in realtà ne serve meno. Ho apportato alcune modifiche per gestire alcune piccole cose interessanti che potresti fare qui. |
| |
Ma in realtà hai la tua distribuzione, il tipo di modello, i parametri, l'unità di tempo. Sono tutti elementi predefiniti in JMP che puoi modificare o |
| |
Ecco, queste sono cose che aggiungeresti. Quindi ognuno di questi ha un, sai, se il blocco fallisce, cosa sostituisci con qualcosa di nuovo? E questi puoi modificarli, puoi collegare questi nomi di eventi e questi processi in modo diverso. |
| |
Nel mio mondo, spesso assistiamo a un cambiamento di comportamento. E forse vogliamo capire che nei primi anni, questo è il tasso di sostituzione, e poi nei secondi anni, questo è il tasso di sostituzione. |
| |
Oppure potresti avere modalità di errore concorrenti di cui vuoi trarre vantaggio. Quello che ti mostrerò qui può gestire gran parte di queste situazioni. |
| |
Mi scusi, questo non è affatto perfetto. Questo |
| |
dovrebbe sicuramente essere adattato al tuo... al tuo caso d'uso, ma, alla fine della giornata, iniziare con un modello è un modo incredibile per accelerare lo sviluppo e |
| |
Per permetterti di apportare modifiche...piccole modifiche al volo. Quindi, se ho questo, ho un piccolo script qui, dove, cliccandoci sopra, viene prodotta la simulazione del mio sistema riparabile. |
| |
E se guardo qui, ho la mia prima...la mia prima parte con una beta 1.86 o 826, una alpha di 153. |
| |
E si tratta semplicemente di prendere questa tabella e trasformarla in una simulazione di sistemi riparabili. Puoi farlo |
| |
qualcosa di ancora più complesso. Quindi lasciatemi chiudere. |
| |
E quindi qui ho 14 parti. Potrei cambiare una qualsiasi di queste distribuzioni se voglio, |
| |
ma ho altri tipi di eventi che vorrei esaminare qui. Voglio dividere la mia distribuzione in modo che |
| |
Cambia o cambia forma dopo un certo periodo di tempo. Forse sto cercando di modellare l'introduzione di un prodotto, sai, un aggiornamento di prodotto che coinvolge l'intera flotta. O forse ho una modalità di errore concorrente e voglio tenerne conto. |
| |
Quindi, se posso, sapete... usando questo modello nello script, posso gestire tutto questo in modo molto semplice. Ora avete visto quanto è stato veloce. Quanto è stato, un secondo o giù di lì per... |
| |
per generare questo modello? Ora, se volessi crearne un altro, forse, forse vorrei che questo fosse un |
| |
log normale. |
| |
Posso farlo proprio qui, e poi |
| |
vieni a leggere il mio copione |
| |
E |
| |
e lo faccio ripartire. E ottengo un altro modello in cui (vediamo, qual era? Parte cinque.) |
| |
La quinta parte è ora un log-normale. È davvero facile provare diverse iterazioni, provare diversi modelli e ne genera uno nuovo ogni volta. |
| |
Etichettando il diagramma come tabella qui. È quindi un modo pratico per eseguire un'analisi e comprendere le previsioni degli eventi utilizzando questo modello, utilizzando lo script incorporato qui per eseguire l'analisi e comprendere le previsioni degli eventi nel tempo. |