Stata

Материал из Циклопедии
Перейти к навигации Перейти к поиску
программное обеспечение
Stata
Файл:stata_logo_med_blue.png
Файл:Stata18.png
Stata 18 on Windows
Тип

Статистический вывод
Численные методы

Автор

William Gould[1]

Разработчик

StataCorp

Написана на

C

Операционная система

Windows, macOS, Linux

Первый выпуск

1985 (1985)

Последняя версия

18.0 (25 апреля 2023 года; 815 дней тому назад)

Лицензия

Проприетарное программное обеспечение

Сайт

stata.com

Stata (англ. STATA) — статистическая система общего назначения программный комплекс, разработанный компанией StataCorp для обработки данных, визуализации, статистики и автоматизированной отчетности. Она используется исследователями во многих областях, включая биомедицину, экономику, эпидемиологию и социологию[2][3][4].

Первоначально Stata была разработана Центром вычислительных ресурсов в Калифорнии, а первая версия была выпущена в 1985 году[5]. В 1993 году компания переехала в Колледж-Стейшн, штат Техас, и была переименована в Stata Corporation, теперь известную как StataCorp. Крупный релиз в 2003 году включал в себя новую графическую систему и диалоговые окна для всех команд. С тех пор новая версия выпускается раз в два года[6]. Текущая версия — Stata 18, выпущенная в апреле 2023 года[7].

Технический обзор и терминология[править]

Пользовательский интерфейс[править]

С момента своего создания компания Stata всегда использовала интегрированный интерфейс командной строки. Начиная с версии 8.0, Stata включает в себя графический пользовательский интерфейс, основанный на фреймворке Qt, который использует меню и диалоговые окна для предоставления доступа ко многим встроенным командам. Набор данных можно просматривать или редактировать в формате электронной таблицы. Начиная с версии 11, другие команды могут выполняться при открытом браузере данных или редакторе.

Структура и хранение данных[править]

До выпуска версии 16[8], Stata могла открывать только один набор данных в любой момент времени. Stata обеспечивает гибкость при назначении типов данных данным. Его команда автоматически переназначает данные типам данных, которые занимают меньше памяти, без потери информации. Stata использует целочисленные типы хранилища, которые занимают только один или два байта, а не четыре, и одинарная точность (4 байта), а не двойная точность (8 байт) используется по умолчанию для чисел с плавающей запятой.

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

Совместимость форматов данных[править]

Stata может импортировать данные в различных форматах. К ним относятся форматы данных ASCII (например, форматы CSV или банки данных) и форматы электронных таблиц (включая различные форматы Excel).

Проприетарные форматы файлов Stata менялись с течением времени, хотя не каждый выпуск Stata включает новый формат набора данных. Каждая версия Stata может считывать все старые форматы наборов данных и может записывать как текущий, так и самый последний предыдущий формат набора данных с помощью команды saveold[9]. Таким образом, текущая версия Stata всегда может открывать наборы данных, которые были созданы с помощью более старых версий, но более старые версии не могут читать наборы данных нового формата.

Stata может считывать и записывать наборы данных формата SAS XPORT с помощью команд fdause и fdasave.

Некоторые другие эконометрические приложения, в том числе gretl, могут напрямую импортировать форматы файлов Stata.

История[править]

Истоки

Разработка Stata началась в 1984 году, сначала Уильямом (Биллом) Гулдом, а затем Шоном Бекетти. Изначально предполагалось, что программное обеспечение будет конкурировать со статистическими программами для персональных компьютеров, такими как SYSTAT и MicroTSP. Stata была написана, как тогда, так и сейчас, на языке программирования C, первоначально для ПК под управлением операционной системы DOS. Первая версия была выпущена в 1985 году с 44 командами.[5].

Commands in Stata 1.0 and Stata 1.1
append dir infile plot spool
beep do input query summarize
by drop label regress tabulate
capture erase list rename test
confirm exit macro replace type
convert expand merge run use
correlate format modify save
count generate more set
describe help outfile sort
Разработка

