Questo è il secondo di una serie di post su come adattare funzioni continue a tratti ai set di dati. Inizierò ogni post con i collegamenti a tutti gli altri post della serie. Sono:
Questo post, per necessità, è un po' "matematico".
introduzione
Nella parte 1 di questa serie di blog, ho introdotto un problema di esempio per dimostrare qualcosa chiamato "adattamento di funzioni a tratti" a un set di dati. Questi dati sono stati suddivisi in regioni in cui vorremmo inserire le funzioni (ancora da definire). Anche le X località che delimitano i confini delle regioni sono ancora sconosciute. La Figura 1 mostra i dati e le regioni suggerite.
Figure 1Figura 1
Scelta delle funzioni
Per ciascuna regione, desideriamo adattare diverse funzioni che servono a modellare i dati. Nella piattaforma non lineare di JMP è possibile utilizzare qualsiasi espressione desiderata (ad esempio esponenziali, logaritmi, trigonometria e così via). In generale, la selezione delle funzioni dipenderà interamente dalla saggezza, dall'intuizione e dall'esperienza in materia del modellatore. La discussione seguente utilizza polinomi semplici, che offrono il vantaggio di semplificare la matematica quando si tratta di stabilire le condizioni al contorno. Questi hanno funzionato bene per me nel corso degli anni.
Per polinomio semplice intendo un'equazione della forma:
Equation 1Equazione 1
Dove:
y = la risposta misurata
n = il segmento di interesse
A m = il coefficiente sconosciuto "m-esimo" per l'n-esimo segmento
x = il predittore indipendente
Il polinomio può essere troncato alla lunghezza desiderata, a seconda della complessità della funzione da adattare.
Diamo un'occhiata a ciascun segmento della Figura 1 individualmente.
Segmento 1: dati prima dell'inizio del test
Come descritto in precedenza, questa regione potrebbe essere costituita da dati raccolti prima dell'inizio effettivo del test. In questo caso, idealmente potrebbe avere un valore y pari a zero, sebbene potrebbe esserci un certo offset della strumentazione. Ci aspettiamo che questo sia un valore costante, quindi imposteremo il polinomio per il primo segmento come:
Equation 2Equazione 2
Segmento 2: assorbimento della tolleranza del dispositivo
Ricordiamo che il set di dati di esempio potrebbe rappresentare i dati di una macchina per prove di trazione, in cui un provino viene posizionato nel tester utilizzando una figura di montaggio. Il secondo segmento/regione mostrato nella Figura 1 (tra X1 e X2) potrebbe indicare una regione in cui vengono rispettate le tolleranze degli impianti. Potremmo essere interessati principalmente a quanto assorbimento c'è (X2-X1) o a quanta forza è necessaria per eliminare tutta la tolleranza.
Poiché in questa regione è presente una curvatura, ho scelto di utilizzare una funzione quadratica per l'adattamento. Ho anche scelto di modificare i parametri in b anziché in a, solo per aiutare a distinguere i coefficienti in questo segmento da quelli nel segmento 1:
Equation 3Equazione 3
Segmento 3: Regione lineare/elastica
Il segmento 3 potrebbe essere la regione più importante per il test, poiché il nostro obiettivo è comprendere la regione elastica della curva. Qui la relazione tra x e y è lineare, forse rappresentando la regione elastica per il nostro campione di prova di esempio nel dispositivo di trazione. Saremmo più interessati alla pendenza di questa regione, quindi ho scelto una semplice forma di intercetta della pendenza per questa equazione:
Equation 4Equazione 4
Segmento 4: Iniziati al rendimento
Il segmento 4 potrebbe coprire l'area nei nostri dati di test di esempio in cui il nostro provino di trazione inizia a cedere. L'ispezione visiva dei dati mostra che c'è nuovamente una curvatura (simile al segmento 2), quindi ancora una volta ho scelto un adattamento quadratico:
Equation 5Equazione 5
Segmento 5: dati dopo la fine del test
Il segmento 5 potrebbe verificarsi al termine della prova di trazione vera e propria. Il campione di prova è ancora sotto tensione. La quantità di allungamento (y) è immutabile, quindi l'equazione sarebbe simile al Segmento 1:
Equation 6Equazione 6
Impostazione delle condizioni al contorno
Ora abbiamo cinque equazioni con coefficienti sconosciuti (a0, b0, b1, b2, c0, c1, d0, d1, d2 ed e0) insieme ai quattro punti di interruzione X1, X2, X3 e X4. Ognuno di questi deve essere determinato. Ma ci sono più informazioni che devono essere fornite. Nello specifico, ciascuna curva deve "connettersi" ai confini della transizione.
Transizione dal segmento 1 al segmento 2
Per la transizione del Segmento 1/2, vogliamo y1=y2 in x=X1. Questo significa:
Equation 7Equazione 7
Risolvendo per b0, otteniamo:
Equation 8Equazione 8
Questo "collega" la funzione del Segmento 1 con la funzione del Segmento 2 in x=X1. Questo ci dà un modo per eliminare b0 da qualsiasi equazione successiva.
Confini del segmento rimanenti
Senza spiegare tutta l'algebra, possiamo fare la stessa cosa con ciascuno degli altri confini (ad esempio y2(X2) = y3(X2), ecc.). Risolvendo per c0, d0 ed e0, arriviamo a:
Equation 9Equazione 9
Equation 10Equazione 10
Equation 11Equazione 11
Dopo aver effettuato più sostituzioni nelle equazioni dei segmenti, arriviamo a:
Equation 12Equazione 12
Equation 13Equazione 13
Equation 14Equazione 14
Equation 15Equazione 15
Equation 16Equazione 16
Quindi ora abbiamo ridotto le incognite a a0, b1, b2, c1, d1, d2, X1, X2, X3 e X4. Come possiamo far sì che JMP risolva queste incognite? Unisciti a me per il prossimo post sul blog!