Altoparlante | Trascrizione |
| Andrea Coombs, JMP | Ciao, mi chiamo Andrea Coombs e sono un ingegnere di sistemi con JMP. Quindi oggi racconterò la storia dei miei anni in cui lavoravo nell'industria, in particolare nell'industria farmaceutica. |
| Quindi, ecco di cosa parlerò oggi in poche parole. |
| strategie di coping per dare un senso |
| di dati di produzione in tempo reale nella produzione... nella produzione di vaccini. E in quella presentazione ho discusso dei modi di trattare i dati curvi |
| che stavamo ricevendo in tempo reale dai sensori del nostro reparto di produzione. |
| E oggi, ciò di cui voglio parlare sono alcuni dei nuovi strumenti che abbiamo in JMP, in particolare l'esploratore dati funzionale, e come ciò avrebbe reso tutto questo un gioco da ragazzi. |
| E parlerò dei modi per utilizzare l'esploratore dei dati funzionali per la comprensione dei processi, l'ottimizzazione dei processi e il monitoraggio dei processi. |
| Quindi iniziamo prima parlando del processo e delle curve con cui abbiamo a che fare. Quindi qui a sinistra abbiamo un esempio di un ipotetico processo di produzione di vaccini. Si inizia con la preparazione del materiale. |
| In questo caso, stiamo facendo la fermentazione batterica in due fasi, quindi il prodotto viene filtrato, assorbito e raccolto, |
| e a valle il prodotto viene centrifugato, e infine, più sottolotti di materiale vengono formulati insieme in un unico lotto di materiale. |
| E oggi mi concentrerò sulle fasi di fermentazione di questo processo. |
| Quindi, mentre i batteri stanno fermentando, stanno attraversando una crescita e le curve di crescita sembrano qualcosa qui a destra. Quindi, durante la crescita, c'è una fase di ritardo, c'è una fase di crescita esponenziale, una fase stazionaria e, infine, una fase di morte logaritmica. |
| E mentre ero in questa azienda, stavamo attraversando un'evoluzione del processo sotto... della comprensione del processo, in particolare attorno a queste curve di crescita. |
| Quindi abbiamo iniziato presto, semplicemente prelevando cinque campioni da queste due fasi di fermentazione, inviando quei campioni al... al laboratorio di controllo qualità e aspettando i risultati. E abbiamo ottenuto |
| densità ottica, quindi potremmo dire la densità delle cellule in quei campioni, e i risultati che abbiamo ottenuto assomigliavano a quelli che vedete qui a destra. |
| Abbiamo una distribuzione dei risultati in quei momenti specifici, ma non sapevamo davvero come fossero le curve di crescita. Avrebbero potuto assomigliare a una qualsiasi delle curve che ho disegnato su quelle distribuzioni in basso. Semplicemente non ne avevamo idea. |
| Ma poi abbiamo implementato sonde in linea, quindi abbiamo implementato sonde di torbidità in modo da poter effettivamente vedere come appaiono quelle curve di crescita. Tuttavia, abbiamo dovuto vestirci ed entrare nella suite di produzione |
| per scaricare manualmente i dati, riportarli sulle nostre scrivanie e quindi provare a capire cosa avremmo fatto con tutti questi dati. |
| E poi, finalmente, abbiamo aggiornato il nostro PLC in modo che ora potessimo avere tutti i dati di tutti i nostri sensori sulla nostra scrivania, senza bisogno di vestirci e tornare indietro... e tornare alla produzione; avevamo tutti i dati |
| a portata di mano, il che è stato fantastico. Ma attraverso un'attenta analisi, siamo stati in grado di determinare che avevamo troppi dati e che ne avevamo molti da gestire. |
| Ecco perché... |
| ecco perché ho tenuto questa presentazione sulle strategie di coping per dare un senso ai dati in tempo reale. |
| Abbiamo lavorato molto per dare un senso ai nostri dati e volevo condividere alcune strategie che potresti adottare per dare un senso ai tuoi dati in tempo reale. |
| La prima cosa di cui ho parlato è stata la parametrizzazione di quelle curve di crescita. Quindi avevamo queste curve ma volevamo poter dare un'occhiata alla crescita e |
| capire cosa stava succedendo, quindi li abbiamo parametrizzati. In altre parole, abbiamo preso la pendenza della crescita, la pendenza del tasso di mortalità, stavamo guardando la durata del tempo in cui i batteri erano in ciascuna delle fasi. Stavamo guardando |
| la torbidità in determinati punti temporali, e ora avevamo una grande raccolta di queste crescite...quelle che chiamavamo variabili di crescita. |
| E queste variabili di crescita ci sono state molto utili. Li abbiamo utilizzati per la comprensione dei processi, per l'ottimizzazione dei processi e per il monitoraggio dei processi. |
| Ora il secondo gruppo di strategie di coping di cui ho parlato era proprio l'elaborazione di tutti questi dati in tempo reale |
| che avevamo. Quindi, ovviamente, una volta che abbiamo iniziato a trovare utili tutti questi dati, volevamo accedervi subito. |
| Quindi la prima cosa che dovevamo capire è che tutte le nostre fonti di dati e assicurarci di poter accedere a tutto ciò che avevamo, non solo ai dati del nostro storico, ma anche ai dati del nostro |
| Sistema ERP, nei nostri sistemi di gestione delle informazioni di laboratorio. Abbiamo dovuto portare tutti quei dati in un unico posto. Abbiamo usato un super journal, quindi questo è una specie di centrale di comando per accedere a tutti i nostri dati ed eseguire tutti i nostri script. |
| Questo è stato davvero un sacco di lavoro che abbiamo fatto. Eravamo piuttosto orgogliosi di noi stessi, ma sai col senno di poi, |
| sapendo quali strumenti abbiamo in JMP, in particolare ora con JMP 16, ci sono un paio di cose che avrebbero reso questo lavoro molto più semplice. |
| Con le curve di crescita, avremmo potuto utilizzare l'esploratore di dati funzionali per analizzare le nostre curve. Non dovremmo parametrizzarli, |
| dove stavamo lasciando dietro di noi molti dati. Possiamo utilizzare tutti i dati nell'esploratore dati funzionale. E poi, ovviamente, la registrazione delle azioni nel registro avanzato, |
| ciò avrebbe reso gli sforzi nello scripting molto più facili. Ma oggi voglio concentrarmi solo su come avrei usato l'esploratore dati funzionale. |
| Ovviamente non ho più accesso a quei dati, quindi ho simulato alcune curve di crescita. Qui ho 20 curve diverse, che rappresentano una certa variabilità che potresti vedere durante la fermentazione batterica. |
| E con l'esploratore di dati funzionali, si riduce davvero a questi quattro passaggi. La prima cosa è che prenderai la tua collezione di curve |
| e andrai a levigare tutte le singole curve. Il secondo passaggio consiste nel determinare una forma media e componenti di forma che descrivono tutta la variabilità che si vede in queste curve. |
| Il passaggio successivo consiste nell'estrarre la grandezza dei componenti della forma per ciascuna curva. |
| E una volta che hai questi due componenti di forma, in realtà vengono chiamati componenti principali funzionali, |
| quindi puoi usarli per qualunque cosa tu voglia analizzare i tuoi dati, se le tue curve sono input per i modelli, se sono output per i modelli, se vuoi fare analisi di clustering. |
| In realtà, ora puoi fare qualsiasi tipo di analisi con questi componenti principali funzionali. Nell'esempio di oggi, tutte le mie curve sono uscite su un modello, quindi userò DOE funzionale |
| per dare un'occhiata più da vicino a queste curve. Quindi entriamo in JMP. |
| Qui ho la mia tabella dati, dove ho i numeri di lotto, ho il tempo nella torbidità, che compongono le curve. |
| E ho anche un sacco di parametri di processo. E la prima cosa che voglio fare è fare un po' di comprensione del processo per vedere se qualcuno di questi parametri di processo |
| stanno influenzando la variabilità che vedo nelle curve. Quindi entriamo nell'esploratore dei dati funzionali. Metteremo il tempo come la nostra X, la torbidità è la nostra Y. Inseriamo la nostra funzione ID e poi prenderemo tutti questi parametri di processo e li inseriremo come variabili supplementari. |
| Ora, il primo passo che dobbiamo fare è adattare il modello flessibile a tutte le nostre curve e userò la PCA funzionale direzionale... diretta per farlo. |
| Ecco quei modelli flessibili. Il secondo passo, che JMP ha già fatto per me, è determinare la curva media |
| e i nostri componenti di forma. E JMP ha identificato per me sei diversi componenti di forma. Qui a sinistra, posso vedere quei sei diversi componenti di forma. |
| Ed ecco la quantità cumulativa di variabilità che quei componenti della forma stanno spiegando nei miei dati. |
| Puoi vedere, solo con i primi due componenti della forma, sto già descrivendo il 92% della variabilità nella mia curva, il che è fantastico. |
| E i restanti componenti di una forma qui, li escluderò, perché probabilmente stanno solo spiegando la variabilità casuale nei miei dati. Quindi andiamo avanti e personalizziamo il nostro numero di FPC fino a due e mi rimangono quei due componenti di forma. |
| Ora, il prossimo passo è determinare la grandezza di ciascuno di quei componenti di forma per ciascuna di quelle curve, e li ho qui nel mio grafico del punteggio. |
| Sull'asse X ho il componente Shape 1 e sull'asse Y ho il componente Shape 2. |
| Di seguito ho un profiler in cui posso dare un'occhiata alla mia curva, che ho evidenziato qui in giallo, e puoi vedere come il primo componente della forma influisce sulla forma della curva, |
| principalmente la fase di crescita della curva, e il secondo componente di forma sta influenzando principalmente la fase di morte della curva. |
| E diamo un'occhiata più da vicino a un paio di questi lotti. Diamo un'occhiata al lotto 15. Ecco la curva per il lotto 15 e possiamo vedere l'ampiezza del Componente Forma 1 e l'ampiezza del Componente Forma 2. Posso inserirli direttamente nel mio profiler. |
| Ora puoi vedere che sono in grado di riprodurre la curva per il lotto 15. Diamo solo un'occhiata a un altro. Diamo un'occhiata a questo lotto 2 e puoi vedere che sembra molto diverso rispetto al lotto 15 e alla forma... anche la grandezza dei componenti della forma è molto diversa. Quindi andiamo |
| dai un'occhiata a quelli. |
| E ora puoi vedere che siamo stati... siamo anche in grado di replicare quella curva. |
| Quindi, conoscendo la forma media, le due componenti sagomate che rappresentano la variabilità attorno alle curve, possiamo ora usare queste grandezze di quelle componenti sagomate per fare un'analisi. |
| E possiamo fare il... quando le tue curve sono la risposta nel tuo modello, puoi fare quell'analisi proprio qui nell'esploratore dei dati funzionali. |
| Quindi, qua sotto, ho un nuovo profiler. E questa volta nel mio profiler, ho... ho di nuovo la mia curva, che evidenzierò di nuovo in giallo. |
| E poi ho i parametri di pH, temperatura, pressione e velocità di miscelazione. Puoi vedere qui per la velocità di miscelazione, è piuttosto piatto, quindi non influisce su quella forma. |
| Lo stesso per la pressione, ma quando inizio a guardare la temperatura, puoi vedere che cambia la forma della mia curva, principalmente la fase di crescita della mia curva. E mentre cambio il pH, influisce principalmente su quella fase della mia curva. |
| Quindi questo è l'approccio che prenderei per la comprensione del processo. Bene, per quanto riguarda l'ottimizzazione dei processi? E per ottimizzazione dei processi, intendo, |
| sai, se c'è una curva particolare su cui vogliamo standardizzare, quali sarebbero il pH e la temperatura di cui avremmo bisogno per ottenere quella curva desiderata? Bene, la prima cosa che devi fare è definire cosa |
| si presenta la curva desiderata. E ho solo alcuni punti dati qui in fondo alla mia tabella dati che descrivono la forma che sto cercando, e li vedrai qui sul mio... |
| nel generatore di grafici. E in questo caso, sono interessato a ottenere una curva in cui ho un tasso di crescita molto veloce e poi un tasso di crash molto lento. |
| E questo è davvero facile da aggiungere all'esploratore dati funzionale. Abbiamo solo bisogno di fare un ulteriore passaggio; Ricorderò quello che ho fatto prima. |
| E l'unico passaggio aggiuntivo è caricare quella funzione di destinazione, identificare quale |
| la funzione rappresenta il nostro obiettivo. E tutto quello che sto facendo ora è replicare quello che ho fatto prima. Farò il mio PCA funzionale diretto. |
| Personalizzerò i miei FPC fino a 2 e questo... questi risultati sono esattamente ciò che stavamo vedendo prima, e poi salirò e farò il mio DOE funzionale. |
| E ancora, evidenzierò la mia curva qui. E ora che quella curva target è stata identificata, posso massimizzare la desiderabilità, quindi in altre parole, posso trovare i set point per pH e temperatura |
| e la pressione e la velocità di miscelazione che mi daranno una curva che assomiglia di più a quella curva target. Quindi c'è |
| tasso di crescita molto veloce, un tasso di crash lento. E avrei solo bisogno di |
| iniziare con media con un pH di 7,2 e utilizzare la temperatura di 37,9 sui miei fermentatori. Quindi questo è l'approccio che avrei usato per la comprensione dei processi e l'ottimizzazione dei processi. |
| Quando parliamo di monitoraggio del processo di curve di crescita o forme di curve, ci sono alcune opzioni diverse là fuori e ho un paio di pensieri diversi qui. |
| Se questo è qualcosa che vuoi fare, ti consiglio vivamente di dare un'occhiata a questa presentazione del 2020, controllo statistico del processo per le variabili di processo che hanno una forma funzionale. |
| Questa è stata una presentazione che è stata registrata ed è davvero fantastica. Hanno parlato di prendere quei componenti principali funzionali e di inserirli in carte di controllo multivariate guidate da modelli. |
| Hanno fatto una grande dimostrazione...dimostrazione di ciò e poi hanno anche parlato di alcuni forse inconvenienti nell'adottare quell'approccio. |
| Quindi voglio discutere un altro approccio che potresti prendere in considerazione e che sta guardando la differenza integrata da uno standard. |
| Quindi, proprio come prima, quando guardavamo quella curva target, potevi usare quella curva target come standard e quindi per ogni batch calcolare la differenza da quello standard. Quindi, per esempio, qui ho |
| una curva di un lotto che è rappresentata qui in blu... o scusa, in rosso. La curva standard è in blu e sto prendendo la differenza e la differenza qui è su questa curva verde in basso. |
| E puoi semplicemente integrare su quella curva per trovare l'area sotto la curva, e poi potresti usarla nel tuo programma di controllo del processo statistico. E voglio solo guidarti rapidamente attraverso i passaggi per farlo. |
| Quindi ecco il mio tempo e i miei valori di torbidità standard, la mia torbidità per quel primo lotto, e ho appena calcolato la differenza tra quei due. E poi quello che puoi fare è che puoi |
| usa l'adattamento Y per X per creare un modello spline per quella differenza nel tempo, quindi puoi salvare i coefficienti per quel modello in una tabella di dati. |
| Quello che otterrai sono i tuoi valori X e i quattro coefficienti che puoi usare per costruire il modello spline. Ed ecco la formula per costruire il modello spline, |
| e poi integri questa formula. Quindi puoi farlo tramite lo scripting, ho scelto di farlo nell'editor delle formule. Quindi ho appena determinato l'area per ogni sezione della curva qui semplicemente integrando a mano quella formula precedente. |
| Quindi, una volta che ho queste sezioni di aree, devo solo sommare le aree che mi interessano. Quindi posso calcolare l'area per la curva totale. |
| Posso farlo anche solo per la fase di crescita e solo per la fase di morte, e l'ho fatto quassù |
| nella mia variabile di tabella. Quindi ora ho una variabile per la mia differenza integrata totale, per la mia differenza integrata solo durante la fase di crescita e la mia differenza integrata durante la fase di morte. |
| E in sostanza, lo fai per ciascuno dei lotti. Qui l'ho fatto per tutti i 20 lotti e ora puoi eseguire il controllo del processo statistico su quelle variabili. |
| Quindi questi sono i miei approcci che avrei adottato per esaminare il monitoraggio dei processi e anche la comprensione dei processi e l'ottimizzazione dei processi utilizzando l'esploratore dei dati funzionali. Spero che darai un'occhiata e che sia un gioco da ragazzi anche per te. Grazie. |