Analisi di ricorrenza in JMP 18 StandardCiao a tutti
Sono un nuovo membro della community. Mi è stato assegnato il compito di eseguire un'analisi di ricorrenza sui nostri dati. Non ho mai usato JMP né ho mai eseguito analisi di ricorrenza. Quindi sicuramente porrò qualche domanda stupida.
I dati che abbiamo riguardano le riparazioni dei robot. Vogliamo vedere il pattern degli eventi di riparazione per i bot e mi è stato detto di usare l'analisi di ricorrenza (non so perché).
Abbiamo circa 15.000 robot. Ho utilizzato le colonne "bot_id", "accumulated_transactions", "site", "cost", "bot_type" e "component". "Site" include le diverse posizioni in cui operano i robot. "cost" è il valore 0, 1 (1 indica una riparazione e 0 indica l'ultimo evento rilevato dai bot). "component" indica le diverse parti in riparazione. Vogliamo vedere l'effetto di siti, bot_type e parti su mcf e sul modello di riparazione. Utilizzo principalmente il modello NHPP logaritmico lineare.
Ho qualche dubbio sui dati. Abbiamo circa 1000 bot in prestito che si spostano su tutti i siti. Se seleziono la colonna "sito" come ruolo "Raggruppamento" nell'analisi per visualizzare l'MCF per diversi siti, questo influisce sul risultato? A quanto ho capito, ogni sito considererà il bot in prestito come un bot indipendente. Dovrei escludere quei 1000 bot in prestito se voglio "Raggruppare" per "sito"?
I dati che ho ricevuto indicano il valore "costo" pari a 0 all'ultimo evento per ogni sito e bot. Quindi, se un bot ha funzionato in due siti, ci saranno due valori 0 per questo bot, ciascuno come ultimo evento per sito. Questo influisce sul modo in cui JMP conta i bot attivi quando calcola il valore MCF? A quanto ho capito, un valore di costo pari a 0 indica la fine del bot. Se ci sono più valori 0 per un bot, come viene gestito?
Avrei altre domande ma vorrei fermarmi prima che diventi troppo lungo.
Grazie per il tuo aiuto.
Analisi e modellazione dei dati di baseRe: Analisi di ricorrenza in JMP 18 StandardPenso che la variabile "sito" sia la cosiddetta "covariata variabile nel tempo" o "stress variabile nel tempo" in gergo statistico. Se si desidera includere covariate variabili nel tempo nel modello di ricorrenza, è necessario aggiungere una riga ogni volta che il livello di una delle covariate variabili nel tempo cambia. In quel momento, il valore della colonna dei costi viene impostato a zero. Ad esempio, se il robot ID1 si è spostato da A a B, da B a C e da C a un altro luogo rispettivamente ai tempi 1, 4 e 5, è necessario preparare la seguente tabella.
bot_id costo del tempo del sito
1 A 1 0
1B40
1 C 5 0
La variabile "componente" sembra il cosiddetto "rischio concorrente" in gergo statistico. L'analisi di ricorrenza di JMP non supporta il rischio concorrente. È possibile eseguire solo l'analisi successiva.
(1) Imposta il costo=1 qualunque sia il tipo di guasto che si verifica.
(2) Impostare il costo=1 solo quando si verifica un errore specifico.
La tabella dati allegata mostra un esempio di gioco per un solo robot. Il costo è impostato con il metodo 1) descritto sopra. Eseguire lo script della tabella nella tabella dati allegata. Il Profiler mostra il conteggio cumulativo stimato dei guasti se i robot lavorano sempre e solo in un sito specifico (ad esempio, lavorano sempre e solo nel sito "A").
Temo di non aver capito bene la tua situazione. Ma spero che il mio commento precedente ti dia qualche spunto per la tua analisi.
Re: Analisi di ricorrenza in JMP 18 StandardGrazie per la risposta rapida. Ho capito il tuo punto di vista sull'inclusione di zero costi per ogni modifica al sito. Dovrei fornirti maggiori dettagli.
Penso che la preoccupazione ora sia come JMP gestisce il costo 0. Sembra che JMP escluda i bot prima del dovuto, se il bot ha un costo 0 all'inizio. Con meno bot considerati efficaci da JMP, il valore mcf aumenterà. Ecco cosa vedo. In alto ci sono dati con un costo 0 per bot. In basso ci sono dati con più costi 0 (uno per bot per sito). Il valore mcf inferiore è maggiore perché JMP esclude il bot con costo 0 troppo presto. Questa è la mia interpretazione, che potrebbe essere errata.


