Come accennato nel precedente cavo JMPer , il modello finale che ho creato nel mio ultimo post non è affatto perfetto e può essere applicato solo a una sottosezione molto piccola del set di dati. In questo post sul cavo JMPer, intendo evidenziare parte del lavoro che ho svolto prima dell'approccio statistico per provare a incorporare più dati, in un approccio più "engineering first". Ciò dovrebbe evidenziare l'importanza della conoscenza del dominio quando si costruiscono modelli di equazioni strutturali (SEM); l'importanza di conoscere i limiti del modello; e l'importanza di fare scelte di progettazione appropriate che ti aiutino a progettare il modello specifico per le tue esigenze specifiche.
Lavoro preliminare
Tornando all'inizio del mio lavoro sul Tennessee Eastman Simulator (TES), il primo passo (come per qualsiasi set di dati) è eseguire un'analisi esplorativa dei dati per determinare eventuali caratteristiche potenzialmente interessanti sui nostri dati di cui potremmo aver bisogno di essere a conoscenza. Quando l'ho fatto, una delle analisi che ho eseguito è stata un'analisi fattoriale, principalmente perché in SEM conoscere il numero di fattori latenti necessari per modellare correttamente il sistema è fondamentale.

Come puoi vedere dal grafico a barre del set di dati completo, abbiamo bisogno di un numero folle di fattori per modellare correttamente il TES, circa 20 o più fattori. Che ovviamente sono molti fattori e renderebbero il nostro SEM estremamente complicato. Ma alla maniera di un ingegnere, volevo rendere il mio modello il più robusto e completo possibile. Quindi, considerando la quantità di dati, il numero di flussi e il numero di unità di processo, inizialmente ho tentato di creare il SEM utilizzando fattori latenti come "condizione del flusso x" o "condizione dell'unità x". I problemi nei processi chimici possono derivare da una varietà di fattori, ma basando i fattori latenti non solo su una causa principale sottostante, ma anche su una posizione fisica nel sistema, speravo che si sarebbe ottenuto un modello molto più perspicace. Tuttavia, non è stato così e in effetti il tentativo di creare il modello in questo modo ha portato a un SEM risultante molto confuso da capire, offrendo anche poca o nessuna comprensione delle condizioni di processo in queste posizioni fisiche.
Ciò è avvenuto principalmente perché prima di intraprendere questo progetto non mi rendevo conto della capacità con cui la complessità del modello aumenta mentre cerco di renderlo più robusto aggiungendo più fattori latenti e ampliando la portata dei guasti che il modello può prevedere. Basta dare un'occhiata al mio tentativo di realizzare un SEM basato su flussi e unità:

Non mi aspetto che tu capisca nessuno dei SEM di cui sopra, li sto includendo per dimostrare perché ho abbandonato questo approccio più "engineering first" in favore di un modello più semplificato che può ancora fare previsioni ragionevoli. In sostanza, ciascuna delle variabili manifeste è la stessa del mio modello finale, ma ogni fattore è un flusso o un'unità. Tieni presente che questo SEM è solo il passaggio 1, se questa idea fosse stata portata avanti ulteriormente la complessità sarebbe aumentata esponenzialmente con un guadagno relativamente piccolo. Soprattutto considerando un grosso problema correlato all'autocorrelazione che trasformerebbe il modello di cui sopra in un pasticcio ancora più grande se applicato.
Problemi di autocorrelazione
Come ho detto sopra, la complessità del modello diventa rapidamente un problema non solo in questo esempio ma in SEM in generale. Questo perché SEM è un metodo molto visivo e quindi ci possono essere solo un certo numero di elementi visivi prima che il modello inizi a sembrare molto opprimente. Ecco perché dopo la mia ricerca iniziale ho deciso di prendere la decisione di progettazione di ridurre il numero di variabili manifest che ho incluso nel mio modello, nonché la decisione di non includere variabili lag.
Quindi, cosa sono le variabili di ritardo e perché sono un problema così grande qui? Bene, in sostanza, i processi chimici sono in genere continui, il che significa che c'è un flusso costante di risorse attraverso il processo. Ciò significa anche che ci sarà una forte correlazione tra il valore attuale di un punto dati e il suo valore precedente. Ciò ha senso poiché se ho incluso un errore di aumento della temperatura, la temperatura aumenterà costantemente fino al suo nuovo valore di equilibrio anziché saltare direttamente al nuovo valore. I cambiamenti richiedono tempo per verificarsi in un processo chimico e il cambiamento osservato è relativo all'ultimo valore osservato. Quanto il punto dati precedente influenzi il punto dati successivo è noto come autocorrelazione e può essere analizzato nella piattaforma di serie temporali JMP.
Ok, è un sacco di preamboli su questa idea, quindi lasciatemi illustrare il problema in modo semplice. Di seguito è riportata la forma più semplice di autocorrelazione possibile, utilizza una variabile e ha due ritardi.