В период с 1985 по 2021 год вышло 17 основных выпусков Stata, а также дополнительные обновления кода и документации между основными выпусками. В первые годы существования дополнительные наборы программ Stata иногда продавались в виде «наборов» или распространялись как диски поддержки. С выпуском Stata 6 в 1999 году, updates стали доставляться пользователям через Интернет. Первоначальный выпуск Stata был предназначен для операционной системы DOS. С тех пор были выпущены версии Stata для систем, работающих под управлением вариантов Unix, таких как дистрибутивы Linux, Windows и MacOS. Все файлы Stata не зависят от платформы.

За свою 37-летнюю историю в Stata были добавлены сотни команд[10][11]. Некоторые разработки оказались особенно важными и продолжают формировать пользовательский опыт сегодня, включая расширяемость, независимость от платформы и активное сообщество пользователей.

Расширяемость

Команда program была реализована в Stata 1.2, что дало пользователям возможность добавлять свои собственные команды[5][12]. ado-файлы, появившиеся в Stata 2.1, позволяли автоматически загружать в память написанную пользователем программу. Многие ado-файлы, написанные пользователями, отправляются в [Statistical Software Components Archive], размещенный в Бостонском колледже. StataCorp добавила команду, позволяющую добавлять программы, созданные сообществом, непосредственно в Stata[13]. Более поздние версии Stata позволяют пользователям вызывать скрипты Python и R с помощью команды ssc, а также позволяют интегрированным средам разработки Python, таким как Jupyter Notebooks, импортировать команды Stata[14][15].

Сообщество пользователей

Ряд важных разработок был инициирован активным сообществом пользователей Stata. Технический бюллетень Stata, который часто содержит пользовательские команды, был введен в 1991 году и выпускался шесть раз в год. Он был перезапущен в 2001 году как рецензируемый Stata Journal, ежеквартальное издание, содержащее описания команд, предоставленных сообществом, и советы по эффективному использованию Stata. В 1994 году был создан сайт listserv, где пользователи могли совместно решать проблемы кодирования и технические вопросы; в 2014 году он был преобразован в веб-форум. В 1995 году Statacorp начала организовывать ежегодные конференции пользователей и разработчиков. Только ежегодная конференция Stata, проводимая в США, проводится StataCorp. Другие собрания групп пользователей проводятся ежегодно в США (Конференция Стата), Великобритании, Германии и Италии, реже в некоторых других странах. Местные дистрибьюторы Stata проводят встречи групп пользователей в своих странах.

Таблица: Релизы и развитие Stata
Version Release date Select new or enhanced features
1.0 January 1985
  • Initial release
  • Forty-four commands
1.1 February 1985
  • Bug fixes
1.2 May 1985
  • New menu system
  • Better online help
  • keep
1.3 August 1985
  • Stata/Graphics
  • program
1.4 August 1986
  • New documentation
  • Formatted infile
1.5 February 1987
  • anova
  • logit, probit
2.0 June 1988
  • New graphics
  • String variables
  • Survival analysis: Cox and Kaplan-Meier
  • Stepwise regression
2.1 September 1990
  • Byte variables
  • Factor analysis
  • ado-files
  • reshape
3.0 March 1992
  • logistic, ologit, oprobit, clogit, mlogit
  • tobit, cnreg, rreg, qreg, weibull, ereg
  • epitab
  • pweights
3.1 August 1993
  • mvreg, sureg, heckman, nlreg, areg, canon
  • nbreg
  • constrained linear regression
  • ml
  • codebook
4.0 January 1995
  • xtreg
  • glm
5.0 October 1996
  • xtgee, xtprobit
  • prais, newey, intreg
  • survey estimation commands
  • fracpoly
  • st extended