Ho posto la stessa domanda a ChatGPT e la risposta è la seguente. Ho pensato che 0 costi zero per bot per l'ultimo evento visto fosse la soluzione migliore. Fatemi sapere cosa ne pensate.
Opzione A: semplice e robusta (consigliata per prima)
Mantieni una riga per evento (costo=1) with the Site value active at that event, e una riga finale Costo=0 per bot at the bot’s last observed transaction.
This approach uses the event rows to carry the time-varying Site value. It’s simple, avoids multiple right-censor rows per bot, and JMP will correctly use the Site value that was in effect at each event.
Quando utilizzarlo: più comune; sufficiente se si necessita della covariata solo al momento dell'evento (che di solito è il caso).
Pro: semplice, evita che JMP interpreti erroneamente più 0.
Contro: non modella esplicitamente gli intervalli senza eventi in cui la covariata è cambiata, ma ciò è raramente necessario per la stima NHPP.
Forma dei dati
Ogni riga è:
-
Riga evento: BotID, AccumulatedTransactions (event time), Cost = 1, Site = site_at_event
-
Riga finale di censura (una per bot): BotID, AccumulatedTransactions (last observed), Cost = 0, Site =
<LAST site="" or="" na=""></LAST>
Come JMP utilizza questo
-
When you add Site come una colonna che influenza Scala/Forma, JMP uses the Site value on each event row to estimate how Site shifts the log-rate and/or shape. Because each event row carries the site at that time, you have effectively encoded a time-varying covariate.
Re: Analisi di ricorrenza in JMP 18 StandardGrazie per la risposta.
In questa risposta vorrei spiegare quando sono necessarie le righe con Costo=0.
Ci sono due tipi di situazioni in cui abbiamo bisogno di righe con Costo=0. La prima è per rappresentare l'ultima volta in cui hai osservato ciascun robot. L'altra è per rappresentare la variazione delle covariate variabili nel tempo.
Se hai osservato fino a "t" e se il robot non ha fallito all'ultimo tempo osservato "t", devi includere l'ultima riga con Costo=0. Questa situazione è chiamata "censura a destra" nel gergo statistico. Nell'analisi ricorrente, la censura a destra è solitamente dovuta al fatto che possiamo ripetere ogni robot, quindi non possiamo osservare la "morte reale" o la "morte completa" del robot. Ad esempio, se l'ultima volta che hai osservato il robot ID001 è 100 e il robot non ha fallito a t=100, devi includere la riga seguente.
ID t Costo
001 ... ...
001 ... ...
001 100 0
Questa riga è necessaria per notificare a JMP che il robot è stato attivo fino a quando.
Se hai osservato fino a "t" e il robot ha fallito in quel momento "t", non è necessario includere l'ultima riga con Costo=0. Invece, è necessario includere l'ultima riga con Costo=1. Ad esempio, se l'ultima volta che hai osservato il robot ID001 è 100 e il robot ha fallito a t=100, è necessario includere la riga successiva con Costo=1.
ID t Costo
001 ... ...
001 ... ...
001 100 1
Sono necessarie anche righe con Costo=0 per rappresentare la variazione delle covariate. Ad esempio, se la covariata X cambia da A a B al tempo=50, è necessaria la seguente riga con Costo=0.
ID t X Costo
001 ... ... ...
001 50 A 0
001 ... B ...
Questa riga è necessaria per notificare a JMP la modifica delle covariate. Come ho scritto nella risposta precedente, questo tipo di covariate è chiamato "covariate variabili nel tempo".
Il grafico MCF è influenzato dall'inclusione o meno dell'ultima riga osservata con Costo=0. Il grafico MCF non è influenzato dall'inclusione o meno della riga con Costo=0 per le covariate variabili nel tempo. Tuttavia, i risultati del modello di adattamento sono influenzati da entrambi i tipi di righe con Costo=0.
Questa risposta è quella che ti aspettavi? In caso contrario, vorrei che rispondessi di nuovo.
Re: Analisi di ricorrenza in JMP 18 Standard@Caozheng0115 -san,
CORREZIONE PER LA MIA PRIMA RISPOSTA
La variabile "componente" sembra il cosiddetto "rischio concorrente" in gergo statistico. L'analisi di ricorrenza di JMP non supporta il rischio concorrente. È possibile eseguire solo l'analisi successiva.
(1) Imposta il costo=1 qualunque sia il tipo di guasto che si verifica.
(2) Impostare il costo=1 solo quando si verifica un errore specifico.
Se si utilizza la colonna Causa nella finestra di dialogo di avvio, è possibile eseguire l'analisi in (2) tramite la piattaforma Recurrence Analysis. La tabella dati allegata mostra un esempio.
Re: Analisi di ricorrenza in JMP 18 Standard
Ciao, grazie per la tua rapida risposta. Potresti spiegare perché l'opzione 2 non l'opzione 1? Nei tuoi dati di esempio, sembra che entrambi i metodi (una colonna per il costo e un costo individuale per due cause) funzionino e generino gli stessi risultati. Immagino che se volessi mostrare una causa nella Figura 1 e l'altra nella Figura 2, dovrei creare nuove colonne per il Costo per cause diverse in modo che i risultati siano coerenti. È questo che stai suggerendo? Che ne dici di una situazione simile per il Raggruppamento? Ad esempio, se raggruppo per sito, esiste un modo per mostrare il risultato di un singolo sito e un grafico che sia lo stesso di quello generato dai dati che includono più siti?
Ho controllato i dati di esempio che hai inviato. Sembra che tu abbia utilizzato la modalità come causa e il sito come effetto di scala nella prima analisi salvata. Il modello che hai utilizzato è un NHPP proporzionale. C'è un motivo per la scelta del modello? A quanto ho capito, il modello NHPP proporzionale presuppone una curva MCF di base comune per tutte le cause, aumentata o ridotta tramite fattori moltiplicativi. Nel mio caso, i diversi effetti causali non sono considerati proporzionali, quindi ho utilizzato il modello log-lineare. Fammi sapere se è questo il modello che dovrei usare.
Ho difficoltà a capire la curva di adattamento generata. La curva di adattamento rossa è per Fail 1? La curva di adattamento è molto lontana dalla curva MCF rossa. Perché succede questo? Ci sono due curve di adattamento blu. Qual è la curva di adattamento per Fail2? Perché vengono generate due curve di adattamento? Cos'è la curva di adattamento verde?
Oppure le curve di adattamento sono per siti diversi. Ma quella rossa ha solo una curva invece di due. Non capisco perché sia successo.
Grazie.

