Fujifilm Diosynth Biotechnologies è un'organizzazione di sviluppo e produzione a contratto (CDMO) dotata di un reparto dedicato alla caratterizzazione dei processi, focalizzato sull'esecuzione di studi di caratterizzazione dei processi (PCS). L'obiettivo del PCS è dimostrare che i processi dei nostri clienti sono resistenti alle variazioni dei parametri o ai normali intervalli operativi.
La progettazione di esperimenti (PCS) utilizza comunemente la progettazione di esperimenti (DOE) per studiare gli effetti degli input di processo sugli attributi di qualità (QA) e sugli indicatori di prestazione di processo (PPI). L'analisi DOE è uno strumento utile per identificare gli input che hanno un effetto su QA/PPI, ma è principalmente quantitativa.
Oltre alla tradizionale analisi DOE, il calcolo dell'indice di impatto (IR) per ciascun input fornisce una valutazione quantitativa e qualitativa e può aiutare nell'assegnazione di un parametro come critico o meno. L'IR fornisce una misurazione della dimensione dell'effetto rilevante entro un intervallo accettabile.
Eseguire i calcoli manualmente richiede molto tempo ed è soggetto a errori. Presenteremo uno strumento di automazione in grado di estrarre le informazioni richieste da un modello DOE e calcolare l'IR. Un'interfaccia consente all'utente di personalizzare il calcolo dei risultati.
Ciao a tutti. Sono davvero felice di essere qui oggi con il mio collega Sam. Oggi parleremo di rapporti di impatto. In pratica, qual è l'impatto dei fattori DoE sui risultati o sulle risposte DoE? Introdurrò il concetto, i calcoli e gli esempi in JMP, e poi passerò la parola a Sam, che vi guiderà nell'automazione di questo processo usando JSL e vi mostrerà come lo ha fatto lui stesso in un componente aggiuntivo.
Prima di tutto, è il momento delle confessioni. Avrei voluto intitolare questo intervento "Cosa hanno in comune gli scienziati della caratterizzazione dei processi con gli scienziati della NASA?", ma il collegamento era troppo labile e forse sarebbe risultato un po' mistificatorio. Ciononostante, continuo a usare i concetti qui. Ecco perché nella prima diapositiva abbiamo le immagini dei meteoriti. Questa è la mia metafora. Guardo i crateri da impatto e li confronto con i tassi di impatto perché abbiamo bisogno di divertirci un po'.
Cosa sta succedendo qui? Abbiamo un meteorite molto simile, e potrebbe cadere sulla Terra, su Marte o sulla Luna, e le condizioni sarebbero diverse. Qui abbiamo, prima di tutto, un'atmosfera, o pochissima atmosfera o nessuna atmosfera, che modifica l'esplosione, che modifica il comportamento del meteorite. Se ci si trova sulla Terra, il cratere d'impatto che si formerà potrebbe avere un impatto davvero enorme su ciò che accade intorno, perché sulla Terra viviamo in mezzo alla gente.
Con questo in mente, cosa affronteremo oggi? Esamineremo un altro rapporto statistico. Gli statistici amano i loro rapporti. Poi vedremo cosa misura specificamente il rapporto di impatto. Infine risponderemo a questa domanda: "Posso calcolarlo in JMP?". La risposta è ovviamente sì, e si può fare in diversi modi. Potete farlo anche se è un po' laborioso. Vi guiderò manualmente. Salterò questo passaggio perché non abbiamo tempo, ma abbiamo creato un flusso di lavoro per semplificare un po' la gestione delle tabelle.
Poi passerò la parola a Sam, che vi mostrerà il modo più semplice per calcolare l'impact ratio cliccando sul suo componente aggiuntivo JMP. Qui abbiamo un disegno a mano libera fatto da me, fatto male, per mostrarvi qualcosa che probabilmente avete visto molte volte, perché si tratta di un grafico di controllo, onnipresente nel mondo degli statistici. Qui abbiamo un output, che cambia nel tempo man mano che creiamo più batch, ad esempio.
In questo grafico abbiamo delle zone. Nella zona blu-viola, abbiamo la posizione in cui si colloca il nostro output. Poiché si tratta di dati distribuiti normalmente, possiamo fare una previsione su dove si collocherà nel tempo. Qui abbiamo delle statistiche che ci forniscono una previsione di quanto ampia potrebbe diventare questa zona blu. Poi, in verde, tra due specifiche, abbiamo una zona sicura di tipo cliente. I clienti tendono a fornirci specifiche, oppure potremmo aver calcolato un criterio di accettazione a partire dal lavoro di sviluppo, ad esempio.
Ciò che vogliamo fare è assicurarci che il nostro processo si trovi in una zona ben delimitata dalla zona sicura quando eseguiamo il controllo di processo. Un rapporto utilizzato a questo scopo è l'Indice di Capacità, come il CPK e il PPK, che sostanzialmente rapporta questa zona a questa zona verde. Questo è il rapporto di impatto più simile che ho trovato. Qui abbiamo quasi lo stesso grafico. Si vede che ho riutilizzato lo stesso disegno. L'unica cosa che cambia è che questa volta, invece di avere statistiche che prevedono la diffusione dei dati, abbiamo statistiche che prevedono la forma dei dati. Stiamo modellando cosa succede a un output specifico quando si modifica l'input e si sposta il suo valore da basso ad alto.
Questo è ciò che faresti se stessi eseguendo un DoE e modificassi sistematicamente le condizioni operative. Più in particolare per la caratterizzazione del processo, questo intervallo da basso ad alto sarebbe un intervallo che vorresti dimostrare essere accettabile. Qui abbiamo un'equazione finale, e abbiamo una zona blu, il minimo e il massimo previsti per la nostra risposta, e abbiamo ancora una zona verde, ciò che è accettabile per fornirci un prodotto di qualità alla fine del processo.
Stiamo verificando, ancora una volta, se la deviazione occupa una porzione accettabile della nostra area di sicurezza o di gioco. Questo rapporto di impatto può aiutarci a confrontare l'impatto di diversi fattori perché otterremo un modello di questo tipo per tutti i nostri fattori. Potrebbe anche essere un criterio per classificare tali fattori se questo fa parte di un DoE. Cosa misura realmente questo rapporto di impatto? Ne avevi già avuto un'idea nella diapositiva precedente, ma torniamo ai meteoriti.
I nostri scienziati della NASA hanno calcolato due cose: il punto in cui il nostro meteorite impatterà sul pianeta e il raggio del cratere d'impatto. Hanno detto che, finché saremo ben all'interno di questa zona verde di sicurezza, chiunque viva all'esterno starà bene. Naturalmente, questo non sarebbe vero per il meteorite, ma seguitemi per un secondo. Quello che stiamo confrontando qui è fondamentalmente il raggio del cratere con il raggio della zona di sicurezza. Speriamo che questo numero sia molto più piccolo di questo. Che la zona di sicurezza sia molto più grande rispetto al cratere d'impatto.
Ora, quello che succede è che potremmo essere fuori bersaglio, tanto che gli scienziati della NASA avevano previsto che il meteorite sarebbe caduto qui, ma è caduto qui. Anche se l'area di sicurezza era probabilmente abbastanza grande per un meteorite/processo centrato, in questo caso qui, abbiamo in realtà il cratere d'impatto ben al di fuori dell'area di sicurezza. Spero che tu non viva da queste parti. Un'altra possibilità, e ce ne sono molte altre, sarebbe che siamo nel bersaglio qui, ma abbiamo calcolato male il cratere. Il cratere è molto più grande di quanto pensassimo. Di nuovo, è al di fuori dell'area di sicurezza, e il raggio dell'area di sicurezza è in realtà inferiore a quello del cratere qui. Questa è solo un'immagine, vediamo come apparirebbe su un grafico. Di nuovo lo stesso grafico con qualche freccia in più qui e qualche equazione.
In parole povere, il rapporto di impatto consiste nel rapportare la dimensione dell'effetto alla distanza rispetto alle specifiche o al criterio di accettazione. La dimensione dell'effetto, in questo caso, è rappresentata da quelle sottili frecce blu e arancioni. È la distanza tra la previsione minima e il centro o tra la previsione massima e il centro. Stiamo rapportando questo valore alla distanza tra il centro e le specifiche, su entrambi i lati. In questo caso, questa distanza occupa il 70% della nostra zona di sicurezza. Questo non è un buon rapporto di impatto. Qui è solo del 40%, ma è comunque un valore piuttosto alto. Ma per essere onesti, dovremo prendere il massimo tra questi due valori, quindi considereremo il 70%.
Questo è il mio disegno a mano. Passiamo a un vero grafico JMP. Questo è un grafico a salto, ed è solo una parte di un profiler che si otterrebbe al termine di un'analisi DoE. In questo caso, abbiamo una leggera curvatura, ma le zone sono le stesse. Se vogliamo calcolare il nostro rapporto di impatto al minimo, la previsione è che dal minimo al centro occupi circa il 42% del minimo alle specifiche. D'altra parte, la previsione dal minimo alla cima o dal massimo occupi solo circa il 7% della nostra zona di sicurezza.
Ciononostante, dovremo segnalare questo numero, quindi è comunque piuttosto alto. La domanda a cui stiamo cercando di rispondere è: siamo in linea con l'obiettivo, con un impatto minimo rispetto a quanto accettabile? Ora, uscirò da qui e passerò a JMP per mostrarvi come eseguire questa operazione manualmente, nel modo più doloroso. Qui abbiamo un DoE standard, a cinque fattori. Abbiamo condiviso solo quattro risposte. È tutto anonimo, quindi mi dispiace molto, ma i numeri sembrano un po' strani perché sono tutti compresi tra -1 e uno.
Ma quello che stiamo cercando qui è di specificare i limiti di risposta in modo da poter giocare con l'obiettivo per quelle risposte. Massimizzare per la maggior parte di esse qualcosa come le impurità che potrebbero essere ridotte al minimo, e potremmo non essere nemmeno interessati a quanto in alto arrivino. Non mi dilungherò sulla modellazione perché non è per questo che siamo qui. Mi dispiace. Script sbagliato. Ecco fatto. Abbiamo già adattato questo, e questo è l'esempio che avevo negli appunti, quindi continuerò con questo.
Qui stiamo usando il Profiler per ottenere tutti i numeri necessari per la nostra equazione. Lo impostiamo al punto centrale e registreremo quel numero. Ecco fatto. Queste sono le condizioni del punto centrale. Qui tutto viene mantenuto al punto centrale. Chiederò a JMP di ricordare questa impostazione. Lo chiamerò Punto Centrale di Carico perché mi interessa il carico qui. Questo è il mio primo. Poi manualmente, non avrei davvero bisogno di chiedere aiuto a JMP. Tutto è al punto centrale per quei due. Potrei semplicemente spostare questo al minimo e posso registrarlo di nuovo come valore minimo. Questo è il mio carico minimo qui.
Per il massimo, è un po' più complicato. Potrei provare a fare così. Potrei ingrandirlo e cercare di ottenere il massimo qui. Ma per questo mi affiderò a JMP. Faccio clic con Ctrl + Alt, poi sugli altri due grafici qui e bloccherò le impostazioni del fattore al punto centrale. Perché mi interessa solo cosa sta facendo il carico e qual è il massimo per il carico quando tutto il resto è mantenuto a quel punto. Poi userò il massimizzatore di JMP.
Ecco fatto. Avrei potuto arrivarci manualmente, ma ora so che è esattamente al massimo. Salverò anche questo. Abbiamo il massimo. Ora ho quasi tutto ciò che mi serve. Se lo fai manualmente, lo fai per ogni fattore o parametro dell'equazione in questo elenco, per ogni risposta. Se hai modelli abbastanza grandi e hai forse 5-10 risposte, questo diventa molto lavoro molto rapidamente.
Dovresti quindi esportare tutti questi dati in una tabella. Lo useresti se ne avessi molti, ma io ne ho solo uno, quindi farò così. Qui hai tutte le informazioni che ti servono nel formato sbagliato. Quello che dobbiamo tenere a mente è: dove si trovano? Quindi vogliamo questo numero qui. Ora, dovresti usare la trasposizione nelle tabelle qui, ma non lo farò perché l'ho già fatto in precedenza. Voglio solo condividere velocemente questo con te. Perché non è soddisfacente? Qui abbiamo i dati della trasposizione. Abbiamo tutte le etichette della tabella qui.
Manualmente, dovremmo aggiungere le specifiche inferiore e superiore. Da queste, dal minimo, dal massimo e dal CP, possiamo calcolare il numeratore dei rapporti, il denominatore dei rapporti e il rapporto stesso. La distanza piccola su quella grande dà il rapporto di basso impatto. Quindi si usa semplicemente la formula per ottenere il massimo dei due, e si dovrebbe ripetere l'operazione per ognuno di essi. Ora lascio la parola a Sam, che potrebbe mostrarvi quanto sia più facile farlo una volta che si ha un componente aggiuntivo. Sam?
Grazie, Gwen. Come ha detto Gwen, abbiamo deciso di creare un componente aggiuntivo per automatizzare questa attività. Ora vi darò solo una rapida dimostrazione di come funziona. Sto usando la stessa tabella dati con cui Gwen ha appena lavorato. Abbiamo deciso di creare un componente aggiuntivo semplicemente perché semplifica l'esecuzione di uno script rispetto all'esecuzione diretta da una finestra di script. Il bello di avere un componente aggiuntivo è che, passando il mouse sul nome del componente aggiuntivo, è possibile aggiungere una descrizione comandi. In questo caso, la descrizione comandi indica semplicemente la finestra corretta da cui eseguire il componente aggiuntivo.
Infatti, se provo a cliccarci sopra, vedrai che non succede nulla perché non sono nel posto giusto. Se ora apro lo script con i modelli che abbiamo creato in precedenza, puoi vedere che ora posso eseguire lo script e che quindi funzionerà correttamente. Innanzitutto, all'utente vengono presentate alcune finestre con alcune istruzioni e, più avanti, alcune aree per l'input dell'utente. La prima finestra contiene solo alcune istruzioni sui requisiti per la tabella dati sottostante.
Ad esempio, le colonne dei fattori devono essere codificate e tutte le unità devono essere inserite come proprietà di colonna. Se questo non è il caso per nessuna delle colonne, puoi semplicemente premere "Annulla" e posso tornare indietro e apportare le modifiche. Ma in questo caso, so che sono tutte codificate correttamente. Premo di nuovo "Esegui" e poi clicco su "OK". La finestra successiva contiene solo l'area per l'inserimento delle impostazioni dei fattori. Noterai che qui abbiamo un input per i fattori categoriali.
Non è possibile calcolare un rapporto di impatto per un fattore categoriale. Tuttavia, tutti i fattori categoriali contenuti nei modelli devono essere fissati a un'impostazione specifica, quindi questo consente all'utente di inserirla qui. Per i restanti fattori, che erano fattori continui valutati nel DoE, è possibile vedere che abbiamo un'area per l'inserimento di tali impostazioni. Si può notare che lo script legge automaticamente il valore minimo e massimo semplicemente leggendo dalla tabella. Inoltre, calcola il punto centrale semplicemente osservando il punto intermedio tra il minimo e il massimo.
Tuttavia, in alcuni casi, il punto centrale potrebbe non trovarsi esattamente al centro dell'intervallo. In questo caso, era il caso del carico, quindi lo modificherò a 20. È possibile modificare qualsiasi valore. Il vantaggio di poter modificare l'input qui è che se eseguiamo l'addizione e otteniamo rapporti di impatto troppo elevati per alcuni fattori, possiamo semplicemente eseguire nuovamente l'addizione e modificherò i valori qui, provando a valutare un intervallo di fattori ridotto, ad esempio. Quindi verificherò se il rapporto di impatto appare migliore in quel nuovo intervallo.
Ma manterrò invariati i restanti valori e cliccherò su OK. La finestra finale conterrà solo l'input per i criteri di accettazione della risposta. Inserirò quei valori ora. Se c'è un solo criterio, puoi semplicemente inserirne uno e lasciare l'altro vuoto. Se non hai criteri, puoi lasciare entrambe le caselle vuote e sarà comunque possibile calcolare il rapporto di impatto. In tal caso, si tratta semplicemente della differenza percentuale tra la risposta del punto di riferimento e la previsione minima o massima. Non offre esattamente la stessa misurazione in termini di significatività pratica, ma verrà comunque calcolato dallo script.
Ora, se clicco su OK, potete vedere che la tabella di riepilogo è stata generata. Ma se torno alla finestra da cui ho eseguito il componente aggiuntivo, potete vedere che sotto ogni profiler di previsione sono state memorizzate le impostazioni. Queste sono le impostazioni utilizzate per ottenere la previsione minima e massima per ciascun fattore del modello. Questo è utile perché potete tornare indietro e vedere come sono stati effettuati i calcoli. È utile poterlo rivedere.
Ma ora darò solo una panoramica molto generale di come funziona effettivamente lo script. Innanzitutto, lo script esegue un ciclo su ogni modello di risposta nella finestra. Quindi imposta la desiderabilità per massimizzare la risposta. Lo script esegue quindi un ciclo su ogni termine del modello. Per il primo termine, che in questo caso è il carico, sblocca le impostazioni dei fattori, in modo che possa muoversi liberamente. Quindi tutti gli altri fattori vengono bloccati al loro valore di riferimento. Lo script esegue quindi la funzione "Massimizza e ricorda". Ora puoi vedere che quell'impostazione è stata salvata nel Profiler e che abbiamo massimizzato questa risposta semplicemente modificando il fattore di carico in questo caso.
Quindi continua l'operazione per ogni termine del modello, quindi la desiderabilità viene impostata per minimizzare la risposta, e il processo viene ripetuto ancora. Ogni termine viene quindi valutato nuovamente per ottenere la previsione minima. Infine, tutte le impostazioni memorizzate vengono aggiornate in modo che il nome sia significativo. Quindi mostriamo il nome del fattore e se l'obiettivo era minimizzare o massimizzare la risposta. Infine, l'intero processo viene ripetuto per ogni modello di risposta contenuto nella finestra. Ecco come funziona lo script. Torniamo ora alla tabella di riepilogo che è stata generata.
Come potete vedere, tutti i dati vengono semplicemente raccolti e visualizzati in questa tabella. Ogni riga contiene un fattore specifico per ogni modello di risposta valutato. Abbiamo colonne per i criteri di accettazione inseriti dall'utente. Ci sono poi colonne che mostrano la previsione alle impostazioni del set point, e poi la previsione minima e massima per ciascun fattore contenuto in quel modello di risposta. Le colonne rimanenti sono solo formule. Qui abbiamo la differenza tra la previsione minima e la previsione del set point, e poi, analogamente, per la previsione massima e la previsione del set point.
Le ultime due colonne rappresentano semplicemente i rapporti di impatto calcolati. Abbiamo il rapporto di impatto inferiore e il rapporto di impatto superiore. Noterete che abbiamo un solo criterio, quindi per le impurità in questo caso, poiché abbiamo solo un criterio di accettazione superiore, calcoliamo solo il rapporto di impatto superiore. L'ultima colonna rappresenta semplicemente il rapporto di impatto complessivo. Questo è semplicemente il massimo tra il rapporto di impatto inferiore e quello superiore. Concluderò questa parte dell'intervento riassumendo i vantaggi dell'utilizzo di un componente aggiuntivo per automatizzare questa attività e saltare.
In primo luogo, utilizzare il componente aggiuntivo è molto più rapido rispetto all'esecuzione manuale. In secondo luogo, questo consente di ripetere l'attività molto più facilmente. Come ho detto, se si esegue il componente aggiuntivo e si ottengono rapporti di impatto considerati troppo elevati, è possibile rieseguirlo, modificare le impostazioni dei fattori e verificare se si riesce a ottenere rapporti di impatto accettabili. Infine, il rischio di errori è molto inferiore perché non è necessario eseguire alcuna trascrizione o manipolazione dei dati. Lo script raccoglie tutti i dati e li inserisce in questa tabella che viene visualizzata alla fine.
Ok, grazie. Con questo si conclude la mia parte del discorso. Lascio la parola a Gwen per riassumere. Grazie.
Oltre a quanto detto da Sam, un grande vantaggio del componente aggiuntivo è che è possibile ripetere i calcoli e modificare i dati inseriti nelle prime due tabelle. È possibile modificare le impostazioni dei fattori se, ad esempio, si desidera includere i dati stabiliti per mostrare dove si trova il range di accettabilità comprovato, presumibilmente leggermente al di fuori del normale range operativo. L'altra modifica possibile è la revisione delle specifiche o dei criteri di accettazione. Se i rapporti di impatto fossero davvero elevati, la zona di sicurezza sarebbe forse un po' troppo piccola per operare in modo confortevole.
Potresti estendere le specifiche e verificare se tutti i tuoi rapporti di impatto sono leggermente inferiori. Probabilmente potresti usare questo come giustificazione per modificare i criteri di accettazione. Un'altra cosa che puoi fare con questi rapporti di impatto è usarli collettivamente come criterio per classificare i parametri di processo testati. Potrebbe essere che un parametro di processo sia critico, altamente critico o non critico alla fine del DoE perché il suo impatto è molto piccolo. Credo che questo concluda il nostro discorso odierno sui rapporti di impatto. Siamo entrambi disponibili a rispondere a qualsiasi domanda. Grazie mille.