Accuratezza numerica

La Tabella 9-1 mostra i risultati dell'uso della procedura NLS di gretl sui 27 "Statistical Reference Dataset" forniti dal National Institute of Standards and Technology (NIST) statunitense, per il test del software di regressione non lineare [1]. Per ogni dataset, il file di test indicano due valori iniziali per i parametri, quindi il test completo riporta 54 stime. Sono stati eseguiti due test completi, uno usando derivate analitiche e uno usando approssimazioni numeriche; in entrambi casi si è usata la tolleranza predefinita[2]

Sulle 54 stime, gretl non riesce a produrre una soluzione in 4 casi, se vengono usate le derivate analitiche, e in 5 casi se vengono usate le approssimazioni numeriche. Dei quattro fallimenti in modalità derivate analitiche, due sono dovuti alla non convergenza dell'algoritmo Levenberg–Marquandt dopo il numero massimo di iterazioni (su MGH09 e Bennett5, entrambi descritti dal NIST come di "alta difficoltà") e due sono dovuti ad errori di intervallo (valori in virgola mobile al di fuori dei limiti) occorsi durante il calcolo del Jacobiano (su BoxBOD e MGH17, rispettivamente descritti come di "alta difficoltà" e di "media difficoltà"). In modalità approssimazione numerica, l'ulteriore caso di fallimento è rappresentato da MGH10 ("alta difficoltà", massimo numero di iterazioni raggiunto).

La tabella mostra informazioni su vari aspetti dei test: numero di fallimenti, numero medio di iterazioni richieste per produrre una soluzione, e due tipi di misura dell'accuratezza dei risultati per i parametri e per i loro errori standard.

Per ognuno dei 54 test eseguiti in ogni modalità, se è stata prodotta una soluzione, sono state confrontate le stime dei parametri ottenute da gretl con i valori certificati dal NIST. È stata definita la variabile "numero minimo di cifre corrette" per una data stima come il numero di cifre significative per cui la meno accurata delle stime di gretl coincide con il valore certificato. La tabella mostra i valori medio e minimo di questa variabile, calcolati sulle stime che hanno prodotto una soluzione; la stessa informazione è fornita per gli errori standard stimati [3]

La seconda misura di accuratezza mostrata è la percentuale di casi, tenendo conto di tutti i parametri di tutte le stime giunte a buon fine, in cui la stima di gretl concorda con il valore certificato per almeno 6 cifre significative, che sono mostrate in modo predefinito nei risultati delle regressioni di gretl.

Tabella 9-1. Regressione non lineare: i test NIST

 Derivate analiticheDerivate numeriche
Falimenti in 54 test45
Iterazioni medie32127
Media del "numero minimo di cifre corrette", stima dei parametri8.1206.980
Valore minimo del "numero minimo di cifre corrette", stima dei parametri43
Media del "numero minimo di cifre corrette", stima degli errori standard8.0005.673
Valore minimo del "numero minimo di cifre corrette", stima degli errori standard52
Percentuale delle stime corrette a 6 cifre, stima dei parametri96.591.9
Percentuale delle stime corrette a 6 cifre, stima degli errori standard97.777.3

Usando derivate analitiche, i valori dei casi peggiori sia per le stime dei parametri che per gli errori standard sono stati migliorati a 6 cifre corrette restringendo il valore di tolleranza a 1.0e−14. Usando derivate numeriche, la stessa modifica del limite di tolleranza ha innalzato la precisione dei valori peggiori a 5 cifre corrette per i parametri e 3 cifre per gli errori standard, al costo di un fallimento in più nella convergenza.

Si noti la tendenziale superiorità delle derivate analitiche: in media le soluzioni ai problemi dei test sono state ottenute con molte meno iterazioni e i risultati sono più accurati (in modo evidente per gli errori standard stimati). Si noti anche che i risultati a 6 cifre mostrati da gretl non sono affidabili al 100 per cento per i problemi non lineari difficili (in particolare se si usano derivate numeriche). Tenendo presente questi limiti, la percentuale dei casi in cui i risultati sono accurati alla sesta cifra o più sembra sufficiente per giustificarne l'utilizzo in questa forma.

Note

[1]

Per una discussione dell'accuratezza di gretl nella stima di modelli lineari, si veda Appendice C

[2]

I dati mostrati nella tabella derivano da una versione di gretl 1.0.9, compilata con gcc 3.3, collegata a glibc 2.3.2 ed eseguita in Linux su un PC i686 (IBM ThinkPad A21m).

[3]

Per gli errori standard, dalle statistiche mostrate nella tabella, è stato escluso l'outlier costituito da Lanczos1, che rappresenta un caso strano, composto da dati generati con un adattamento quasi esatto; gli errori standard sono di 9 o 10 ordini di grandezza più piccoli dei coefficienti. In questo caso gretl riesce a riprodurre gli errori standard solo per 3 cifre (con derivate analitiche) e per 2 cifre (con derivate numeriche).