El programa Gauss. - Instituto Nacional de Estadistica.

Anuncio
ESTADISTICA ESPAÑOLA
Vol. 32, Núm. 124, 1990, págs. 465 a 471
CRITICA DE PROGRAMAS DE ORDENADOR
EI programa GAUSS
^
J. IGNACIO PENA
Departamento de Economía
Universidad Carlos III de Madrid
1.
EL SISTEMA GAUSS
EI sistema GAUSS para análisis estadístico y matemático está compuesto del lenguaje de programación GAUSS y de un conjunto de aplicaciones
concretas, programadas en ese lenguaje.
Este programa se ha desarrollado durante los últimos años por APTECH
SYSTEMS ( 26250 196th Place S.E., Kent Washington 98042, USA) y es
un lenguaje de ordenador especialmente diseñado para su uso en computadores personales ( PC en adelante) que trabajen con el sistema operativo
DOS en versiones 2.1 y superiores. Por tanto, es utilizable con equipos I B M
PC-XT-AT PS/2 y compatibles. En la actualidad hay disponibles tres versiones del sistema GAUSS.
A un nivel básico existe la Student Versión (SV), compuesta por la gran
mayoría de comandos básicos del lengua je. ,No necesita coprocesador matemático ni disco fijo (hard disk) y contiene una serie de comandos para
generar gráficos de alta resolución (QuickGraphics).
EI siguiente nivel es la Versión "general" de GAUSS, la denominada 2.0,
que necesita coprocesador matemático y disco fijo. Adicionalmente a
QuickGraphics soporta gráficos de muy alta calidad y resolución (Publication Graphics). Además de todos los^ comandos del lenguaje GAUSS,
contiene una gran cantidad de subprogramas y rutinas (procedimientos)
} :l 1OI^.( IC ^, t til' ^tiC)[ ^
escritas en et #enguaje básico genera# y que simplifican considerablemente
su usa.
EI nivel más pot^^nte es el GAUSS 386 que trabaja solamente en máquinas con procesador Intel $0386 (con coprocesador matemático) y que, en
su extensión 396--VM, permite utilizar memoria virtual, es decir usar el
disco fijo como si fuera una extensión de ia memoria RAM. Con esto se
consigue que el espacio de trabajo satte la barrera de los 640 i< que
impone et DOS, pudiendo ernplearse como rrtemoria todo el espacio tibre
del disco fijo. De hecho, al trabajar con memoria extendida (no confundir
con #a memoria expandida que es como máximo de 32 M B, véase Yraolagoitia (1 989) ), el pragrama puede gestionar hasta 4G B(4096M B) de
memoria usable. Requiere DOS 3.3 o superior y coprocesador.
En cuatquiera de sus versiones dispone cle un menú de ayuda directa
(HELP) que presenta el significado y uso (ejemplos^ de tos comandos del
programa, tanto de los generales como de los creados par et usuario.
Asimismo, otra posibitidad interesante es el uso de un editor interno que
permite crear y modificar programas sin salir a D(JS, o bien usar desde
GAUSS cua#quier atro editor que se desee.
GAUSS forma parte de lo que se ha dado en IJamar la "Nueua Raza" de
programas de uso general para PC y se perfila como una de tas opciones
deseables para cualquier usuario que necesite usar su PC para cálculos
matemáticos de cualquier indole y en cualquier área de actividad. Una
buena revisión de las capacidades de CAUSS así como su comparación
con otros programas del mismo estito, puede verse en DOlton ^ 1 988).
2.
MQDO DE TRABAJO Y ELEMENTOS DE GAUSS: GAUSSX
Una de #as mayores ventajas de GAUSS es que trabaja camo un lenguaje compitado y a la vez como un intérprete de comandos. Esto quiere decir
puede aprovechar las ventajas de un lenguaje en código binario (compilado) lo cuat imptica alta velocidad de ejecución, y además las ventajas de un
intérprete eficiente (flexibilidad) diseñado para tratar problemas en forma
matricial. Y éste es el concepto básíco de GAUSS; es un lenguaje especialmente adaptado at trabajo can vectores y matrices.
En #a actualidad dispone de unos 300 comandos que Ilevan a cabo todo
tipo de operaciones con matrices, análisis estadisticos básicos (regresión),
integración numérica y entrada y salida de datos.
( ^R1^1^1( ^^ [)E- f'R(X;K ^11^^1^15 [)F^^ OFtOFti ^^[)(ll^
a^^
Adicionalmente existe un modulo de aplicaciones que en la actualidad
cubre las siguientes áreas:
Gráficos ( Histogramas, Diagramas Cartesianos, 3D ^
Modelos Lineales Generalizados
Estadística No Paramétrica
Simulación
Estimación No Lineal
Modelos de Elección Discreta ( Logit, Probit, etc.)
Proceso de Señales y Filtrado
Un desarrollo reciente de GAUSS, de especial interés para el análisis
económico es el programa GAUSSX. Este es un programa "corteza"'
(shell), escrito en GAUSS y que puede Ilevdr a cabo análisis econométricos
usando macrocomandos muy similares a los de TSP. Tiene la ventaja de su
facilidad de manejo ( menús) y de la posibilidad de combinar comandos de
GAUSS y de GAUSSX, con lo cual sus posibilidades están muy por encima
de cualquiera de los paquetes estandard de econometría. En la actualidad
(versión 2.0) dispone de las siguientes herramientas:
Carga de datos (LOAD)
Estadísticas básicas y Correlogramas sirnple y parcial (COVA)
Gráficos IPRINT, PLOT, GRAPH)
Selección de muestra (SMPL)
Estimación (AR, ARCH, OLS, POISSON, SURE, VAR, 2SLS, 3SLS)
Modelos no lineales ( FI M L, M L, N LS)
Predicción ( FO R CST)
SOlución dinámica de sistemas de ecuaciones no lineales (SOLVE)
Contrastes de especificación tipo Hausman (TEST)
Tarnbién dispone de HELP y de editor interno, al trabajar como un
programa de GAUSS a un nivel general.
3.
FUNCIONES, PROCEDIMIENTOS Y PROGRAMAS
Una de las mayores ventajas de GAUSS consiste en su facilidad para
trabajar con procedimientos creados por el usuario. Los procedimientos son
conjuntos de instrucciones creados mediante la sucesión de comandos de
GAUSS quE: efectúan un cálculo o tarea concreta.
4fiK
t ^t ^^t^^ti^ ^c ^+^ t ^t^^ti^^^ ^^^
Una vez creado un procedimiento, puede usarse como si fuese un comando más del lenguaje GAUSS, permitiendo la extensián del mismo
hasta cubrir cualquier necesidad de cálculo.
Es importante diferenciar entre un "procedímiento"' y un "programa"'. Un
procedimiento funciona como si fuera un comando más de GAUSS y, en
general, producirá resultados numérícos en su forma más primaria (i.e. un
vector o matriz de números). Si deseamos presentar éstos de forma más
cómoda (con etiquetas, gráfícos y"maquillajes" variados) debemos cons=
truir un programa específico para ello. Utilizando lenguaje familiar a los
sufridos programadores en FORTRAN, un "programa" es el programa principal y un "procedimiento" es muy similar a una subrutina.
Como es esperable, !os procedimíentos y programas podrán trabajar con
variables "locaies" (sálo existentes cuando se ejecutan éstos) y varíables
"globales" (activas durante toda la sesián de GAUSS). Asimismo existen
"funciones" que son procedimientos de una sola línea. Ejemplos de todos
ellos se verán a contínuacíón.
3.1. Funciones
Empezando con e! concepto más simple, éste es el de funciones. Se trata
de procedimientos de una sola línea que Ilevan a cabo un cáfculo complicado. Su sintáxis es simple:
fn nombre (variable} = expresión;
Como ejemplo veamos el cálculo del coeficiente de asimetría de una variable. Si su expresión es
asm = suma{ (x(i) - xmedia)3) / ( (n} (desvtipica^) )
Necesitamos por tanto comandos de GAUSS que calculen la media de un
vector (xmedia), su desviación típica ídesvtipica), el número de datos (n) y
la suma de todos sus elementos (suma).
Los comandos adecuados son: MEANC, STDC, R4WS y SUMC. La forma
de la función con todos los comandos será:
fn asim(x) = sumcC (x-meanc(x) ) 3) / (rows(x)*(stdc(x)^3) );
,
Para usar ésta función bastaría teclear por ejemplo:
coefas = asim (datos};
donde "datos" es la variable que contiene los datos de interés y es de la
forma de un vectar columna. Se creará una nueva variable "coefas" que
será un vector 1 x1 cuyo elemento es el coeficiente de asimetría de la
variable "datos".
469
( kC I I( ^1 [)E: PRO(^K ^!^1:^ti [)f. Ottl)f ti ^Ix^R
EI uso habitual de funciones es dentro de procedimientos más complicados para evitar cáicuios repetitivos. Están diseñados para trabajar sólo con
variables locales por lo que es conveniente usarlos en ese contexto.
3.2 PROCEDIMIENTOS
Los procedimientos se emplean para realizar cálculos complejos de rnodo
recursivo. Pueden usarse como si fuera una parte más del lenguaje GAUSS
y serán tan complejos o tan sencillos como el usuario desee. Dentro de un
procedimiento puede manejarse cualquier comando de GAUSS, o cualquier
función. Pueden usarse tanto las variables y símbolos globales como empiear variables locales. La estructura será siempre la misma y constará de
cinco secciones.
(PROC)
1)
Nombre del procedimiento
2)
Declaración de variables locales
3)
Cálculos ( sentencias GAUSS genéricas)
4)
Envío de resultados al programa principal
5)
Fin del procedimiento
(LOCAL)
(RETP)
^( EN DP)
De las sentencias anteriores sólo son imprescindibles PROC y EN DP ya
que sin ellas no se identifica ni el comienzo ni el fin^l del procedimiento.
Por el contrario las sentencias LOCAL y RETP son opcionales y pueden
amitirse o bien repetirse el número de veces que se desee, en cualquier
lugar del procedimiento.
Como ejemplo de un procedimiento veamos el cálculo de los coeficientes
de asimetría y curtosis de una variable.
PROC (2) ! asicurt(x);
LOCAL as,cu;
as = sumc( (x-meanc(x) )3) / (rows(x)*(stdc(x^3) );
cu = sumc( (x-meanc(x) ) 4) / (rows(x)* (stdc(x) 4) );
R ETP (as,cu );
ENDP;
Para usar este procedimiento, basta escribir:
{coef 1, coef2 }=asicurt (datos);
E ti [ -^^[)i^^i^lt ^^ i tii'=^tiOt.^^
Ahora los coeficientes de asimetría y curtosis de la variable "datos" están
almacenados en las variables globales ""coefl " y"coef2".
3.3 Programas
^os prograrnas son conjuntos de instrucci©nes de GAUSS que pueden
ejecutar tareas de la compiejidad que se desee. Pueden usar como eiementos las funciones y ios procedimientos mencionados anteriormente. En
general, tendrán tres secciones
a^
Definición de variables y entrada de datos
by
Cálculos numéricos
c^
Presentación de resultados ^tablas y gráficos)
Se pueden combinar las funciones y ios procedimientos vistos anteriormente, dentro de cualquier programa.
4.
TEXTOS SOBRE GAUSS
En la actualidad sólo existe en español el libro de Peña y Sáez (1 990)
sobre e1 uso de GAUSS, dedicado a sus aplicaciones matemáticas y estadisticas, a un nivel de primer ciclo de Facultad o Escuela Técnica. EI
manual original de manejo def programa está en Inglés y es muy limitado
en su alcance ya que sólo se dedíca a expCicar el funcionamiento general de
los comandos, sin ejemplos de aplicación.
En lengua alemana existe el libro "Programmieren in GAUSS" escrito
por ei Dr. Ulrich L. Kusters y el Dr. Gerhard Arminger y publicado por
Gustav Fischer Verlag en la República Federal de Alemania en 1989. Este
trabajo es de un nivel avanzado y se dirige a usuarios experimentados de
GAUSS para resolver problemas de íntegración numérica, optimización no
lineal, y otros temas que exigen una sólida formación mater^ática.
En lengua inglesa, el Profesor R. Carter Hill ha escrito un manual titulado
"Learning Econometrics Using GAUSS", publicado por John Wiley en USA
en 1989. Este otro vofumen está díseñado para servir de complemento al
libro "Introductin to the Theory and Practice of Econometrics", segunda
edición, por Judge, Hill, Griffiths and Lee, publicado por John Wiley en USA
en 19$8. Esencialmente, el manual se limita a presentar una serie de
programas escritos en GAUSS 2.0 y que reproducen los ejemplos del libro
de Econornetría de referencia.
(^RIT^I('A ()f f'ft(X^R^^^1-^5 [^f- ()R[)E `1[X)R
471
Este trabajo sup^ne un previo conocimiento de GAUSS a un nivel avanzado y sin concesiones para el usuario novicio. Aunque bien escrito, ciaro y
pedagógico, éste otro libro se dirige a estudiantes de segundo o tercer ciclo
de Universidad (la Econometría es asignatura de 4.° curso en Económicas)
con un nivel alto y buena formación tanto a nivel estadístico-matemátíco
como a nivel informático.
5.
COMENTARIO FINAL
EI programa GAUSS es una avanzada herramienta de trabajo y pensamos que cualquier departamento de Estadística, Econometría o Matemáticas puede obtener un alto rendimiento del mismo. Por el detalle de su
manual y el nivel de canocimientos exigido, este no es un programa para
usuarios inexpertos o no cuantitativos, que simplemente deseen estimar
una regresión lineal. En palabras de Dolton (1988): "GAUSS is the tool of
the competent user"
REFERENCIAS
DOLTON, P. J. (19881. A new breed of software?. GAUSS, MATLAB and
PC-I S P, a comparative review. Journa/ of Econornic Surveys. Vol. 2,
?7-95.
P E Ñ A, J. I. y S A EZ, M.(19 9 0 ^. A plicaciones Matemátícas y Es tadís ticas del
Programa GA USS. U A M. M a d r i d.
YRAOLAGOITIA, J. de (1989^. La memoria expansiva EMS 4.0. PCWORLD,
49, 139-154.
REVISTA ESTADISTICA ESPAIVOLA
I N FOR MACI ON PARA LOS AUTQR ES
Env^o de originales
Los or^g^nales cieben env^arse al D^rector de 1a Rev^sta, INE, Paseo c^e la Castellana, 1$3 280? 1 Madrid Deben estar redactados en castellano y no haber sEdo
publ^cados o estar en proceso de publicac^ón en otro lugar Se env^arán 4 cop^as del
traba^o y la revista acusará s^empre su recibo
PRESENTACION DE LOS MANUSCRITUS
Estructura
La primera página debe incluir exclusivamente el título del artículo y el nombre,
dirección completa y teléfono del autor. En el caso de varios autores se indicará a
qu^én debe dirigirse la correspondencia. La segunda página contendrá únicamente el
título y resumen del traba^o de un máximo de 100 palabras, seguida de 3 a 6
palab^as clave y la clas^ficación AMS del artículo EI texto del artículo cornenzará en
la tercera página y las secciones se numerarán consecutivamer^te. La última página
de! original contendrá en inglés el título del artículo, un resumen del mismo bajo el
epígrafe Summary y las palabras clave. EI manuscrito debe mecanografiarse a doble
espacio. Cuando el título del artículo contenga r^nás de 80 caracteres, se debera
indicar un título alternativo de dicha longitud o menor.
Gráficos
Todos los diagramas o gráficos se numerarán sucesivamente y se indicará su
posición en el texto con el nombre de figura. Se colocarán al final del manuscrito y
deberán ser de la calidad necesaria para su reproducción.
Referencia
EI sistema de referencia a seguir es el oficial del internacional Statistical Institute.
Los autores se citarán en el texto por s^^ nombre, seguido de la fecha de publicación;
ejemp^o: Box (19861, y ias referencias se situarán en orden alfabético al final del
texto, como sigue:
a) Libros ^ Weisberg, S. (1 9851. Applied Linear Regression, New York: Wiley.
b) Artículos.^ Mahalanobis, P. c. (1 9501. Why Statistics? Sankhya, 10, 1 95-228.
c^ Trabajos en obras colectivas.^ Box, G. E. P. (19$31. An Apology for Ecumenism
i^ Statistics. Scientific lnference, Data Analysi^ and Robutsness, Ed. C. E. P., Leonard,
T. y Wu, C. F., pp. 51-84. New York: Academic-Press.
Evaluación de las originales
Los origir^aies serán sometidos a un proceso de evaluación garantizando el anonimato tanto del autor como de los evaluadores. EI objetivo de la revista es que el
autor reciba información sobre el resultado de la evaluación en un plazo rnáximo de
tres meses.
Pruebas y separatas
Aceptado el artículo y antes de su publicación definitiva, el autor o autores recibirá
2 juegos de pruebas para correcciones, uno de los cuales deberá devolver corregido
a la Revista en un plazo de una semana desde su recepción. Una vez pubticado,
recibirá 25 separatas de su trabajo. Los posibles costes de impresión derivados de
cualquier modificación de la versión final aceptada del manuscrito o de retraso en la
corrección de pruebas serán a cargo del autor o autores del mismo.
Descargar