6.0 January 1999
  • web aware
  • new ml
  • time-series operators
  • arima, arch
  • st rewritten
7.0 December 2000
  • frailty
  • xtabond
  • cluster analysis
  • nlogit
  • roc
  • SMCL
8.0 January 2003
  • graphics
  • extended GUI, dialog boxes available for all commands
  • manova
  • more survey
  • more time series (VARs, SVARs)
  • more GLLAMM internalization
8.1 July 2003
  • updated ml
8.2 October 2003
  • graphics changes
9.0 April 2005
  • mata matrix programming language
  • survey features
  • linear mixed models
  • multinominal probit models
9.1 September 2005
9.2 April 2006
10.0 June 2007
  • graph editor
  • logistic and Poisson models with complex, nested error components
10.1 August 2008
11.0 July 2009
  • factor variables
  • margins postestimation command
  • multiple imputation
11.1 June 2010
11.2 March 2011
12.0 July 2011
  • automatic memory management
  • structural equation modeling
12.1 January 2012
13.0 June 2013
  • long strings
  • treatment effects
13.1 October 2013
14.0 April 2015
  • unicode support
  • Bayesian statistical analysis
14.1 October 2015
14.2 September 2016
15.0 June 2017
  • latent class analysis
  • PDF and Word documents
  • color transparency or opacity in graphs
15.1 November 2017
16.0 June 2019
  • frames (multiple datasets in memory)
  • lasso regression
  • automated reporting
  • updated choice models
16.1 February 2020
17.0 April 2021
  • updated tables command
  • bayesian econometrics
18.0 April 2023
  • Bayesian model averaging
  • causal mediation analysis
  • heterogeneous difference-in-differences

Программные продукты[править]

Существует четыре сборки Stata: Stata/MP, Stata/SE, Stata/BE и Numerics by Stata[16]. В то время как Stata/MP допускает встроенную параллельную обработку определенных команд, Stata/SE и Stata/BE являются упрощенными и ограничивают использование только одним ядром. Stata/MP выполняет определенные команды примерно в 2,4 раза быстрее, примерно на 60% от теоретической максимальной эффективности, при выполнении параллельных процессов на четырех ядрах ЦП по сравнению с версиями SE или BE[17]. Numerics от Stata позволяет веб-интеграцию команд Stata.

Версии SE и BE различаются по объему памяти, которую могут использовать наборы данных. Хотя Stata/MP может хранить от 10 до 20 миллиардов наблюдений и до 120 000 переменных, Stata/SE и Stata/BE хранят до 2,14 миллиарда наблюдений и обрабатывают 32 767 переменных и 2 048 переменных соответственно. Максимальное количество независимых переменных в модели составляет 65 532 переменных в Stata/MP, 10 998 переменных в Stata/SE и 798 переменных в Stata/BE.

Цены и лицензирование Stata зависят от ее предполагаемого использования: коммерческий, государственный/некоммерческий, образовательный или студенческий. Однопользовательские лицензии могут продлеваться ежегодно или бессрочно. Другие типы лицензий включают одну лицензию для использования одновременными пользователями, лицензию на сайт, корпоративную лицензию для одного пользователя с оптовой оплатой или студенческую лабораторию[18].

Пример кода[править]

Следующий набор команд относится к простому управлению данными[19]. <syntaxhighlight lang="stata"> sysuse auto // Open the included auto dataset browse // Browse the dataset (opens the Data Editor window)

describe // Describes the dataset and associated variables summarize // Summary information about numerical variables

codebook make foreign // Summary information about the make (string) and foreign (numeric) variables

browse if missing(rep78) // Browse only observations with missing data for variable rep78 list make if missing(rep78) // List makes of the cars with missing data for variable rep78 </syntaxhighlight>

The next set of commands move onto descriptive statistics.

<syntaxhighlight lang="stata"> summarize price, detail // Detailed summary statistics for variable price

