Funzioni > Analisi dati > Curve fitting > Regressione non lineare
Regressione non lineare
genfit(vx, vy, vg, F) - Restituisce un vettore contenente i parametri che consentono a una funzione F di u1... un dei parametri x e n di restituire la migliore approssimazione dei dati in vx e vy.
La funzione genfit utilizza una versione ottimizzata del metodo di Levenberg-Marquardt per la minimizzazione. Pur essendo spesso più rapida e meno sensibile a valori ipotizzati scadenti, questa implementazione potrebbe non convergere bene in problemi con numerosi valori minimi locali, quali le funzioni razionali. Questa implementazione è sensibile a vettori di derivata errati.
Argomenti
vx, vy sono vettori di valori di dati reali della stessa lunghezza, corrispondenti ai valori x e y nell'insieme di dati. Il numero di punti dati deve essere almeno uguale ai parametri.
vg è un vettore di n elementi di valori ipotizzati per i parametri. Se n = 1, allora vg è uno scalare.
F(x, u) è una funzione adattata, o un vettore di funzioni, in cui x è la variabile indipendente e u è un vettore di parametri o singoli nomi di parametro. La seguente equazione è una rappresentazione valida per una funzione adattata:
Fare clic per copiare questa espressione
n è un numero intero positivo. Nel caso di parametri non vettorizzati, è previsto un limite di nove nomi individuali.
Miglioramento della convergenza
Per migliorare la convergenza e potenzialmente l'accuratezza di genfit, è possibile rappresentare F come vettore n+1 di funzioni in cui la prima voce F0 è la funzione adattata f e le voci rimanenti F1, F2,…, Fn sono le derivate parziali simboliche di f relativamente agli n parametri.
Per quanto riguarda le due modalità di rappresentazione della funzione adattata illustrate in precedenza, è possibile utilizzare f(x,A,c) solo se si cercano le derivate parziali simbolicamente. Pertanto, rappresentando F come vettore di funzioni, n ha un limite di 9 e di conseguenza F ha una lunghezza massima pari a 10. È possibile creare il vettore F creando una matrice delle derivate parziali appropriate e valutandola simbolicamente.
Fare clic per copiare questa espressione
Ulteriori informazioni
È necessario fornire a genfit solo il nome della funzione adattata o del vettore delle funzioni, senza alcun argomento.
Se si utilizza la funzione adattata senza le derivate parziali del parametro simboliche, genfit calcola le derivate parziali del parametro numericamente. Questo calcolo è meno preciso rispetto all'utilizzo delle derivate simboliche, ma in alcuni casi può risultare utile.
Se genfit non riesce a eseguire la conversione, è possibile provare altri valori ipotizzati oppure scalare i dati in modo che tutti i parametri abbiano un ordine di grandezza simile. Come con tutte le tecniche di soluzione numerica, i problemi non lineari sono molto influenzati dai valori ipotizzati.
È possibile tracciare la funzione adattata con i valori ipotizzati per ottimizzare i valori ipotizzati prima di utilizzare genfit.
Il metodo di Levenberg-Marquardt ottimizzato è più influenzato dagli errori nelle derivate algebriche fornite. Se genfit ha esito negativo, è necessario verificare le espressioni derivate.
È stato utile?