Re: Analisi di ricorrenza in JMP 18 StandardGrazie mille. È chiarissimo. Mi hai salvato la vita.
Ho un'altra domanda a riguardo. Se voglio confrontare l'effetto dei siti, dovrei inserire il sito come Ruolo di raggruppamento, Effetto scala o Effetto forma? Voglio mostrare anche l'MCF per ciascun sito, la curva di adattamento per ciascun sito e la stima dei parametri ( γ e δ) .
Ho visto due opzioni:
1. Non includere il sito come raggruppamento, ma compilarlo come effettori di scala e forma. In questo modo è possibile confrontare i parametri del modello (NHPP logaritmico lineare) tra diversi siti. Tuttavia, con questo metodo viene generata una sola curva MCF per il totale.
2. Includi il sito come Raggruppamento, riempilo anche come effettori di scala e forma (non so se posso farlo). In questo modo verrà generato il fattore di scala (MCF) per ogni sito, la curva di adattamento per ogni sito e i parametri del modello per confrontare l'effetto tra i siti. Il problema che ho riscontrato in questo modo è che il Raggruppamento genererà un modello individuale per ogni sito (potrei sbagliarmi) e non è un buon modo per confrontare gli effetti di un sito utilizzando modelli diversi.
Cosa dovrei fare? Dovrei generare una curva individuale nell'Opzione 2 e utilizzare la tabella dei risultati per la stima dei parametri utilizzando l'Opzione 1? In tal caso, le curve che mostro non corrisponderanno esattamente alla tabella dei parametri.
Molte grazie.
Re: Analisi di ricorrenza in JMP 18 StandardGrazie ancora per la risposta.
Anche se temo di non aver capito bene la tua situazione, ritengo che l'opzione (1) sia corretta.
Per quanto ne so, penso che la variabile Sito sia una covariata variabile nel tempo.
In tal caso, NON dovresti impostare la variabile Sito come colonna Raggruppamento.
Se si imposta il SITO nella tabella seguente,...
ID SITO ORA
1 1 15
1 2 31
1 1 49
1 2 57
1 1 102
... quindi JMP riconosce che ci sono due ID.
ID SITO ORA
1-1 1 15
2-1 2 31
1-1 1 49
2-1 2 57
1-1 1 102
Quindi (se non ho capito male la tua situazione e se la tua variabile Sito è una covariata variabile nel tempo) NON dovresti includere la variabile Sito per la colonna Raggruppamento.
C'è un'ulteriore nota.
Le stime non parametriche nel grafico MCF, che è il primo grafico visualizzato prima dell'adattamento del modello, non considerano la covariata variabile nel tempo. Inoltre, la curva stimata dal modello mostra la curva quando tutte le covariate variabili nel tempo sono fissate a ciascun valore del sito. Pertanto, non possiamo utilizzare il grafico MCF per verificare se il modello è ben adattato o meno se il modello presenta covariate variabili nel tempo.
Lo script seguente mostra un semplice esempio pratico. In questi dati simulati, i parametri di scala (theta) e forma (beta) vengono modificati dopo i primi 30 punti temporali. Le variabili Sito mostrano la modifica, e questo Sito è la variabile temporale. Per semplicità, utilizzo il Processo di Poisson Non Omogeneo di Potenza.
La covariata variabile nel tempo, Sito, non deve essere inclusa nella colonna Raggruppamento.
Names Default To Here(1);
Random Reset(111111);
n = 30;
nid = 100;
data = J(2*n*nid, 4, .);
b1 = 3;
theta1 = 5;
b2 = 8;
theta2 = 8;
k = 0;
For( id = 1, id <= nid, id++,
x = 0;
For( i = 1, i <= n - 1, i++,
x = (x ^ b1 + Random Exp() * theta1 ^ b1) ^ (1 / b1);
k++;
data[k, 1] = id;
data[k, 2] = 1;
data[k, 3] = x;
data[k, 4] = 1;
);
k++;
data[k, 1] = id;
data[k, 2] = 1;
data[k, 3] = x;
data[k, 4] = 0;
For( i = 1, i <= n - 1, i++,
x = (x ^ b2 + Random Exp() * theta2 ^ b2) ^ (1 / b2);
k++;
data[k, 1] = id;
data[k, 2] = 2;
data[k, 3] = x;
data[k, 4] = 1;
);
k++;
data[k, 1] = id;
data[k, 2] = 2;
data[k, 3] = x;
data[k, 4] = 0;
);
dt = As Table(data,<
<COLUMN names=""></COLUMN>
<DIV>
</DIV>
<DIV>In questo semplice esempio, il modello reale è stato adattato. Quindi, l'adattamento del modello è molto buono. Tuttavia, il grafico MCF non può mostrare la bontà dell'adattamento.</DIV> <P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yusuke_ono_0-1754960081412.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><span class="lia-inline-image-display-wrapper" image-alt="yusuke_ono_0-1754960081412.png" style="width: 390px;"><img src="https://us.v-cdn.net/6038925/uploads/images/80136i9723A629E7469671/yusuke_ono_0-1754960081412.png" role="button" title="yusuke_ono_0-1754960081412.png" alt="yusuke_ono_0-1754960081412.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P> <BR />
<DIV>In breve, non includere covariate variabili nel tempo nella colonna Raggruppamento e non utilizzare il grafico MCF per verificare la bontà dell'adattamento se il modello presenta covariate variabili nel tempo.</DIV>
<DIV>
</DIV> <BR />
Re: Analisi di ricorrenza in JMP 18 StandardCIAO,
Grazie per la risposta, è davvero utile. In qualche modo mi è sfuggita l'email della community JMP che mi ricordava di dare un'occhiata alla tua risposta. Scusa per il ritardo.
NON utilizzerò il sito come ruolo di RAGGRUPPAMENTO.
Ho eseguito l'analisi e presentato alcuni dei risultati. Il mio responsabile è soddisfatto. Grazie mille.
Il passo successivo è vedere il COSTO (denaro effettivo) nell'MCF per vedere il denaro medio per ogni riparazione di un bot.
Quindi ho intenzione di inserire l'importo in denaro al posto di 1 (che indica la riparazione) nella colonna del ruolo dei costi. Lo 0 rimarrà comunque per indicare lo stato di censura.
È questo il modo giusto per calcolare il costo medio per riparazione di un bot? Di seguito è riportato un esempio di dati con il costo effettivo nella colonna Costo.
Sto utilizzando lo standard JMP 18.
Grazie.

Re: Analisi di ricorrenza in JMP 18 StandardGrazie ancora per la tua risposta, @Caozheng0115 -san
È possibile specificare qualsiasi costo positivo. Nelle stime non parametriche, vengono calcolati i costi cumulativi. Nelle stime parametriche, i costi vengono utilizzati come pesi per la funzione di verosimiglianza logaritmica.(Se desideri conoscere i dettagli matematici, vorrei spiegarteli meglio, quindi per favore rispondimi.)
Temo proprio di aver frainteso la tua situazione e di non aver spiegato "l'effetto variabile nel tempo". Nel tuo ultimo esempio, la colonna "Sito" non è "l'effetto variabile nel tempo".Gli effetti "variabili nel tempo" sono effetti i cui valori cambiano all'interno di ciascun ID. Nei dati seguenti, la colonna Sito è un effetto variabile nel tempo.

Temo anche di non aver capito bene la differenza tra i robot. Ho dato per scontato che tutti i robot fossero della stessa versione, tipo e livello, quindi non ho impostato l'"ID" come effetto di raggruppamento o effetto modello. (Ad esempio, se ID=001, ID=002 e ID=003 sono rispettivamente C-3PO, R2-D2 e BB-8 di Star Wars, questi tre robot sono di tipo completamente diverso. Quindi, penso che dovremmo impostare la colonna ID nella colonna Raggruppamento e includerla anche in un effetto modello.)
Nel tuo ultimo esempio, il "Sito" è completamente confuso con l'"ID". Quindi, non possiamo separare l'effetto del Sito dall'ID. (Ad esempio, C-3PO funzionava solo nel deserto, R2-D2 funzionava solo vicino al mare e BB-8 funzionava solo all'interno di un edificio confortevole, non possiamo separare l'effetto dell'ID dall'effetto del luogo.)
Sebbene io debba ancora fraintendere la tua situazione, ecco un esempio di analisi per il tuo ultimo esempio. Calcolo i costi cumulativi non parametrici per ciascun ID=001 e 002 separatamente, includendo la colonna ID nel raggruppamento. Escludo i dati per ID=003 dalla mia analisi perché c'è un solo errore. Ho adattato il modello di processo di Poisson loglineare parametrico per ciascun ID. Sulla base di questo modello, il costo cumulativo al tempo=300 per ID=001 è stimato a 13300,37, e quello al tempo=300 per 002 è stimato a 550,007.


Allego la tabella dati, il tuo ultimo esempio, che ho utilizzato per l'analisi di cui sopra.
Re: Analisi di ricorrenza in JMP 18 StandardCiao, grazie per la tua rapida risposta. Non hai frainteso, ci sono effettivamente due tipi di bot e io uso il tipo di bot nell'effetto GROUPING se voglio vedere l'effetto dei tipi di bot. Il mio ultimo esempio è semplice, senza il sito come covariata temporale, giusto per fare un esempio. Nessun fraintendimento da parte tua e capisco anche la tua preoccupazione.
Per quanto riguarda il peso della funzione di verosimiglianza, credo di aver capito come funziona. Usare i costi come pesi significa che gli eventi più costosi contano di più nel modellare il modello approssimato, non solo nel totale cumulativo. Ora non mi concentro sulla matematica e userò il peso del costo. Cordiali saluti.
Re: Analisi di ricorrenza in JMP 18 StandardGrazie ancora per la tua risposta, @Caozheng0115 -san.
Sono sollevato di sentirlo. Se hai altre domande relative all'analisi ricorrente, ti prego di riproporle o di rispondere a questa discussione.
Re: Analisi di ricorrenza in JMP 18 StandardCIAO,
Spero che tu stia bene.
Ho testato i valori in dollari nella colonna dei costi. Poiché il costo è come la scala/il peso degli eventi di riparazione, ha spostato la curva, ma non ha mostrato nulla di inaspettato.
Un altro compito è prevedere riparazioni future e relativi costi. Pensi che la ricorrenza in JMP sia un buon metodo per effettuare previsioni? Ho utilizzato il modello loglineare NHPP, ma ho notato che la curva approssimata converge rapidamente e probabilmente fornirà previsioni errate.
Immagino di poter usare il modello NHPP proporzionale. Ho solo la sensazione di non avere molta scelta e la previsione basata sull'analisi della ricorrenza non sembra accurata.
Esistono altre analisi che posso utilizzare per fare la previsione?
Grazie.
Re: Analisi di ricorrenza in JMP 18 StandardCaro Cao Zheng-
Ho appena visto questo thread. Ci sono ottime risorse didattiche disponibili sul sito web di JMP. Per informazioni generali sull'affidabilità, consultate Impara JMP - Community di utenti JMP . Per l'analisi dei sistemi riparabili, il mio collega Jerry Fish ha tenuto un webinar davvero interessante. Potete trovarlo tramite questo link: Analisi dell'affidabilità per sistemi riparabili .
Spero che questo ti sia d'aiuto!
migliore,
Charlie
Re: Analisi di ricorrenza in JMP 18 StandardCiao-
Aggiungendo al post di Charlie-
Un sacco di risorse fantastiche su Learn JMP
Dai un'occhiata a questo link https://community.jmp.com/t5/Learn-JMP-Events/Analyzing-Reliability-for-Non-Repairable-Systems/ec-p/810009#M452
Anche questa serie che include diversi segmenti sulla ricorrenza https://community.jmp.com/t5/Deeper-Dives/A-Deeper-Dive-into-Reliability-Analysis-for-Repairable-Systems/ta-p/738833
Re: Analisi di ricorrenza in JMP 18 StandardCiao, yusuke_ono
Spero che tu stia bene. Mi è venuta in mente una cosa nella tua risposta:
'Se hai osservato fino a "t" e se il robot ha fallito in quel momento "t", non è necessario includere l'ultima riga con Costo=0. Invece, è necessario includere l'ultima riga con Costo=1.
La mia domanda è: cosa succederebbe se i bot fallissero prima del tempo "t" e finissero nel cestino? Dovrebbero essere inclusi?
Nel mio caso, ad esempio, un bot ha fallito alla transazione 100 (uso il termine transazione anziché tempo) e non era riparabile, e ciò si è verificato prima della mia osservazione. Immagino che inserirò 1 alla transazione 100 per questo bot. Non verrà inserito 0 poiché questo bot non è riparabile. Ho ragione? Al momento non abbiamo incluso alcun bot che ha fallito e non è stato riparato prima dell'osservazione. Fatemi sapere se dovrei includere quei bot. Grazie.