Non sembra poi così male, ci mostra tutte le correlazioni tra ogni variabile di ritardo, nel contesto del nostro SEM avremmo quindi una variabile manifesta per ogni ritardo. In questo esempio abbiamo solo 3 coefficienti di correlazione da calcolare. Proviamo ad aggiungere un'ulteriore variabile al sistema e vediamo quanto sono complicate le cose:

Qui puoi vedere che stiamo iniziando a ottenere un numero folle di correlazioni e questo vale solo per due variabili manifeste. In questo modello con solo 2 ritardi e 2 variabili dobbiamo calcolare 15 correlazioni! Questo è un enorme aumento rispetto al modello precedente, quindi puoi immaginare quante correlazioni dovrebbero essere calcolate per un modello con solo 3 o 4 variabili. Nel TES ci sono 52 variabili! Chiaramente tentare di farlo manualmente sarebbe ridicolo, se non impossibile.
Ho utilizzato la piattaforma di serie temporali in JMP, che è stata davvero utile per identificare la presenza di autocorrelazioni nei miei dati. Sfortunatamente, data la difficoltà nell'applicare questi principi a un set di dati così ampio, ho dovuto prendere la decisione di progettazione di non includere variabili di ritardo. Ovviamente, ciò avrà un impatto sulla qualità del modello finale, se guardi il mio post precedente puoi vedere che il mio modello finale non è affatto perfetto e questo è uno dei motivi. Se vuoi saperne di più sull'autocorrelazione, dai un'occhiata al post di Laura su un caso d'uso SEM, in cui spiega ulteriormente il concetto.
Limitazioni del mio SEM
È importante essere realistici sui nostri modelli e valutarne onestamente la capacità. Durante il processo di creazione del mio SEM per il TES ho dovuto prendere varie decisioni di progettazione che alla fine hanno avuto un impatto sull'efficacia del mio modello finale. Principalmente questo è avvenuto attraverso due scelte principali, la prima è stata la decisione di non includere variabili di ritardo nel modello, di cui ho già parlato. La seconda è stata la scelta di tentare di identificare solo un errore alla volta. Questa seconda scelta di progettazione è nata dalla necessità di provare a mantenere il modello semplice e facile da capire, ma questa decisione alla fine ha significato un sacrificio nell'applicabilità del modello. In sostanza, intendo dire che se questo SEM fosse stato implementato in un processo chimico reale per provare a identificare gli errori, allora fallirebbe miseramente, poiché se si verificasse un errore diverso da quello previsto, non verrebbe rilevato. Chiaramente questo significa che questo metodo non potrebbe essere utilizzato come sostituto dei grafici di controllo multivariati basati su modello (MDMCC) nel controllo di processo che sono in grado di rilevare qualsiasi deviazione. Per comprendere meglio i vantaggi di MDMCC, consiglio il post di Jeremy Ash.
Tuttavia, durante il tempo trascorso lavorando a questo progetto, ho scoperto che SEM è un'idea estremamente interessante e posso sicuramente vedere margini di miglioramento del modello che ho realizzato qui. Il mese prossimo suggerirò ed esplorerò alcune idee che ho avuto durante il mio progetto che potrebbero portare a un miglioramento del modello. Questi miglioramenti sono stati esclusi da questo primo progetto poiché avrebbero richiesto molto più tempo da dedicare al progetto e sono soluzioni potenzialmente piuttosto complicate.
Anche al di fuori dei miglioramenti diretti a questo controllo di processo SEM, posso anche vedere che c'è spazio per l'idea di SEM da esplorare in diverse aree dell'ingegneria chimica. Sebbene il problema chiave che ho avuto personalmente quando ho lavorato con SEM in un contesto ingegneristico sia la definizione di una variabile latente. In ingegneria vengono misurate molte variabili, il che significa che abbiamo già i dati e poiché i processi sono ben compresi abbiamo già correlazioni empiriche tra di loro. Per questo motivo, ho trovato particolarmente difficile stabilire un set di buoni fattori latenti, come potresti aver notato dal mio altro lavoro preliminare. Pertanto, penso che l'identificazione dei fattori latenti sia la chiave per trovare l'uso perfetto di SEM in ingegneria e quindi ti incoraggio a esplorare questa idea e a farmi sapere quali variabili latenti hanno funzionato bene per te!