Utilizzare la funzione LeastSquaresFit per eseguire la regressione non lineare. Il solutore LeastSquaresFit offre la massima flessibilità per la risoluzione dei problemi di regressione non lineare. Il solutore consente di immettere equazioni di vincolo per qualsiasi parametro dipendente, limiti inferiori e superiori per i parametri, deviazioni standard nei valori x, nonché un limite di confidenza per il calcolo.
LeastSquaresFit
1. Definire un insieme di dati.
Questi dati sono tratti da un esempio discusso sul sito Web NIST. I dati sono stati generati con 14 cifre di precisione utilizzando l'equazione seguente:
2. Definire una funzione adattata.
I singoli parametri qui sopra sono elementi di un vettore β. È anche possibile specificare la funzione di input con singoli nomi di variabili, anziché con elementi di un vettore.
3. Specificare i valori ipotizzati.
4. Definire il limite di confidenza sui parametri.
5. Chiamare la funzione LeastSquaresFit.
Il solutore utilizza la programmazione quadratica (SQP) per risolvere il risultante problema dei minimi quadrati. Introducendo variabili aggiuntive, il problema originale viene trasformato in un problema generale di programmazione non lineare con vincolo di uguaglianza e questo, in genere, è più rapido e stabile rispetto ad alcuni altri.
6. Visualizzare il vettore di output restituito dalla funzione LeastSquaresFit.
◦ La prima colonna di output contiene i valori per i parametri adattati. La seconda colonna contiene il limite sinistro e la terza il limite destro per l'intervallo di confidenza sui parametri.
◦ I limiti di confidenza del 95% sui parametri coprono un intervallo piuttosto ampio, mostrando che il fit è complesso e i parametri possono variare notevolmente. Di conseguenza, i valori dei parametri adattati differiscono dai valori corretti registrati nel sito Web NIST:
7. Tracciare il grafico di dati, fit dei minimi quadrati e fit NIST.
8. Confrontare il fit dei minimi quadrati e i dati originali.
Il fit si avvicina alla convergenza, ma può trarre vantaggio da una regolazione nella tolleranza di convergenza. A tale scopo, è possibile utilizzare uno degli argomenti facoltativi della funzione LeastSquaresFit.
Vincoli, deviazione standard e tolleranza
LeastSquaresFit prevede diversi argomenti opzionali.
• Vettore di deviazione standard
• Matrice di limiti inferiore e superiore
• Precisione
È possibile utilizzare uno qualsiasi degli argomenti facoltativi singolarmente, ma per i primi tre argomenti il relativo ordine è importante.
1. Modificare uno dei valori dei dati per simulare un errore di misurazione.
2. Specificare il limite inferiore e il limite superiore per vincolare i valori di fit.
I limiti vengono impostati molto al di fuori dei valori dei parametri previsti, in quanto in questo caso non vi sono limiti specifici noti.
3. Impostare un vettore di deviazioni standard per ogni valore di y per mascherare l'outlier.
◦ Il valore alto di 108 nella deviazione standard rimuove in modo efficace l'errore di misurazione dal calcolo.
◦ Quando un vettore di deviazione standard viene immesso come argomento nella funzione LeastSquaresFit, il solutore minimizza la funzione seguente:
Se la deviazione standard per un punto è 0, la funzione originale, non deviata, viene utilizzata in corrispondenza di tale punto, ovvero la variabile StdYi viene impostata su 1.
4. Impostare la precisione per applicare al calcolo una tolleranza di convergenza più rigida (il valore di default è 10-7).
5. Chiamare la funzione LeastSquaresFit con e senza la deviazione standard.
◦ Il calcolo non mascherato non riesce in quanto i limiti di confidenza sono troppo ampi.
◦ I nuovi parametri sono più vicini ai valori NIST:
6. Tracciare il grafico dei dati con l'outlier e il fit mascherato.
Riferimenti
I dati per questo esempio sono tratti da Lanczos, C., Applied Analysis, Prentice Hall, 1956, pagine 272-280, come illustrato nell'archivio NIST Statistical Reference Dataset Archive.