Парадигма | Мультипарадигма : управляемое данными , процедурное программирование |
---|---|
Разработано | Энтони Джеймс Барр |
Разработчик | Институт САС |
Впервые появился | 1976 ( 1976 ) |
ОС | Windows и macOS |
Лицензия | Запатентованное коммерческое программное обеспечение |
Расширения имени файла | .sas |
Веб-сайт | sas.com/en_us/software/base-sas.html |
Язык SAS — это язык программирования четвертого поколения , используемый для статистического анализа, созданный Энтони Джеймсом Барром в Университете штата Северная Каролина . [1] [2] Его основные приложения включают интеллектуальный анализ данных и машинное обучение . Язык SAS работает под управлением компиляторов, таких как SAS System , которые могут использоваться на Microsoft Windows , Linux , UNIX и мэйнфреймах . [3]
SAS был разработан в 1960-х годах Энтони Джеймсом Барром , который создал его фундаментальную структуру, [4] и генеральным директором SAS Institute Джеймсом Гуднайтом , который разработал ряд функций, включая процедуры анализа. [5] В настоящее время язык разрабатывается и спонсируется SAS Institute , основателем и генеральным директором которого является Гуднайт. [6]
Базовый SAS — это процедурный язык программирования четвертого поколения , разработанный для статистического анализа данных. [7] Он является полным по Тьюрингу и специфичным для домена, со многими атрибутами командного языка . Как интерпретируемый язык , он, как правило, анализируется, компилируется и выполняется шаг за шагом. [8] Изначально система SAS была движком с одной инструкцией и одними данными (SISD), но позже были добавлены функциональные возможности одной инструкции и нескольких данных (SIMD) и нескольких инструкций и нескольких данных (MIMD). [9] Большую часть базового кода SAS можно переносить между версиями, но некоторые функции и параметры специфичны для определенных операционных систем и интерфейсов. [10]
Все программы SAS написаны на языке SAS, хотя некоторые пакеты используют графические пользовательские интерфейсы на основе меню на внешнем интерфейсе . [11] Различные редакторы SAS используют цветовое кодирование для обозначения таких компонентов, как границы шагов, ключевые слова и константы. [12] Он может считывать данные из обычных электронных таблиц и баз данных и выводить результаты статистического анализа в таблицах, графиках и в виде документов RTF , HTML и PDF . [13]
Язык состоит из двух основных типов блоков: блоки DATA и блоки PROC. [14] Блоки DATA могут использоваться для чтения и обработки входных данных, а также для создания наборов данных. Блоки PROC используются для выполнения анализов и операций с этими наборами данных, сортировки данных и вывода результатов в виде описательной статистики, таблиц, результатов, диаграмм и графиков. [15] [16] PROC SQL может использоваться для работы с синтаксисом SQL в SAS. [17]
Пользователи могут вводить как числовые, так и символьные данные в базовый SAS. Операторы SAS должны начинаться с зарезервированного ключевого слова и заканчиваться ;
[18], но в остальном язык гибок с точки зрения форматирования, и большинство операторов нечувствительны к регистру . [19] Операторы SAS могут продолжаться на нескольких строках и не требуют отступов, хотя отступы могут улучшить читаемость. [18] Комментарии разделяются /*
и */
. [20]
Стандартная программа SAS обычно включает в себя определение данных, создание набора данных и выполнение таких процедур, как анализ этого набора данных. [18] Скрипты SAS имеют расширение .sas.
Простой пример кода SAS:
* КОММЕНТАРИЙ; Данные TEMP; ввод X YZ; линии данных; 1 2 3 5 6 7 ; запуск;ПРОЦЕСС ПЕЧАТИ ДАННЫХ = ТЕМП ; ВЫПОЛНЕНИЕ;
Макроязык SAS доступен в базовом программном обеспечении SAS для сокращения объема кода и создания генераторов кода для построения более универсальных и гибких программ. [21] Макроязык может использоваться для таких простых функций, как символьная подстановка, и таких сложных, как динамическое программирование . [8] Макро SAS считается богатым языком, [22] хотя его общий синтаксис очень похож на синтаксис базового SAS. Имена макропеременных в SAS обычно предваряются &
, в то время как операторы макропрограмм обычно предваряются %
. [8]
Институт SAS разрабатывает ряд инструментов и программных пакетов, также называемых SAS, которые используются для создания программ на языке. Эти пакеты включают JMP , SAS Viya , SAS Enterprise Guide и SAS Enterprise Miner. [3] [9] [17] В 2002 году World Programming также разработала программное обеспечение, позволяющее выполнять большинство скриптов SAS. [17]
Язык SAS используется в качестве стандарта во многих отраслях промышленности [17] и занял 22-е место в индексе TIOBE в феврале 2024 года. [23] Он особенно широко используется для машинного обучения , [24] интеллектуального анализа данных и хранилищ данных в финансовой, страховой, производственной, медицинской и фармацевтической отраслях. [14] Он имеет высокий уровень документации и поддержки сообщества, [20] что способствовало его внедрению. [24]
SAS используется для подготовки входных данных, а также для построения и оптимизации алгоритмов машинного обучения . [25] Различные модели, такие как искусственные нейронные сети (ИНС), сверточные нейронные сети и модели глубокого обучения , разрабатываются и обучаются в SAS. [26] Они применяются в таких областях, как компьютерное зрение и обнаружение мошенничества . [27] SAS также известен своими приложениями в области принятия решений . [28]
Хотя SAS изначально был разработан для анализа данных, он стал важным языком для хранения данных. [5] SAS является одним из основных языков, используемых для интеллектуального анализа данных в бизнес-аналитике и статистике. [29] Согласно Gartner 's Magic Quadrant и Forrester Research , SAS Institute является одним из крупнейших поставщиков программного обеспечения для интеллектуального анализа данных. [24]