S (язык программирования)/Temp


S (язык программирования)/Temp
Это временная версия статьи S (язык программирования). После внесения в неё правок нужно объединить эту статью со статьёй S (язык программирования) и заменить её содержимое шаблоном {{db}}. Если статья не подходит под формат Википедии, то её нужно перенести в другой вики-проект.

Содержание

Обзор

S - язык программирования, разработанный фирмой AT&T Bell Labs (появился в середине 80-х годов), предназначен для обработки данных. Разработано несколько версий расширения языка S - S-Plus, для различных платформ (UNIX, Sun OS, Windows).

В описании S-Plus [1] (см. также [2] ), приведенном S-Press[3], отмечается, что этот продукт содержит объектно-ориентированный язык программирования, что обеспечивает возможность контролировать состояние описанных на этом языке объектов в любой точке алгоритма. Причем объектами являются все наборы данных, функции и модели анализа. Это выгодно отличает данный продукт от специализированных программных пакетов. Вы больше не должны собирать команды и функции, помещать все это черный ящик и ждать итоговой распечатки. Преимущества нового подхода состоят в обеспечении контролируемости на каждом шаге вычислений, понятности операций и уверенности в результате. Отмечается, что из концепции S-Plus исключена генерация красивых, но жестко заданных отчетов (printouts).

Краткий обзор основных черт языка S-Plus

(S-PLUS Features at a Glance [4] ).

  • Имеется пользовательский интерфейс с системой меню, позволяющий осуществлять последовательность действий в диалоге с программой (Interactive analysis, with step-by-step feedback).
  • Имеется встроенный объектно-ориентированный язык, (Built-in, true object-oriented language).

Возможности языка

S-PLUS поддерживает:

  • Классы (объекты), механизм наследования, встроенные(?) функции и методы (generic functions, and methods).
  • Операции и функции для работы со скалярными величинами, векторами и массивами (scalars, vectors, arrays)
  • Структурный язык (structured language), включающий операторы for, while, next, repeat, break.
  • Логические операторы: >, >=, <, <=, ==, !=, &, if else, all, any.
  • Интеллектуальные операторы для работы с объектами (Sophisticated operators for assigning, extracting, replacing parts of objects).
  • Объект список, позволяющий создавать структурированные массивы разнородных объектов.
  • Функцию подстановки для цикла, обрабатывающего сходные объекты ("Merge" function for intregrating data sets).
  • Функции "By" и "Aggregate" (for analyzing specific variables for each of the various levels of another variable).

S-PLUS позволяет:

  • Создавать собственные процедуры обработки данных.
  • Корректировать (modify) любую из 1650 имеющихся функций.

Интерфейс с программами на языках C и FORTRAN

  • Можно использовать как интерфейс (front-end) для коммерческих библиотек (IMSL, NAG и т.д.)
  • Динамическая и статическая загрузка программ пользователя, написанных на C или ФОРТРАНЕе.
  • Динамическая загрузка

Интерфейс с операционной системой

  • Порождение процессов (Spawn subprocesses).
  • Доступ к редакторам, имеющимся в системе.
  • Обмен данными с операционной системой и другими приложениями (Pass data to/from operating system and other applications).

Ввод/Вывод

  • Имеется пользовательский интерфейс с системой меню, позволяющий осуществлять последовательность действий в диалоге с программой (Interactive analysis, with step-by-step feedback).

Помощь и документация

