1\chapter{Dettagli sui file di dati}
2\label{app-datafile}
3
4\section{Formato interno di gretl}
5\label{native}
6
7Il formato dati usato internamente da \app{Gretl} per i dataset �
8basato su XML (extensible mark-up language).  I file di dati sono conformi al
9semplice DTD (document type definition) contenuto nel file
10\verb+gretldata.dtd+, fornito con la distribuzione di \app{Gretl} e
11installato nella directory dei dati di sistema (ad es.
12\verb+/usr/share/gretl/data+ su Linux). I file di dati possono essere
13non compressi o compressi con gzip; oltre ai valori dei dati,
14essi contengono altre informazioni aggiuntive, come i nomi e le descrizioni
15delle variabili, la frequenza dei dati e cos� via.
16
17La maggior parte degli utenti probabilmente non avr� bisogno di
18leggere o scrivere questi file, se non usando \app{Gretl} stesso, ma
19se si vuole manipolarli usando altri strumenti, pu� essere utile
20esaminare il DTD e qualcuno dei file di esempio forniti: il file
21\verb+data4-1.gdt+ d� un semplice esempio, il file \verb+data4-10.gdt+
22invece contiene anche delle etichette per le osservazioni.
23
24\section{Formato tradizionale di ESL}
25\label{traddata}
26
27Per compatibilit� all'indietro, \app{Gretl} pu� elaborare anche file
28di dati nel formato ``tradizionale'' usato dal programma \app{ESL}
29di Ramanathan.  In questo formato (che era quello predefinito nelle
30versioni di \app{Gretl} precedenti alla 0.98) un dataset �
31rappresentato da due file: uno contiene i dati veri e propri, l'altro
32contiene la descrizione dei dati e le modalit� per la loro lettura.
33In particolare:
34
35\begin{enumerate}
36\item \emph{Dati veri e propri}: una matrice rettangolare di numeri
37  separati da spazi vuoti. Ogni colonna rappresenta una variabile,
38  ogni riga un'osservazione per ognuna delle variabili (come in un
39  foglio elettronico). Le colonne dei dati possono essere separate da
40  spazi o caratteri tab. Il nome del file deve avere l'estensione
41  \verb+.gdt+ e il file di solito � di tipo ASCII (testo semplice), ma
42  pu� essere anche compresso con gzip, per occupare meno spazio su
43  disco. � possibile inserire commenti in un file di dati: se una riga
44  comincia con un carattere cancelletto (\verb+#+), l'intera riga
45  viene ignorata (questo comportamento � coerente con i file di dati
46  di gnuplot e di octave).
47\item \emph{Descrizione}: il file di dati deve essere accompagnato da
48  un file di descrizioni, che ha lo stesso nome di base del file di
49  dati, ma l'estensione \verb+.hdr+.  Questo file contiene,
50  nell'ordine:
51
52  \begin{itemize}
53  \item (Opzionale) \emph{commenti} sui dati, introdotti dalla stringa
54    di apertura \verb+(*+ e conclusi dalla stringa \verb+*)+; ognuna
55    di queste stringhe deve essere presente da sola su una riga.
56  \item (Richiesta) lista dei \emph{nomi delle variabili} presenti nel
57    file, separati da spazio bianco. I nomi sono limitati a 8
58    caratteri, devono iniziare con una lettera e possono contenere
59    solo caratteri alfanumerici e il carattere trattino basso,
60    \verb+_+. La lista pu� continuare su pi� righe e deve essere
61    chiusa da un punto e virgola \verb+;+.
62  \item (Richiesta) riga \emph{osservazioni}, nel formato
63    \verb+1 1 85+. Il primo elemento indica la frequenza dei dati (1 per dati
64    non datati o annuali, 4 per trimestrali, 12 per mensili).  Gli
65    altri due elementi indicano le osservazioni iniziale e finale: di
66    solito questi saranno pari a 1 e al numero delle osservazioni, per
67    i dati non datati. Per le serie storiche, � possibile usare date
68    nella forma \cmd{1959.1} (trimestrale, una cifra dopo il punto) o
69    \cmd{1967.03} (mensile, due cifre dopo il punto). Si veda il
70    capitolo~\ref{chap-panel} per l'uso speciale di questa riga nel
71    caso dei dati panel.
72  \item La parola chiave \verb+BYOBS+.
73  \end{itemize}
74\end{enumerate}
75
76Ecco un esempio di un file di descrizione dei dati ben scritto.
77
78\begin{code}
79(*
80  DATA9-6:
81  Dati su log(moneta), log(reddito) e tasso di interesse USA.
82  Fonte: Stock and Watson (1993) Econometrica
83  (dati grezzi) Il periodo � 1900-1989 (dati annuali).
84  Dati composti da Graham Elliott.
85*)
86lmoneta lreddito tassint ;
871 1900 1989 BYOBS
88\end{code}
89
90Il corrispondente file di dati contiene tre colonne di dati, ognuna
91con 90 osservazioni.  Ci sono altre tre caratteristiche del formato
92dati ``tradizionale'' degne di nota.
93
94\begin{enumerate}
95\item Se la parola chiave \verb+BYOBS+ � sostituita da \verb+BYVAR+ ed
96  � seguita dalla parola chiave \verb+BINARY+, significa che il
97  corrispondente file di dati � in formato binario. Questo tipo di
98  file di dati pu� essere scritto da \app{gretlcli} usando il comando
99  \cmd{store} con l'opzione \cmd{-s} (precisione singola) o l'opzione
100  \cmd{-o} (precisione doppia).
101\item Se \verb+BYOBS+ � seguita dalla parola chiave \verb+MARKERS+,
102  \app{Gretl} si aspetta un file di dati in cui la \emph{prima
103    colonna} contiene stringhe (lunghe al massimo 8 caratteri) usate
104  per identificare le osservazioni. Queste possono essere utili nel
105  caso dei dati di tipo cross-section in cui le unit� di osservazione
106  sono identificabili: regioni, stati, citt� ecc. Un altro caso �
107  quello delle serie storiche irregolari, come ad esempio i dati
108  giornalieri delle quotazioni azionarie, in cui mancano i giorni in
109  cui non avvengono contrattazioni: in questo caso, le osservazioni
110  possono essere marcate con una stringa che rappresenta la data, come
111  ad esempio \cmd{10/01/98} (si ricordi il limite di 8 caratteri). Si
112  noti che le opzioni \cmd{BINARY} e \cmd{MARKERS} sono mutualmente
113  esclusive, e si noti anche che i ``marcatori'' non sono considerati
114  come una variabile: questa colonna non compare nell'elenco delle
115  variabili nel file di descrizione dei dati.
116\item Se esiste un file con lo stesso nome di base del file di dati e
117  di quello delle descrizioni, ma con l'estensione \verb+.lbl+, esso
118  viene letto e usato per riempire le etichette descrittive per le
119  serie di dati. Il formato del file di etichette � semplice: ogni
120  riga contiene il nome di una variabile (indicata nel file di
121  descrizione) seguito da uno o pi� spazi, seguito dall'etichetta
122  descrittiva. Ecco un esempio:
123  \verb+prezzo Indice dei prezzi auto nuove, anno base 1982+
124
125\end{enumerate}
126
127Se si vuole salvare i dati nel formato tradizionale, occorre usare
128l'opzione \cmd{-t} con il comando \cmd{store}, nella versione a riga
129di comando del programma o nella finestra del terminale della versione
130grafica del programma.
131
132\section{Dettagli sui database binari}
133\label{dbdetails}
134
135Un database di \app{Gretl} consiste di due parti: un file indice ASCII
136(con l'estensione \verb+.idx+) che contiene informazioni sulle serie,
137e un file binario (con estensione \verb+.bin+) che contiene i dati
138veri e propri. Ecco due esempi di voci contenute in un file
139\verb+idx+:
140
141\begin{code}
142G0M910  Indice composto da 11 indicatori principali (1987=100)
143M 1948.01 - 1995.11  n = 575
144currbal Bilancia dei pagamenti: parte corrente; corretta per la stagionalit�
145Q 1960.1 - 1999.4 n = 160
146\end{code}
147
148Il primo campo � il nome della serie, il secondo � una descrizione
149della serie (al massimo di 128 caratteri). Sulla seconda riga, il
150primo campo � un codice di frequenza: \verb+M+ per dati mensili, \verb+Q+
151per dati trimestrali, \verb+A+ per dati annuali, \verb+B+ per dati
152giornalieri-lavorativi (giornalieri con cinque giorni a settimana) e
153\verb+D+ per dati giornalieri (sette giorni a settimana). Al momento non
154vengono accettati altri codici di frequenza. Quindi segue la data
155iniziale (con due cifre che seguono il punto nei dati mensili, una per
156i dati trimestrali, nessuna per quelli annuali), uno spazio, un
157trattino, un altro spazio, la data finale, la stringa ``\verb+n = +''
158e il numero delle osservazioni. Nel caso di dati giornalieri, le date
159iniziale e finale devono essere indicate nella forma
160\verb+YYYY/MM/DD+. Questo formato deve essere rispettato alla
161lettera.
162
163Opzionalmente, la prima riga del file indice pu� contenere un breve
164commento (al massimo 64 caratteri) a proposito della fonte e del tipo
165dei dati, che segue un carattere cancelletto. Ad esempio:
166
167\begin{code}
168# Banca Centrale Europea (tassi di interesse)
169\end{code}
170
171Il corrispondente database binario contiene i valori dei dati,
172rappresentati come ``float'', ossia come numeri in virgola mobile a
173precisione singola, che tipicamente occupano quattro byte ciascuno. I
174numeri sono immagazzinati ``per variabile'', cos� che i primi \emph{n}
175numeri sono le osservazioni della variabile 1, i successivi \emph{m}
176sono le osservazioni per la variabile 2 e cos� via.
177
178\chapter{Compilare \app{gretl}}
179\label{app-build}
180
181\section{Requisiti}
182\label{sec:build-req}
183
184\app{Gretl} � scritto nel linguaggio di programmazione C, aderendo
185nel modo pi� stretto possibile allo standard C ISO/ANSI (C90), anche
186se l'interfaccia grafica e alcune altre componenti devono fare uso
187necessariamente di estensioni specifiche per certe piattaforme.
188
189Il programma � sviluppato in ambiente Linux.  La libreria condivisa e
190il client a riga di comando dovrebbero essere compilabili su qualsiasi
191piattaforma che supporti l'ISO/ANSI C e abbia installate le
192librerie elencate nella Tabella~\ref{tab:depend}. Se il sistema
193dispone anche della libreria GNU readline, essa sar� usata per
194\app{gretcli}, fornendo una riga di comando molto pi� comoda da
195utilizzare.  Si veda la
196\href{http://cnswww.cns.cwru.edu/~chet/readline/rltop.html}{home page
197  di readline}.
198
199\begin{table}[htbp]
200  \centering
201  \begin{tabular}{lll}
202\textit{Libreria} & \textit{Funzione} & \textit{Sito web} \\ [4pt]
203zlib & compressione dei dati &
204   \href{http://www.info-zip.org/pub/infozip/zlib/}{info-zip.org} \\
205libxml2 & manipolazione XML &
206   \href{http://xmlsoft.org/}{xmlsoft.org} \\
207LAPACK & algebra lineare &
208   \href{http://www.netlib.org/lapack/}{netlib.org} \\
209FFTW3 & Trasformata veloce di Fourier &
210   \href{http://www.fftw.org/}{fftw.org} \\
211glib-2.0 & Varie utilit� &
212  \href{http://www.gtk.org/}{gtk.org}
213  \end{tabular}
214  \caption{Librerie richieste per compilare gretl}
215  \label{tab:depend}
216\end{table}
217
218Il client grafico dovrebbe essere compilabile e utilizzabile su ogni
219sistema che, oltre ai requisiti visti sopra, offra la libreria GTK
220nella versione 2.4.0 o superiore (si veda
221\href{http://www.gtk.org/}{gtk.org})\footnote{Fino alla versione 1.5.1,
222\app{gretl} poteva essere compilato anche usando GTK 1.2, ma il supporto per
223questa libreria � stato abbandonato a partire dalla versione 1.6.0 di \app{gretl}.}.
224
225\app{Gretl} usa gnuplot per produrre grafici. � possibile trovare
226gnuplot a \href{http://www.gnuplot.info/}{gnuplot.info}. Al momento
227della scrittura di questo manuale, la versione ufficiale pi� recente
228di gnuplot � la 4.2 (di marzo 2007).  La versione MS Windows di
229\app{Gretl} comprende la versione 4.2 di gnuplot per Windows; sul sito
230web di Gretl � possibile trovare un pacchetto rpm di gnuplot 3.8j0 per
231sistemi Linux x86.
232
233Alcune funzionalit� di \app{Gretl} fanno uso di parti della libreria
234\app{gtkextra} di Adrian Feguin.  Le parti rilevanti di questo pacchetto sono
235incluse (in forma leggermente modificata) con la distribuzione sorgente di
236\app{gretl}.
237
238Una versione binaria del programma � disponibile per la piattaforma
239Microsoft Windows (Windows 98 o superiore).
240Questa versione � cross-compilata su Linux usando mingw (il
241compilatore GNU C, \app{gcc}, portato per l'uso con win32) e collegata
242alla libreria C di Microsoft C, \verb+msvcrt.dll+. Utilizza il port di
243GTK 2.0 su win32 di Tor Lillqvist. L'installatore per Windows (libero,
244open-source) � a cura di Jordan Russell
245(\href{http://www.jrsoftware.org/}{jrsoftware.org}).
246
247Speriamo che gli utenti con conoscenze di programmazione possano
248considerare \app{Gretl} abbastanza interessante e degno di essere
249migliorato ed esteso. La documentazione dell'API libgretl non � ancora
250completa, ma � possibile trovare alcuni dettagli seguendo il link
251``Libgretl API docs'' sul sito web di \app{Gretl}. Chiunque sia interessato
252allo sviluppo di \app{gretl} � invitato a iscriversi alla mailing list
253\href{http://gretl.sourceforge.net/lists.html}{gretl-devel}.
254
255\section{Istruzioni per la compilazione}
256\label{sec:build-inst}
257
258Questa sezione contiene istruzioni che permettono di compilare \app{gretl}
259a un utente con una conoscenza di base di un sistema di tipo Unix.
260La procedura � stata testata su una nuova installazione della distribuzione
261Debian Etch e dovrebbe funzionare anche su altre distribuzioni Linux
262(specialmente quelle derivate da Debian, come Ubuntu e simili). Su altri sistemi
263simili a Unix, come MacOSX e BSD, potrebbero esserci differenze maggiori nella
264procedura.
265
266In questo esempio guidato, compileremo \app{gretl} insieme alla sua
267documentazione completa. Questa scelta implica alcuni requisiti in pi�, ma in
268cambio permette di modificare anche i file della documentazione, come l'aiuto in
269linea o i manuali.
270
271\subsection{Installare i programmi di base}
272
273Assumiamo che le utilit� GNU di base siano gi� installate sul sistema, insieme
274a questi altri programmi:
275\begin{itemize}
276  \item Un sistema \TeX/\LaTeX (\texttt{tetex} o \texttt{texlive} vanno
277    benissimo)
278  \item Gnuplot
279  \item ImageMagick
280\end{itemize}
281Assumiamo anche che l'utente abbia i privilegi di amministratore e sappia come
282installare i pacchetti. Gli esempi seguenti mostrano  l'uso del comando shell
283\texttt{apt-get}, ma possono essere replicati anche con comandi come
284\texttt{aptitude}, \texttt{dselect}, con il programma a interfaccia grafica
285\texttt{synaptic}. Gli utenti di distribuzioni Linux che usano pacchetti rpm
286(es.\ Red Hat/Fedora, Mandriva, SuSE) possono consultare la pagina
287\href{http://gretl.sourceforge.net/depend_it.html}{dipendenze} sul sito di
288\app{gretl}.
289
290Il primo passo consiste nell'installare il compilatore C e le utilit� correlate.
291Su un sistema Debian, occorre installare i seguenti pacchetti:
292\begin{code}
293apt-get install gcc autoconf automake1.9 libtool flex bison gcc-doc \
294libc6-dev libc-dev libgfortran1 libgfortran1-dev gettext pkgconfig
295\end{code}
296
297Quindi occorre installare i pacchetti ``di sviluppo'' (\texttt{dev})
298per le librerie usate da \app{gretl}:
299
300\begin{center}
301  \begin{tabular}{ll}
302    \textit{Libreria} & \textit{Comando} \\ [4pt]
303    GLIB & \texttt{apt-get install libglib2.0-dev} \\
304    GTK 2.0 & \texttt{apt-get install libgtk2.0-dev} \\
305    PNG & \texttt{apt-get install libpng12-dev} \\
306    XSLT & \texttt{apt-get install libxslt1-dev} \\
307    LAPACK & \texttt{apt-get install lapack3-dev} \\
308    FFTW & \texttt{apt-get install fftw3-dev} \\
309    READLINE & \texttt{apt-get install libreadline5-dev} \\
310    GMP & \texttt{apt-get install libgmp3-dev}
311  \end{tabular}
312\end{center}
313
314GMP � opzionale, ma raccomandata.  I pacchetti \texttt{dev} di queste librerie
315sono necessari per \emph{compilare} \app{gretl}, mentre per \emph{eseguire} il
316programma occorrono anche i pacchetti normali (non-\texttt{dev}) delle librerie;
317la maggior parte di questi pacchetti fa gi� parte delle installazioni standard.
318Per abilitare funzionalit� aggiuntive, come il supporto audio, occorre
319installare altre librerie.
320
321\subsection{Procurarsi il sorgente: pacchetto o CVS}
322
323A questo punto � possibile iniziare a compilare il sorgente. � possibile
324procurarselo in due modi: scaricando l'ultimo pacchetto sorgente rilasciato, o
325scaricando la versione di \app{gretl} contenuta attualmente nell'archivio CVS
326(Concurrent Versions System). La versione CVS � di solito pi� recente, pu�
327contenere correzioni di bug presenti nell'ultimo pacchetto rilasciato, ma pu�
328anche contenere nuovi bug (o addirittura non essere compilabile) e codice
329``sperimentale''. Se si vuole partecipare allo sviluppo e al test del programma,
330� raccomandabile usare la versione CVS di \app{gretl}.
331
332Per lavorare col pacchetto sorgente:
333
334\begin{enumerate}
335  \item Scaricare il pacchetto dei sorgenti di \app{Gretl}
336    da \href{http://gretl.sourceforge.net/}{gretl.sourceforge.net}.
337  \item Decomprimere il pacchetto. Se si dispone delle utilit� GNU,
338    usare il comando \cmd{tar xvfz gretl-N.tar.gz} (sostituire \cmd{N}
339    con il numero di versione specifico del file scaricato).
340  \item Spostarsi nella directory del codice sorgente di gretl appena
341    creata (ad es. \verb+gretl-1.6.6+).
342  \item Procedere alla sezione seguente ``Configurare il sorgente''.
343\end{enumerate}
344
345Per lavorare con CVS occorre per prima cosa installare il programma client \app{cvs},
346se non si trova gi� sul proprio sistema. Pu� essere utile consultare il sito web
347di CVS \href{http://www.nongnu.org/cvs/}{www.nongnu.org/cvs}, le istruzioni per
348l'uso di CVS su SourceForge contenute nella
349\href{http://sourceforge.net/docman/display_doc.php?docid=14035&group_id=1}{pagina
350CVS di SourceForge}, e le istruzioni specifiche su \app{gretl} nella
351\href{http://sourceforge.net/cvs/?group_id=36234}{pagina CVS di Gretl}.
352
353Quando si scarica il codice da CVS \textit{per la prima volta}, occorre decidere
354dove salvarlo. Ad esempio si pu� creare una directory chiamata \texttt{cvs}
355nella propria home directory, aprire un terminale, fare \texttt{cd} in questa
356directory ed eseguire i comandi seguenti:
357%
358\begin{code}
359cvs -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl login
360cvs -z3 -d:pserver:anonymous@gretl.cvs.sourceforge.net:/cvsroot/gretl co -P gretl
361\end{code}
362%
363Dopo il primo comando verr� richiesta una password: basta premere invio. Dopo il
364secondo comando, \app{cvs} creer� una sotto-directory chiamatat \texttt{gretl}
365che conterr� il codice sorgente.
366
367Ogni volta che si vuole \textit{aggiornare la propria copia del sorgente}, basta
368andare nella directory \texttt{gretl} ed eseguire
369\begin{code}
370cvs update -d -P
371\end{code}
372
373Da questo punto in poi, assumendo di essere nella directory \texttt{gretl}, �
374possibile seguire le istruzioni valide anche per il sorgente contenuto nel
375pacchetto.
376
377\subsection{Configurare il sorgente}
378
379Il successivo comando da eseguire � \texttt{./configure}; si tratta di uno
380script sofisticato che cerca gli strumenti disponibili sul sistema e prepara
381la compilazione. Il comando \texttt{configure} accetta molte opzioni: eseguendo
382\begin{code}
383./configure --help
384\end{code}
385si ottiene l'elenco di quelle disponibili. Un'opzione che pu� essere utile usare
386� \cmd{--prefix}, che modifica il percorso principale in cui verr� installato il
387programma; il valore predefinito � \verb+/usr/local+. Ad esempio usando
388\begin{code}
389./configure --prefix=/usr
390\end{code}
391i file verranno installati sotto il percorso \verb+/usr+. Un'altra opzione ha a
392che fare col supporto per il desktop \app{gnome}, che \app{gretl} offre in
393modalit� predefinita. Se non si � interessati alle funzionalit� specifiche di
394\app{gnome} � possibile usare l'opzione
395\verb+--without-gnome+ di \cmd{configure}.
396
397Per compilare anche la documentazione, c'� un'altra opzione di
398\texttt{configure}:
399\begin{code}
400./configure --enable-build-doc
401\end{code}
402Quando si esegue il comando, si vedranno i risultati di una serie di controlli,
403e se tutto funziona correttamente, un riassunto finale simile a quello mostrato
404nell'Esempio~\ref{configure-output}.
405
406\begin{script}[htbp]
407  \caption{Risultato di \texttt{./configure --enable-build-doc}}
408  \label{configure-output}
409\begin{scode}
410Configuration:
411
412  Installation path:                      /usr/local
413  Use readline library:                   yes
414  Use gnuplot for graphs:                 yes
415  Use PNG for gnuplot graphs:             yes
416  Use LaTeX for typesetting output:       yes
417  Gnu Multiple Precision support:         yes
418  MPFR support:                           no
419  LAPACK support:                         yes
420  FFTW3 support:                          yes
421  Build with GTK version:                 2.0
422  Script syntax highlighting:             yes
423  Use installed gtksourceview:            yes
424  Build with gnome support:               no
425  Build gretl documentation:              yes
426  Build message catalogs:                 yes
427  Gnome installation prefix:              NA
428  X-12-ARIMA support:                     yes
429  TRAMO/SEATS support:                    yes
430  Experimental audio support:             no
431
432Now type 'make' to build gretl.
433\end{scode}
434\end{script}
435
436\tip{Se si usa CVS, � una buona idea ri-eseguire lo script
437  \texttt{configure} dopo ogni operazione di aggiornamento del sorgente.
438  Non � sempre necessario, ma alcune volte lo �; in ogni caso non � dannoso.
439  A questo proposito, pu� essere comodo creare un piccolo script di shell che
440  esegue \texttt{configure} con le opzioni che si � soliti utilizzare.}
441
442\subsection{Compilare e installare}
443
444Siamo quindi pronti per iniziare la vera e propria compilazione: questa si
445ottiene col comando \texttt{make}, che compila tutti i file sorgenti nell'ordine
446corretto. Basta semplicemente eseguire
447\begin{code}
448make
449\end{code}
450
451Questo passo della procedura richieder� qualche minuto e produrr� molti messaggi
452sullo schermo. Alla fine, per installare la copia di \app{gretl} appena
453prodotta, baster� eseguire:
454\begin{code}
455make install
456\end{code}
457
458Sulla maggior parte dei sistemi, il comando \texttt{make install} richiede di avere
459i privilegi di amministratore di sistema. Quindi occorrer� fare login come
460\texttt{root} prima di eseguirlo, oppure occorrer� usare il comando
461\texttt{sudo}:
462\begin{code}
463sudo make install
464\end{code}
465
466\chapter{Accuratezza numerica}
467\label{app-accuracy}
468
469\app{Gretl} usa aritmetica a doppia precisione, ad eccezione del
470plugin per precisione multipla invocabile con il comando del men�
471``Modello, Altri modelli lineari, Minimi quadrati in alta precisione'' che rappresenta i
472valori in virgola mobile usando un numero di bit indicato dalla
473variabile di ambiente \verb+GRETL_MP_BITS+ (valore predefinito: 256).
474
475Le equazioni normali dei minimi quadrati sono risolte in modo
476predefinito usando la decomposizione di Cholesky, che � abbastanza
477accurata per la maggior parte delle applicazioni. Nel caso le variabili
478indipendenti esibiscano un'alto grado di collinearit�, \app{gretl} adotta
479automaticamente la decomposizione QR; inoltre l'utente pu� scegliere di usare
480sempre la decomposizione QR.
481
482Il programma � stato testato abbastanza approfonditamente con i dataset di
483riferimento forniti dal NIST (il National Institute of Standards and Technology
484statunitense) e un rapporto completo dei risultati si trova sul sito web di
485Gretl (seguendo il link ``Accuratezza numerica'').
486
487Ad oggi, sono state pubblicate due recensioni che hanno preso in esame
488l'accuratezza di \app{gretl}: Giovanni Baiocchi e Walter Distaso (2003), e Talha
489Yalta e Yasemin Yalta (2007). Siamo grati a questi autori per il loro accurato
490esame del programma. I loro commenti hanno suggerito vari miglioramenti, come
491l'uso del codice \app{cephes} di Stephen Moshier per calcolare i p-value e altre
492quantit� relative alle distribuzioni di probabilit� (si veda
493\href{http://www.netlib.org/cephes/}{netlib.org}), modifiche alla formattazione
494dei risultati delle regressioni per assicurare che il programma mostri un numero
495coerente di cifre significative, soluzione di alcuni problemi di compilazione
496della versione MS Windows di \app{gretl} (che in passato era leggermente meno
497accurata della versione Linux).
498
499La versione attuale di \app{Gretl} comprende un ``plugin'' che esegue
500la suite NIST di test della regressione lineare. � possibile trovarlo
501nel men� ``Strumenti'' della finestra principale. Quando viene eseguito
502questo test, un'introduzione spiega qual � il risultato atteso: se si
503esegue il test e si ottengono risultati diversi da quelli attesi, si
504prega di inviare un bug report a \verb+cottrell@wfu.edu+.
505
506Tutte le statistiche di regressione sono mostrate
507con 6 cifre significative nella versione attuale di \app{Gretl}
508(tranne quando viene usato il plugin per precisione multipla, e allora
509i risultati sono mostrati con 12 cifre). Se occorre esaminare un
510valore pi� da vicino, basta per prima cosa salvarlo (si veda il
511comando \cmd{genr}) e poi visualizzarlo usando il comando \cmd{printf}.
512
513
514\chapter{Altro software libero utile}
515\label{app-advanced}
516
517Le possibilit� offerte da \app{gretl} sono molte e in continua espansione,
518tuttavia pu� esserci l'esigenza di compiere operazioni non disponibili in
519\app{gretl}, oppure di confrontare i risultati con quelli di altri programmi.
520Se si � interessati a funzionalit� complementari disponibili nell'ambito del
521software libero, o open source, raccomandiamo i programmi seguenti, di cui
522riportiamo la descrizione fornita nei rispettivi siti web.
523
524\begin{itemize}
525
526\item \textbf{GNU R} \href{http://www.r-project.org/}{r-project.org}:
527  ``R � un sistema per il calcolo statistico e i grafici. Consiste in
528  un linguaggio e in un ambiente di lavoro che fornisce grafici, un
529  debugger, l'accesso alle funzioni del sistema e la possibilit� di eseguire
530  programmi contenuti all'interno di script\dots\ � compilabile ed eseguibile
531  su un'ampia variet� di piattaforme UNIX, Windows e MacOS''.
532  Commento: esistono molti pacchetti aggiuntivi per R, che coprono le principali
533  aree dell'analisi statistica.
534
535\item \textbf{GNU Octave}
536  \href{http://www.octave.org/}{www.octave.org}:
537  ``GNU Octave � un linguaggio ad alto livello, dedicato principalmente al
538  calcolo numerico. Fornisce una comoda interfaccia a riga di comando per
539  risolvere numericamente problemi lineari e non lineari, e per eseguire altre
540  operazioni numeriche usando un linguaggio per lo pi� compatibile con quello di
541  Matlab. Pu� anche essere utilizzato in modalit� non interattiva''.
542
543\item \textbf{JMulTi} \href{http://www.jmulti.de/}{www.jmulti.de}:
544  ``JMulTi � stato progettato in origine come strumento per alcune procedure
545  econometriche tipiche dell'analisi delle serie storiche, di difficile utilizzo
546  e reperibilit� in altri pacchetti, come l'analisi impulso-risposta con
547  intervalli di confidenza bootstrap per modelli VAR/VEC. In seguito, sono state
548  aggiunte altre funzionalit� che permettono di condurre un'analisi completa''.
549  Commento: JMulTi � un programma java con interfaccia grafica; per poterlo
550  usare � necessario installare un java run-time environment.
551
552\end{itemize}
553
554Come gi� detto sopra, \app{Gretl} offre la possibilit� di
555esportare i dati nei formati di Octave e R. Nel caso di Octave, il
556dataset di \app{Gretl} viene salvato come matrice singola \verb+X+:
557una volta importati i dati in Octave, se si vuole, � possibile
558eliminare la matrice \verb+X+, si veda il manuale di Octave per i
559dettagli.  Per quanto riguarda R, il file dei dati esportati conserva
560qualsiasi struttura di serie storiche riconoscibile da \app{gretl}.
561Le serie sono salvate come strutture individuali: i dati vanno
562importati in R con il comando \cmd{source()}.
563
564Inoltre, \app{Gretl} dispone di una funzione per trasferire velocemente dati in R.
565Il men� ``Strumenti'' di \app{Gretl} contiene il comando ``Avvia GNU R'', che
566salva il dataset in uso in formato R (nella directory utente di gretl) e lo
567carica avviando una nuova sessione di R. Il modo esatto in cui R viene avviato
568dipende dalla variabile interna \verb+Rcommand+ di \app{gretl}, il cui valore
569deve essere impostato nel men� ``Strumenti, Preferenze''. Il comando
570predefinito � \cmd{RGui.exe} in MS Windows, mentre in X � \cmd{xterm -e R}. Si
571noti che questa stringa pu� contenere al massimo tre elementi separati da spazi:
572ulteriori elementi saranno ignorati.
573
574\chapter{Elenco degli URL}
575\label{app-urls}
576
577Quello che segue � un elenco degli URL citati nel testo.
578
579\begin{description}
580
581\item[Estima (RATS)] \url{http://www.estima.com/}
582\item[FFTW3] \url{http://www.fftw.org/}
583\item[Home page del desktop Gnome] \url{http://www.gnome.org/}
584\item[Libreria GNU Multiple Precision (GMP)]
585  \url{http://swox.com/gmp/}
586\item[Home page di GNU Octave] \url{http://www.octave.org/}
587\item[Home page di GNU R] \url{http://www.r-project.org/}
588\item[Manuale di GNU R]
589  \url{http://cran.r-project.org/doc/manuals/R-intro.pdf}
590\item[Home page di Gnuplot] \url{http://www.gnuplot.info/}
591\item[Manuale di Gnuplot] \url{http://ricardo.ecn.wfu.edu/gnuplot.html}
592\item[Pagina dei dati di Gretl (versione italiana)]
593  \url{http://gretl.sourceforge.net/gretl_data_it.html}
594\item[Home page di Gretl (versione italiana)]
595  \url{http://gretl.sourceforge.net/gretl_italiano.html}
596\item[Home page di GTK+] \url{http://www.gtk.org/}
597\item[Home page del port di GTK+ per win32]
598  \url{http://www.gimp.org/~tml/gimp/win32/}
599\item[Home page di InfoZip]
600  \url{http://www.info-zip.org/pub/infozip/zlib/}
601\item[Home page di JMulTi] \url{http://www.jmulti.de/}
602\item[JRSoftware] \url{http://www.jrsoftware.org/}
603\item[Home page di Mingw (gcc per win32)] \url{http://www.mingw.org/}
604\item[Minpack] \url{http://www.netlib.org/minpack/}
605\item[Penn World Table] \url{http://pwt.econ.upenn.edu/}
606\item[Home page di Readline]
607  \url{http://cnswww.cns.cwru.edu/~chet/readline/rltop.html}
608\item[Manuale di Readline]
609  \url{http://cnswww.cns.cwru.edu/~chet/readline/readline.html}
610\item[Home page di Xmlsoft] \url{http://xmlsoft.org/}
611
612\end{description}
613
614
615%%% Local Variables:
616%%% mode: latex
617%%% TeX-master: "gretl-guide-it"
618%%% End:
619
620