tabulate foreign // One-way frequency table for variable foreign tabulate rep78 foreign, row // Two-way frequency table for variables rep78 and foreign

summarize mpg if foreign == 1 // Summary information about mpg if the car is foreign (the "==" sign tests for equality) by foreign, sort: summarize mpg // As above, but using the "by" prefix. tabulate foreign, summarize(mpg) // As above, but using the tabulate command. </syntaxhighlight>

A simple hypothesis test:

<syntaxhighlight lang="stata"> ttest mpg, by(foreign) // T-test for difference in means for domestic vs. foreign cars </syntaxhighlight>

Graphing data:

<syntaxhighlight lang="stata"> twoway (scatter mpg weight) // Scatter plot showing relationship between mpg and weight twoway (scatter mpg weight), by(foreign, total) // Three graphs for domestic, foreign, and all cars </syntaxhighlight>

Linear regression:

<syntaxhighlight lang="stata"> generate wtsq = weight^2 // Create a new variable for weight squared regress mpg weight wtsq foreign, vce(robust) // Linear regression of mpg on weight, wtsq, and foreign predict mpghat // Create a new variable contained the predicted values of mpg twoway (scatter mpg weight) (line mpghat weight, sort), by(foreign) // Graph data and fitted line </syntaxhighlight>

Regression graphs from auto dataset in Stata 17

Литература[править]

Ссылки[править]

Источники[править]

  1. Newton H.J. (2005). «A conversation with William Gould». The Stata Journal 5 (1): 19–31. DOI:10.1177/1536867X0500500103.
  2. STATA Data Manipulation: Basics and Applications 7 (PDF). Iuj.ac.jp. Проверено 27 января 2022.
  3. Suárez E., Pérez C., Nogueras G., Moreno-Gorrín C. biostatistics-in-public-health-using-stata. — 2016.
  4. Disciplines. Stata: Software for Statistics and Data Science. Проверено 21 апреля 2021.
  5. 5,0 5,1 5,2 Cox N.J. (2005). «A brief history of Stata on its 20th anniversary». The Stata Journal 5 (1): 2–18. DOI:10.1177/1536867X0500500102.
  6. Gould W. W., Cox N.J. When was Stata first released? When were later versions released?. Stata: Software for Statistics and Data Science. Проверено 22 апреля 2021.
  7. What's new in Stata?. StataCorp. Проверено 25 апреля 2023.
  8. Data frames: multiple datasets in memory. Stata.com. Проверено 13 августа 2020.
  9. Stata 16 help for save. Stata.com.
  10. Stata Glossary and Index: Release 17. — College Station, TX: Stata Press. — P. 1–50. — ISBN 1-59718-283-4.
  11. Stata features. StataCorp. Проверено 24 апреля 2021.
  12. program - Define and manipulate programs. Stata Press. Проверено 24 апреля 2021.
  13. ssc - Install and uninstall packages from SSC. Stata Press. Проверено 24 апреля 2021.
  14. Use Python and Stata together | Stata.
  15. How to Switch Your Workflow from Stata to R, One Bit at a Time · Frederick Solt. Fsolt.org. Проверено 27 января 2022.
  16. Which Stata is right for me?. Stata: Software for Statistics and Data Science. Проверено 23 апреля 2021.
  17. Parallel Stata. Harvard Business School.
  18. Order Stata software. StataCorp. Проверено 25 апреля 2021.
  19. Getting Started with Stata for Windows. — Release 17. — College Station, TX: Stata Press. — P. 1–19. — ISBN 1-59718-334-2.
Руниверсалис

Одним из источников, использованных при создании данной статьи, является статья из википроекта «Руниверсалис» («Руни», руни.рф) под названием «Stata», расположенная по адресу:

Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC BY-SA.

Всем участникам Руниверсалиса предлагается прочитать «Обращение к участникам Руниверсалиса» основателя Циклопедии и «Почему Циклопедия?».