Контекстная подсказка (help system); обширная документация; Command line recall and editing; Telephone and e-mail Helpline.

  • Функции (Classic and modern functions insure penetrating analysis and best fit)
  • Basic statistics
  • Элементарная статистика (Descriptive summary statistics).
  • Проверка гипотез по критерию Стьюдента (Student's t-test).
  • Проверка гипотез по критерию хи-квадрат (Chi-square test).
  • Ранговый критерий Вилксона (Wilcoxon rank sum test).
  • Binomial test
  • Mantel-Haenszel test
  • Стандартные распределения плотности (Probability distributions).
  • Многофакторная (Multivariate) статистика и графика.
  • Иерархическая кластеризация (Hierarchical clustering).
  • k-means clustering
  • Model-based clustering
  • Древовидная классификация

(Tree classifiers).

  • Log-linear contingency

table analysis (анализ случайностей).

  • Minimum spanning tree

(минимально разветвленное дерево).

  • Компонентный анализ

(Principal components).

  • Факторный анализ (Factor

analysis).

  • Каноническая корреляция

(Canonical correlation).

  • Многомерное масштабирование

(Multi-dimensional scaling)

  • Chernoff's faces
  • Графическое представление

кластеров в форме диаграмм (Star-symbol plots) и дендрограмм, отображающих дерево кластеров.

пар переменных (Scatterplot matrices).

  • Математические вычисления.

и матрицами (+, * и т.д.).

  • Eigenanalysis
  • Инвертирование матриц

и решение линейных уравнений.

  • Нахождение собственных

(Singular) значений и QR декомпозиция.

  • Поддержка стандарта

IEEE (IEEE special values supported).

  • Интерфейс с пакетом

LAPACK (численные методы линейной алгебры).

  • Определители и нормы

матриц и [conditional estimation].

  • Решение линейных уравнений

для задач неопределенности, квадратичных уравнений и метода наименьших квадратов.

  • Диаграммы оценки качества

(Quality control charts).

  • Shewhart charts
  • Cusum charts
  • Специализированные

графики (xbar, s, np, p, c, u).

  • Регрессия и дисперсионный

анализ (Regression and ANOVA).

  • Линейная регрессия

методом наименьших квадратов (least squares).

  • Нелинейная регрессия

методом наименьших квадратов.

  • Дисперсионный анализ

(Balanced and unbalanced ANOVA).

  • Обратная регрессия

(Stepwise regression).

  • Корреляция квадратов

остатков (Least trimmed squared residuals regression (high breakdown point robust regression)).

  • Обобщенная линейная

модель (Generalized linear models).

  • Обобщенная модель

роста (Generalized additive models (GAM)).

  • Residual deviance

(for model comparison)

  • ACE and AVAS regression

models

  • Projection pursuit

regression

  • M-estimates of regression
  • Tree-based regression
  • Survival analysis
  • Kaplan-Meier and Fleming-Harrington

curves

  • G-rho survival curve

tests

  • Parametric survival

models

  • Cox proportional hazards

models for time dependent covariates, multiple events and discontinuous intervals of risk

  • Formula-based model

specification

  • National rate tables

for age and sex matching of subjects to estimate expected survival curves

  • Анализ временных рядов

/ сигналов (Time series/signal analysis).

  • Автокорреляция.
  • Построение автокорреляционной

модели (классической и грубой).

  • Построение АРИСС-моделей

(ARIMA models).

  • Вычисление параметров

линейных фильтров.

  • Complex demodulation
  • Спектральный анализ.
  • Преобразование Фурье

и алгоритм БПФ (Fourier transformations).

  • Сглаживание (разнообразные

классические и грубые методы).

  • Интегрированная графика,

позволяющая наилучшие методы визуализации данных и результатов.

  • Вывод графиков в нескольких

окнах (Multiple graphics windows).

  • Управление мышью (Location

of graphics via mouse).

  • Анализ графиков мышью

(Point identification using mouse).

  • Переопределение цветовой

гаммы (User-definable color maps).

  • Interactive color

map save/load

  • Трехмерное вращение

графиков (3D data spinning).

  • Матрица для отображения

взаимосвязи многих переменных.

  • Condition on different

levels of an underlying variable

  • Formula-based display

specification with conditioning on factors or continuous variables

  • Multi-paneled displays

with flexible control over axes and aspect ratios

  • "Banking"

computations that let the data select the aspect ratio

  • Трехмерная графика.
  • Contour plot
  • Data spinning
  • Mesh surface with

user-selected perspective

  • Image plots (pixel

data representation, color or gray scale)

  • Scatterplot matrix

brushing

  • Двумерная графика

(2D plotting).

  • График двух переменных

(X-Y scatterplots).

  • График временной зависимости

(Time series plots).

  • Диаграммы (Box plots,

pie charts, histograms, bar plots, dot charts)

  • Семейства кривых (Overlay

multiple plots or display side-by-side)

  • Логарифмический и

линейный масштабы (Log and linear axis scaling).

  • Управление стилями

линий, курсоров, текста, цветом и пр.

  • Карты США.
  • Функции по выводу

карт (General mapping functions).

  • Графический пользовательский

интерфейс (Windows GUI features).

  • Опции могут отображаться

в специальных диалоговых панелях (dialog box), что создает дружественность интерфейса.

  • Управление объектами

и возможность наблюдения за их состоянием (Object brower to interactively display filter type and select S-PLUS objects).

  • Отображение предыдущих

команд, сохраняемых в специальном файле (Command history window displays all commands, which can be selected, executed, edited or saved to a file)

  • Поддержка DDE, позволяющая

приложениям, разработанным под Visual Basic или Visual C++ использовать S-Plus, посылая команды на исполнение и получая результаты (DDE serve support allows applications to send commands to S-PLUS and receive results, e.g. Visual Basic or Visual C++ interface applications).

  • Включает диалоговые

панели (dialog boxes) для задания параметров функций S-PLUS в диалоговом режиме.

  • Включает возможность

настраивать (создавать новые) меню, диалоговые панели и органы управления, связанные с командами и функциями S-PLUS (customizable menus to generate S-PLUS commands, customizable dialog boxes and controls).

Библиотека timeslab [5], содержащая функции для построения АРСС (ARMA) моделей и анализа временных рядов. Используется интерфейс S с библиотеками ФОРТРАНа (судя по исходному тексту - IMSL, NAG, ACM Collection).

Библиотеки, содержащие функции на языке S и SPlus (S+)

Ниже приведен краткий список библиотек, содержащих функции на языке S и Splus, реализующие описанные методы, предлагаемые для решения задачи прогнозирования, а также несколько библиотек, позволяющих связывать текст на языке S с текстом, написанным на ФОРТРАНе или С (С++) :

  • class - библиотека подпрограмм для классификации
  • fracdiff - подпрограммы вычисления параметров арисс-модели
  • gmanova - подпрограммы дисперсионного анализа
  • linreg - подпрограммы построения линейной регрессии
  • mclust - подпрограммы кластерного анализа
  • mda - подпрограммы дискриминантного анализа
  • mmreg - подпрограммы построения множественной регресии
  • nnet - прогнозирование с использованием нейронных сетей
  • nonlin - подпрограммы построения нелинейной регресии
  • pear - периодическая авторегрессия
  • s.f77.c.libs - программный интерфейс с Фортраном и С
  • safe.predict
  • time.series - анализ временных рядов с использованием АРСС-моделей
  • time.series.guide - руководство по анализу временных рядов
  • timeslab - подпрограммы по анализу временных рядов с использованием текстов на Фортране

Пакеты

Примером совмещения возможностей S и дружественного пользовательского интерфейса, описываемого на языке LISP может служить пакет S-Mode (Emacs, упоминаются версии 4.8 и ниже).

Следует упомянуть о том факте, что в тексте, описывающем достоинства языка R, указывается ряд недостатков языка S и его программных реализаций (ошибки по памяти, не полная совместимость для различных платформ и пр.). Кроме того не ясна доступность программных оболочек и компиляторов, возможно, их стоимость - велика. (Указывается, что R распространяется свободно - standart GNU-style copyleft - в отличие от copyright).

Сопоставление SAS и S (программы для анализа и обработки данных)

В приведенных ниже статьях содержится сопоствление SAS и S - двух программых продуктов, занимающих лидирующие позиции на рынке программ для анализа и обработки данных. Оба продукта содержат собственные языки программирования и средства разработки. Автор указывает на то, что он использует оба средства, однако предпочтительнее для него S-Plus. Один из аргументов в пользу S-Plus - его более низкая стоимость.

Dr. Terry Therneau uses both S-PLUS and SAS to maximize his data analysis

Описание применений S-PLUS для решения финансовых задач

<A HREF="http://www.mathsoft.com/spress/dec95/sas.HTMl">Sjo, Inc. uses S-PLUS to develop futures trading methodologies </A>

<A HREF="http://www.mathsoft.com/spress/dec95/sas.HTMl">Financial Modeling in S-PLUS</A>

<A HREF="http://www.mathsoft.com/spress/dec95/sas.HTMl">Market researchers seeking more from their data turn to S-PLUS</A>

Дистрибуторы S-PLUS - Sales Department StatSci Europe <A HREF="http://www.statsci.co.uk">[6]</A>

Источники информации в Internet

  • Software-oriented

Pages (перечень страниц, почти каждая содержит информацию по одному или нескольким программным продуктам.

обеспечению, содержит удобную поисковую систему по ключевым словам и древовидный индекс - problem decision tree, позволяющий последовательно сужать поиск. Содержит информацию

о программных библиотеках исходных текстов и о статистических пакетах.

  • Core Math LIBrary

- сборник статистических библиотек на ФОРТРАНе, с исходными текстами снабженными комментариями, включающими описание методов.

содержит информацию, включая исходные коды с примерами данных (datasets and code). Указываются языки XLispStat, S, R, BLSS и др.

  • Power Analysis software for PC-s обширный список программ, предназначенных для проверки статистических гипотез при анализе мощности. Обзор статистических пакетов и ссылок на соответствующие страницы.
  • Kovach Computing services содержит список сайтов по статистической обработке данных. Предоставляет консультации по пакетам SIMSTAT, MVSP, Oriana.
  • NPSTAT home cодержит большой список современные методы для непараметрического контроля и других методов статистической обработки (statistics in general).

Примечания


Wikimedia Foundation. 2010.

Смотреть что такое "S (язык программирования)/Temp" в других словарях:

  • Occam (язык программирования) — Язык программирования Оккам (англ. Occam) это процедурный язык параллельного программирования высокого уровня, разработанный в начале 80 х годов группой учёных из Оксфорда под руководством Дэвида Мэя (англ. David May) по заданию английской… …   Википедия

  • Оккам (язык программирования) — Эта статья о языке программирования; о философе см.: Оккам, Уильям. occam Появился в: 1983 Диалекты: occam π (pi) Испытал влияние: CSP (англ.) Повлиял на …   Википедия

  • Oxygene (язык программирования) — У этого термина существуют и другие значения, см. Oxygene. Oxygene Релиз: 4.0.25 (20 августа 2010) Испытал влияние: Object Pascal, C# …   Википедия

  • Occam — Эта статья о языке программирования; о философе см.: Оккам, Уильям. Язык программирования Оккам (англ. Occam)  это процедурный язык параллельного программирования высокого уровня, разработанный в начале 1980 х годов группой учёных из… …   Википедия

  • Clojure — Класс языка: функциональный, мультипарадигмальный Появил …   Википедия

  • Script.NET — Тип Язык программирования Операционная система Windows 98 или старше Последняя версия Версия 1.0 (17 декабря 2007) Лицензия LGPL …   Википедия

  • Интерфейс (объектно-ориентированное программирование) — У этого термина существуют и другие значения, см. Интерфейс (значения). Интерфейс (от лат. inter  «между», и face  «поверхность»)  семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования… …   Википедия

  • Интерфейс (ООП) — Интерфейс (от лат. inter  между и лат. face  поверхность)  это семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом или компонентом. Интерфейс определяет границу… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.