El lenguaje SAS es un lenguaje de programación informática de cuarta generación utilizado para el análisis estadístico, creado por Anthony James Barr en la Universidad Estatal de Carolina del Norte . [1] [2] Sus principales aplicaciones incluyen la minería de datos y el aprendizaje automático . El lenguaje SAS se ejecuta bajo compiladores como el Sistema SAS que se puede utilizar en Microsoft Windows , Linux , UNIX y computadoras mainframe . [3]
SAS fue desarrollado en la década de 1960 por Anthony James Barr , quien construyó su estructura fundamental, [4] y el director ejecutivo del SAS Institute, James Goodnight , quien desarrolló una serie de características, incluidos los procedimientos de análisis. [5] El lenguaje es desarrollado y patrocinado actualmente por el SAS Institute , del cual Goodnight es fundador y director ejecutivo. [6]
Base SAS es un lenguaje de programación procedimental de cuarta generación diseñado para el análisis estadístico de datos. [7] Es Turing-completo y específico del dominio, con muchos de los atributos de un lenguaje de comandos . Como lenguaje interpretado , generalmente se analiza, compila y ejecuta paso a paso. [8] El sistema SAS era originalmente un motor de instrucción única, datos únicos (SISD), pero luego se agregó la funcionalidad de instrucción única, datos múltiples (SIMD) y de instrucciones múltiples, datos múltiples (MIMD). [9] La mayor parte del código SAS base se puede trasladar entre versiones, pero algunas funciones y parámetros son específicos de ciertos sistemas operativos e interfaces. [10]
Todos los programas SAS están escritos en el lenguaje SAS, aunque algunos paquetes utilizan interfaces gráficas de usuario controladas por menús en el front-end . [11] Varios editores SAS utilizan códigos de colores para identificar componentes como límites de pasos, palabras clave y constantes. [12] Puede leer datos de hojas de cálculo y bases de datos comunes y generar los resultados de análisis estadísticos en tablas, gráficos y como documentos RTF , HTML y PDF . [13]
El lenguaje consta de dos tipos principales de bloques: bloques DATA y bloques PROC. [14] Los bloques DATA se pueden utilizar para leer y manipular datos de entrada y crear conjuntos de datos. Los bloques PROC se utilizan para realizar análisis y operaciones en estos conjuntos de datos, ordenar datos y generar resultados en forma de estadísticas descriptivas, tablas, resultados, gráficos y diagramas. [15] [16] PROC SQL se puede utilizar para trabajar con la sintaxis SQL dentro de SAS. [17]
Los usuarios pueden introducir datos numéricos y de caracteres en el lenguaje SAS básico. Las instrucciones SAS deben comenzar con una palabra clave reservada y terminar con ;
[18] pero, por lo demás, el lenguaje es flexible en términos de formato y la mayoría de las instrucciones no distinguen entre mayúsculas y minúsculas . [19] Las instrucciones SAS pueden continuar en varias líneas y no requieren sangría, aunque las sangrías pueden mejorar la legibilidad. [18] Los comentarios están delimitados por /*
y */
. [20]
Un programa SAS estándar normalmente implica la definición de datos, la creación de un conjunto de datos y la realización de procedimientos como el análisis de ese conjunto de datos. [18] Los scripts SAS tienen la extensión .sas.
Un ejemplo sencillo de código SAS es el siguiente
* COMENTARIO; Datos TEMP; entrada X YZ; líneas de datos; 1 2 3 5 6 7 ; ejecutar;PROC IMPRESIÓN DATOS = TEMP ; EJECUTAR;
El lenguaje de macros SAS está disponible en el software base de SAS para reducir la cantidad de código y crear generadores de código para crear programas más versátiles y flexibles. [21] El lenguaje de macros se puede utilizar para funcionalidades tan simples como la sustitución simbólica y tan complejas como la programación dinámica . [8] Se considera que SAS macro es un lenguaje rico, [22] aunque su sintaxis general es muy similar a la del SAS base. Los nombres de las variables macro en SAS suelen ir precedidos por &
, mientras que las declaraciones de programas macro suelen ir precedidas por %
. [8]
SAS Institute desarrolla una serie de herramientas y paquetes de software, también llamados SAS, que se utilizan para crear programas en el lenguaje. Estos paquetes incluyen JMP , SAS Viya, SAS Enterprise Guide y SAS Enterprise Miner. [3] [9] [17] En 2002, World Programming también desarrolló un software que permite la ejecución de la mayoría de los scripts de SAS. [17]
El lenguaje SAS se utiliza como estándar en muchas industrias, [17] y ocupó el puesto número 22 en el índice TIOBE en febrero de 2024. [23] Se utiliza especialmente para el aprendizaje automático , [24] la minería de datos y el almacenamiento de datos en las industrias de finanzas, seguros, fabricación, atención médica y farmacéutica. [14] Tiene un alto nivel de documentación y apoyo de la comunidad, [20] lo que ha contribuido a su adopción. [24]
SAS se utiliza para preparar datos de entrada y construir y optimizar algoritmos de aprendizaje automático . [25] Varios modelos, como redes neuronales artificiales (ANN), redes neuronales convolucionales y modelos de aprendizaje profundo , se desarrollan y entrenan en SAS. [26] Estos se aplican a áreas como la visión artificial y la detección de fraudes . [27] SAS también se ha destacado por sus aplicaciones en el área de inteligencia de decisiones . [28]
Si bien SAS se desarrolló originalmente para el análisis de datos, se convirtió en un lenguaje importante para el almacenamiento de datos. [5] SAS es uno de los principales lenguajes utilizados para la minería de datos en inteligencia empresarial y estadísticas. [29] Según el Cuadrante Mágico de Gartner y Forrester Research , el SAS Institute es uno de los mayores proveedores de software de minería de datos. [24]