1180_it-IT
Calcolo dell'area tra due accoppiamenti spline (bivariati)Ho usato la spline adatta della piattaforma bivariata per parametrizzare le curve spettrofotometriche e ho salvato la formula di predizione per i miei campioni e per gli spazi vuoti. Voglio stimare l'area sotto il picco o, più precisamente, l'area tra le curve del campione e il bianco entro un determinato intervallo di lunghezza d'onda.
Potrei sicuramente farlo in MATLAB con qualche sforzo, ma sarebbe opportuno mantenere tutto il flusso di lavoro all'interno di JMP. Penso che il mio approccio implicherebbe il riassumere le sezioni la cui geometria è determinata dalla matrice della formula di previsione della spline. Tuttavia non sono sicuro di come interpretare e utilizzare la formula di previsione.
Qualche idea che possa portarmi nella giusta direzione su come affrontare questo problema usando JMP / JSL? Grazie!Ri: Calcolo dell'area tra due accoppiamenti spline (bivariati)Questa sceneggiatura funziona, e mi chiedo perché il mio non l'abbia fatto, poiché dovrebbe essere identico al tuo. Quando li ho confrontati ho trovato un errore di battitura nel mio. Mi dispiace per la confusione. E grazie per il tuo aiuto! Ho uno script ora funzionante per l'elaborazione in batch dei miei dati di fluorometria.
L'unica cosa fastidiosa che rimane è il comando Maximize () che interrompe lo script se non riesce a convergere, cioè trova un massimo locale. Non ho scoperto come interagire con l'output dell'errore in JSL (come "if result == error, then change tolerance and repeat, else Max = result" o simile).
Grazie ancora!Ri: Calcolo dell'area tra due accoppiamenti spline (bivariati)Su JMP 8.0.2 in WinXP, utilizzando una tabella di coefficiente Spline generata da JMP di esempio quando richiesto, il seguente script ha funzionato senza errori per me:
Ri: Calcolo dell'area tra due accoppiamenti spline (bivariati)Cerca in questo forum utilizzando: Column Formula Variable o qualcosa di simile per trovare un esempio di come creare correttamente una formula di colonna tramite script che faccia riferimento a una colonna sconosciuta in anticipo. Penso che aiuterà.Ri: Calcolo dell'area tra due accoppiamenti spline (bivariati)Grazie! Funziona perfettamente e ora sto provando a farlo in JSL. Posso pubblicare lo script qui quando è finito, se qualcuno è interessato.
A proposito, c'è un problema con la colonna cumulativa. Se lo fai manualmente aggiungendo la formula
If (Row () == 1,: Slice Area,: Cumulative Area [Row () - 1] +: Slice Area [Row ()]) ad una colonna "Cumulative Area" funziona. Tuttavia, se lo faccio tramite script usando il comando << set formula (), ricevo un errore "Riferimento non valido (ricorsione) alla riga ....". La colonna viene creata ma senza la formula.Ri: Calcolo dell'area tra due accoppiamenti spline (bivariati)Dalla guida di Stat e Graph 8.0.1:
"Il metodo spline cubico utilizza un insieme di polinomi di terzo grado uniti insieme in modo tale che la curva risultante sia continua e uniforme alle giunzioni (punti di nodo). La stima viene effettuata riducendo al minimo una funzione obiettivo che è una combinazione dell'errore di somma dei quadrati e una penalità per la curvatura integrata sull'estensione della curva. Vedi la carta di Reinsch (1967) o il testo di Eubank (1988) per una descrizione di questo metodo. "
Quando si inserisce una spline in Adatta Y da X, è presente un menu a discesa con il triangolo rosso con un elemento per il salvataggio dei coefficienti. Questa azione crea una nuova tabella con le colonne X, A, B, C, D. La colonna X contiene i valori X univoci dei dati in ordine crescente. Le altre 4 colonne sono i coefficienti del polinomio di terzo grado utilizzato in un intervallo che inizia con il valore di X per la stessa riga fino al valore di X per la riga successiva. Se il valore per X nella stessa riga è X1, il polinomio per l'intervallo è:
A + B * (X-X1) + C * (X-X1) ^ 2 + D * (X-X1) ^ 3
che viene usato per X fino a X2, il prossimo "nodo". Per trovare l'area esatta sotto questa curva tra x1 e x2, è sufficiente integrare questo polinomio da X1 a X2 per ottenere:
A * (X2-X1) + (B * (X2-X1) ^ 2) / 2 + (C * (X2-X1) ^ 3) / 3 + (D * (X2-X1) ^ 4) / 4
Devi creare una nuova colonna chiamata Area Slice e inserire questa formula. Nella formula JMP, usa X per X1 e Lag (X, -1) per X2. Quindi avrai una colonna di sezioni di area. È quindi possibile aggiungere tutte le sezioni dell'area per ottenere l'area totale sotto la curva dall'inizio alla fine. Puoi anche creare una colonna di aree cumulative se lo desideri.
Questo ti dà un valore esatto, non un'approssimazione, per l'area sotto la spline.
Questo può probabilmente essere copiato ma non l'ho provato.
Per ottenere l'area tra 2 di tali curve, trova semplicemente l'area in questo modo per entrambi e sottrai l'una dall'altra.
Michael