Я изучил R, но кажется, что компании гораздо больше заинтересованы в опыте SAS. Каковы преимущества SAS перед R?
Я изучил R, но кажется, что компании гораздо больше заинтересованы в опыте SAS. Каковы преимущества SAS перед R?
Ответы:
Я думаю, что есть несколько вопросов (в порядке возрастания возможной действительности):
Лично я только думаю, что # 3 имеет какие-либо законные достоинства, хотя существуют подходы к большим данным, которые были разработаны с R. Проблемы с # 1 говорят сами за себя. Я думаю, что # 2 игнорирует несколько фактов: есть некоторая проверка, которая продолжается с R, многие из основных пакетов написаны одними из самых больших имен в статистике, и были исследования, которые сравнивают точность различных статистических программ, и R имеет конечно был конкурентоспособен.
lme4
списка рассылки , например, я знаю, что сравнения с SAS появляются довольно регулярно. Но невозможно знать, должны ли мы даже делать такие сравнения. Не имея доступа к источнику, мы должны поверить тем компаниям, что результаты их программного обеспечения действительно действительны. Честно говоря, я предпочитаю иметь возможность просматривать программный код, который я использую.
Помимо хороших ответов, я бы добавил фактор смущения. Если в прошлом году вы потратили сотни тысяч долларов на поддержку SAS и SAS, и вы предлагаете ничего не тратить на R с крайне низкими ценами на поддержку (Revolution и т. Д.), Кто-то в цепочке спросит, почему. Было ли ошибкой тратить столько денег в прошлом году, когда R существовал в прошлом году? Или это ошибка - выбрасывать профессиональное программное обеспечение для чего-то, созданного группой добровольцев?
Как только проблема сформулирована таким образом, это предложение без потерь, так что, возможно, лучше не поднимать его.
Помимо того, что гунг правильно определил здесь, самая большая проблема в корпоративном мире - это наследие. И когда у вас есть качественный производственный код, который, как известно, выполняет эту работу, вы не меняете его. SAS существует с 1970-х годов, и в то время это был единственный эффективный, по тогдашним стандартам, язык сценариев для сценариев. Количество производственного кода, накопленного с тех пор в SAS в фармацевтике и правительстве, немыслимо, десятки тысяч человеческих лет. Переписывание этого в R или Stata займет несколько лет, в результате код станет более гибким, более эффективным, более прозрачным, простым и дешевым в обслуживании, но никто не будет платить за такой рефакторинг. (Мой опыт показывает, что мой код Stata обычно примерно в три раза короче; у меня когда-то был проект по преобразованию кода SPSS в Stata, где я сделал его примерно в 20 раз короче.
В некотором смысле, это аналогичная история с академическими издателями: они ведут поток конечных пользователей, поддерживая свои подписки по необходимости; Университет без подписки на Природу - это не университет. Бесплатная публикация через профессиональные сообщества сделает ее более дешевой, в наши дни люди готовят свои материалы в LaTeX, поэтому они готовы к работе с камерой, и те же люди будут предоставлять экспертную оценку, поэтому не будет никакого ухудшения качества ни по одному из измерений. Но ... нет никаких фирменных знаков и факторов влияния онлайн-журналов.
Это подводит итог всего этого: http://scatter.wordpress.com/2011/06/28/stata-12/ . Stata предпочитают в кругах экономики и политики, и чем больше я изучаю SAS, тем больше мне нравится Stata.
Последние семь лет я работал как программист SAS, а рядом со мной коллега программировал SAS дольше, чем был жив. Как отмечалось здесь, за SAS лежит огромное количество инерции / наследства; но SAS, как и R, - это путь к средству, а не само средство.
SAS чрезвычайно эффективен при последовательном доступе к данным, а доступ к базе данных через SQL чрезвычайно хорошо интегрирован. PROC очень хорошо документированы, но, к сожалению, не полностью стандартизированы с обозначениями (PROC OPTMODEL и IML являются двумя примерами). Это немного неуклюже, когда речь идет о написании сложного кода, и не так элегантно для параллельного кода. Я также обнаружил, что импорт CSV-файлов иногда вызывает большие страдания, и я предпочитаю сначала просто сбросить его в R, а затем в базу данных.
Хотя SAS имеет интерфейсы для общих объектов и DLL, вы не получите красивый доступ к любым заголовочным файлам или чему-то в этом роде, и распространение кода также не доступно через счастливые пакеты.
Однако мало кто беспокоится о том, чтобы включить в ваш код какой-то эзотерический, теперь уже не функционирующий или поврежденный пакет, который вам сейчас нужно поддерживать, и качество кода в SAS обычно одинаково превосходно (код ядра R также превосходен, а также свободно доступно каждому).
Как упоминалось ранее, SAS также чрезвычайно дорог, но это хороший инструмент, к которому я обращаюсь, когда знаю, что существует стандартная процедура, которая хорошо подходит для моих нужд.
R + SAS + mysql с небольшим количеством Perl, чтобы склеить их вместе, работает потрясающе :)
dplyr
библиотеки - он буквально переводит синтаксис R / dplyr в SQL и вызывает базу данных, вы можете решить, какие операции выполнять на сервере БД, а какие локально, используя тот же синтаксис: cran.r-project. org / web / packages / dplyr / vignettes / database.html
Поэтому я использую и R, и SAS - по общему признанию в академических кругах - но есть несколько причин, по которым я иногда склоняюсь к SAS:
Никто не предположил, что причина, по которой он предпочитает, - это простой идиотизм. Вот две цитаты, с которыми я недавно сталкивался:
«Использование программного обеспечения с открытым исходным кодом, такого как R, не могло быть и речи - мы не могли гарантировать идеально воспроизводимый результат»
а также
«Мы не сможем оказать какую-либо поддержку для этого, поскольку это программное обеспечение с открытым исходным кодом»
Две минуты с этими людьми покажут им, насколько они не правы.
Кажется, что одна проблема не была решена явно: прикрытие задницы. Если вы переходите на SAS и все рушится, лицо, принимающее решения, всегда может сказать, что он купил самое современное программное обеспечение, и откуда ему было знать, что оно сломается? Если он решил пойти с R, этот аргумент будет сложнее привести. Да, это связано с аргументом инерции, уже упомянутым здесь.
Несколько десятилетий назад они говорили, что «никто не был уволен за покупку IBM» , что называют величайшей маркетинговой фразой за всю историю.
Как пользователь SAS и R, я бы сказал, что главная причина, по которой мы используем SAS поверх R (когда мы это делаем), - это его способность к последовательной обработке. Для обработки данных за 15 лет нам нужны только машины с ОЗУ не более 4 ГБ. Мне понадобится машина гораздо большего размера, использующая Stock R, и я не пытался перенести код SAS для работы с Revolution R.
По состоянию на 2015 год актуарии в возрасте до 35 лет предпочитают использовать R - в учебниках используется код R и SAS. Старые актуарии никогда не учились использовать R и предпочитают SAS и не используют R. Доля актуариев, фактически кодирующих в SAS, уменьшится.
Если вы будете искать в Google стипендию документы, относящиеся к SAS, то вы найдете стабильные 550 публикаций в год в течение последних нескольких лет. Если вы ищете документы с использованием R («R Фонд для статистических вычислений»), в 2014 году их было 25 100, а по состоянию на середину июля 2015 года - 16 700. Построение курса - это очень быстро растет!
SAS не помогала себе в течение нескольких лет, требуя больших лицензионных отчислений от университетов - которые они с тех пор отменили - но сейчас слишком поздно, многие университеты перешли на преподавание с использованием R, а не SAS.
Новые статистические методы публикуются в статьях вместе с пакетом R. Некоторые методы, которые были в базе R в течение многих лет, до сих пор не появились в SAS. Теперь вы можете использовать R внутри SAS.
Таким образом, все меняется и быстро меняется.
В фармацевтической промышленности SAS используется, потому что это то, что FDA использует и любит. Есть несколько серьезных причин, хотя. Результаты прослеживаются, и у выхода есть метка времени. Статистика FDA может проверить, что вы получаете. Это очень хорошо для управления базами данных, и это надежное программное обеспечение. Конечно, можно утверждать, что многие из атрибутов SAS присутствуют в других программных пакетах, включая R и SAS. Тем не менее, я думаю, что любому, кто хочет стать прикладным статистиком, работающим в промышленности, лучше всего хотя бы научиться программировать в SAS. Используйте R или STATA, если вы предпочитаете, но знаете SAS. Когда вы работаете в компании, которая хочет, чтобы вы использовали SAS, они будут платить за лицензирование.
Я думаю, что эта цитата от Энн Х. Милли подводит итог того, как многие люди относятся к R:
У нас есть клиенты, которые производят двигатели для самолетов. Я счастлив, что они не используют бесплатное программное обеспечение, когда я сажусь на самолет.
К сожалению, я думаю, что это заблуждение (свободное == низшее) распространено среди широкой публики.
(немного не по теме): если взглянуть на это с другой стороны: некоторые преимущества R в научных кругах не применимы к промышленности.
Например, в академических кругах это явное преимущество, если вы можете сказать студентам пойти и получить программное обеспечение и работать дома. В промышленности обычно не нужно брать с собой какие-либо данные ...
Также вы не должны пробовать несколько вещей (TM), загружать тонны пакетов (даже если они проверены и проверены), использовать передовые методы. Вместо этого обычно ожидается, что вы будете придерживаться методов и кода, которые использовались годами и где поведение известно уже давно. Вы не выиграете много академических заслуг с этим.
И, конечно, как уже упоминалось: никто не рискует переделывать все виды одобрения регулирующих органов ради перехода на R. Из того, что я видел, меньше о R и больше об огромных затратах + работа для получения одобрения регулирующих органов. ,
Хотя это довольно пессимистично, мой ответ будет таким: люди, которые принимают масштабные решения в таких корпорациях, как «мы просто используем SAS», также относятся к тем людям, которые не доверяют тому, чего не понимают, и автоматически считают ценность чего-то прямо пропорционально сумме денег, которые вы тратите на это. Это заставляет их предпочитать платить за SAS, а не тратить время на изучение альтернатив.
Зачем крупной фармацевтической компании даже хотеть перейти на R с SAS? SAS стоит миллионы, но это ничего не значит для фармацевтической компании. Однако перевод всех стабильных систем отчетности с SAS на R обойдется в 50-100 раз дороже.
У SAS есть феноменальная система поддержки: каждый раз, когда мне требовалась помощь, они могли оказать ее в течение нескольких часов.
И что именно в R есть у SAS: 1) лучшая графика ... хорошо, она большая, но графика - это еще не все. Помимо R всегда можно использовать дополнительный инструмент для создания крутых графиков, а SAS не так уж и плох, когда дело доходит до графики 2) современный и более эффективный язык программирования. Многие пользователи SAS не являются программистами и не заботятся об использовании классного языка. Они просто хотят иметь возможность анализировать данные.
Я люблю R, но для большой компании было бы безумно переходить на SAS. Это может иметь смысл для небольших фирм, хотя
Есть несколько основных преимуществ, без определенного порядка
Я намеренно избегаю использования уничижительных терминов, таких как «наследие» или «привычка». Многие компании используют SAS в течение 30 или 40 лет, и у них есть миллионы строк рабочего кода. Кроме того, есть все преимущества стабильной кодовой базы с миллионами пользовательских дней в области, где небольшие ошибки могут быть критическими. Это та же самая причина, по которой Unix-версии по-прежнему популярны, даже несмотря на то, что Unix более 40 лет и в некотором смысле устарели. Наконец, существует большое сообщество опытных специалистов SAS, которые привыкли решать бизнес-задачи.
Компании располагают множеством различных источников данных, основанных на разных типах систем, а также во многих случаях в нескольких операционных средах. R совсем недавно получил некоторые чрезвычайно базовые возможности для работы с чем-то большим, чем может храниться в памяти. Сравните это со способностью SAS поддерживать встроенную оптимизированную обработку в базе данных для terradata, приведя лишь один пример. В большинстве реальных ситуаций самая сложная часть аналитики связана с данными и операционной средой. (Вам нужно запустить код оценки модели, разработанный для Windows, на мэйнфрейме? С SAS нет проблем. С R вам не повезло.) R не решает ни одну из этих проблем.
Пользователь SAS может быть достаточно уверен, что каждый модуль кода был протестирован квалифицированными специалистами. Нет необходимости уделять время и усилия изучению происхождения кода или независимой его проверке. Кроме того, если возникают какие-либо проблемы, надежная помощь (от чего-то простого, как документация, до чего-то столь же всеобъемлющего, как подробное изучение неожиданных результатов или поведения сложного метода), пользователь может взять трубку и получить помощь.
Язык отключает некоторых людей, потому что он отличается от современных языков для общего программирования. Сказав это, язык высокого уровня, мощный, выразительный и всеобъемлющий. Короче говоря, как только вы изучите это, оно выполнит свою работу. Для компаний элегантность решения не является чем-то особенным.
Служба поддержки.
Однажды я поболтал с другом, работающим в компании, специализирующейся на установке серверов, и затем он объяснил мне, почему крупные компании всегда выбирают продукты Microsoft, а не идут с открытым исходным кодом. Преимущество Microsoft над конкурентами с открытым исходным кодом - поддержка клиентов. Если что-то пойдет не так с продуктом, компания может позвонить в Microsoft, крупные компании даже имеют персональную поддержку для них. Не так с программным обеспечением с открытым исходным кодом.
Я думаю, что это та же самая причина, по которой SAS получает приоритет над R.
А как насчет Фронтендс? Что является эквивалентом R для SAS Enterprise Guide, Web Report Studio или Enterprise Miner? Редактировать: Эти инструменты позволяют непрограммирующему пользователю использовать СКЛАД ДАННЫХ без знания базовой технологии. Они не являются в первую очередь инструментами для использования SAS как таковой. R GUI - это просто IDE для языка / системы R, AFAIK. Они не могут предоставить помощь нетехническому пользователю, который хочет получить информацию и понимание от DWH.
Однажды я работал в консалтинговой компании, которая оказывала помощь SAS крупному производителю микросхем в Силиконовой долине. Наш контактный сотрудник в компании сказал нам, что он получил предложение от другой компании предоставить им ту же самую консультацию, используя другое программное обеспечение, которое охватывает все области, охватываемые SAS, и которое будет стоить компании доли того, что SAS взимает с них. ( 30 000 долларов США против 1 000 000 долларов США). Контактное лицо обдумало, что делать, и отказалось информировать своего босса о предложении, потому что он боялся, что его уволят за использование SAS, а не за более дешевые альтернативы. Вместо этого он настоял на том, чтобы наша консалтинговая компания дала их компании большой перерыв в наших консультационных расходах. Наша компания согласилась.
Я не думаю, что безопасность приложений была упомянута. Этот вопрос был поднят в Stack Overflow, но пропущен, поскольку это было не по теме.
Я сотрудничаю с Шведским национальным советом здравоохранения и социального обеспечения, который использует SAS. Когда я говорил с их статистиками (например, с R), они утверждали, что их ИТ-специалисты предпочитают SAS, поскольку они не доверяют пакетам, загруженным в R. Моя жена также работает в SAS, и ее организация часто заявляет о той же проблеме ...
Я хотел бы видеть некоторые комментарии по этому вопросу. Я сделал быстрый поиск, но не нашел хороших ссылок ...
Самая убедительная причина, по которой я понял, заключается в том, что в SAS имеется обширная библиотека модулей, ориентированных на конкретный бизнес, которые все люди используют в этих вертикалях, так что это в некотором роде замкнуто.
Но также и то, что SAS удовлетворяет потребности этих вертикальных сегментов в бизнесе и оптимизирует их потребности - оптимизировано в смысле «пользователю не нужно делать много дополнительной работы, чтобы получить результаты». Я не пользователь SAS, так что это не предвзятая защита бизнес-стратегии SAS.
Будучи крупным коммерческим продуктом SAS, платные продавцы прилагают активные и скоординированные усилия для его продвижения. Я не думаю, что усилия по продвижению использования R могут соответствовать этим.
Я смотрю на Open Source или лицензионное программное обеспечение, как это, будь то SAS или что-то еще. Мой ИТ-отдел готов предоставить услуги нашему бизнесу. Компания не зарабатывает деньги на ИТ, только на бизнес-поддержке ИТ. Бизнес имеет годовой доход в 16 миллиардов долларов . Она стоит около $ 200 млн в год. Если бы проблема была в деньгах, я бы сократил расходы, но если бы я сэкономил 10% ( $ 20 миллионов) из моего бюджета, бизнес будет уведомление? Они просто уменьшат мой бюджет в следующем году? Если ИТ терпит неудачу, бизнес теряет доход, насколько это будет зависеть от характера отказа. Части бизнеса больше не могут приносить доход. В случае сбоя такого продукта, как SAS, я могу подать в суд по контракту. Если продукт OSS дает сбой, я не могу. Я не верну свои $16 миллиардов, но я могу получить некоторые обратно, и реально с SAS вы вряд ли потеряете много. Разница в цене и стоимости должна оправдывать любой дополнительный предполагаемый риск для бизнеса. Иногда дешевле придерживаться SAS, чем переподготовку. Иногда возникают более приоритетные вопросы, поэтому компании остаются с SAS. Некоторые компании не нуждаются в полной функциональности, и в этом случае альтернативы являются жизнеспособными. Некоторые не нуждаются в поддержке, и снова альтернативы жизнеспособны. Если вы соответствуете бизнес-требованиям, то любой из вариантов действителен, если вы хотите обеспечить поддержку для бизнеса, вам нужно посмотреть на общую стоимость владения за 5-10 лет, возможность набирать специалистов по инструментам, стабильность в продукте. так что вам не нужно переписывать все с каждым новым выпуском, учебные курсы доступны для повышения квалификации,
Некоторые причины, которые я не видел, упоминаются:
Лучшая документация. Документация SAS является многословной, документация R краткой. Многие компании могут предпочесть подробную документацию.
Лучше сообщения об ошибках. Сообщения об ошибках R часто кажутся разработанными, чтобы доказать, что человек, пишущий сообщение, умнее, чем человек, читающий его.
Техническая поддержка. SAS обладает одними из лучших техподдержек, с которыми я когда-либо сталкивался, предоставляемых SAS. Вы можете получить помощь по R, но эта помощь разбросана по разным местам и не всегда доступна. Люди на различных сайтах, которые предоставляют помощь с R, являются добровольцами, и добровольцы не обязаны помогать. Людям службы технической поддержки SAS платят за то, что они делают, и делают это хорошо. Они не только делают это хорошо, они делают это вежливо что часто присутствует не во всех сообществах R (мое любимое? «Я получил помощь, набрав« help », почему бы вам не попробовать ввести« help »?»)
Я думаю, что угол наследства может быть большим по следующей причине. Организация нанимает человека, назовите его человеком X. Это компьютерный гуру / волшебник / и т.д. Они создают потрясающие SAS-программы / инструменты / и т. Д. Они настолько хороши, что другие люди в организации не чувствуют, что им нужно понимать, как работают программы. Они позволяют легко нажимать кнопку, и все просто работает (волшебные черные ящики).
Человек Х покидает организацию. К сожалению, знания, которыми обладает человек X, покидают организацию (управление документацией и знаниями не было приоритетом, вместо этого были рабочие программы). Их заменяет человек Y. Человек Y отлично работает с R, но не имеет представления о SAS и, следовательно, не имеет представления о том, как на самом деле работают программы SAS. Существует огромная кривая обучения, чтобы даже выяснить, чтозначительно выше, чем годовая лицензия на SAS. Я ожидаю, что SAS проведет некоторый анализ этого компромисса, и позволит этому влиять на то, как он устанавливает плату за лицензию (ну, если бы я работал в SAS). Также обратите внимание на то, что процедуры построения SAS намного лучше, чем десять лет назад (например, proc sgplot против proc plot). совпадение, что R сделал хороший заговор первым? Думаю, нет! Это эффективно снижает эффективность от переключения, потому что прорисовка больше не так уж отличается - R все еще лучше, но недостаточно для переключения ...
Что касается статистики промышленности, то есть специалисты по обеспечению качества, которые (как правило) не имеют опыта программирования, статистики или науки и проводят аудит статистиков, программистов и ученых. Они хотят знать: «Откуда ты знаешь, что то, что ты делаешь, правильно?» и «Если это неправильно, как мы можем обвинять кого-то и как они будут платить за это?».
Лицензия GNU / GPL Copyleft поставляется с постоянным текстом, который гласит: «R - бесплатное программное обеспечение и СЛУЧАЙНО АБСОЛЮТНО НЕ ГАРАНТИРУЕТСЯ» в тексте с полностью прописными буквами точно так же, как я написал. Это зачет. Когда качественный человек читает этот текст, он в основном дискредитирует R. Я имею в виду, если продукт хороший, стоит добавить гарантию правильно? Такие коммерческие продукты заставили нас поверить. Фактически, именно FDA заявило, что примет регулирующие представления в R, которые отражают прогресс в индустрии программного обеспечения. (Обратите внимание, что это утверждение следует после первоначальной даты публикации вопроса.)
Для тех, кто ничего не знает о компьютерах, воображаемые сценарии безопасности, невоспроизводимости и серьезных научных ошибок не ограничены в результате этого АБСОЛЮТНО НЕДОСТАТКА ГАРАНТИИ. Мы все согласны с тем, что ошибки могут иметь катастрофические последствия. Что касается вашей лицензии SAS, у SAS есть эксперты, которые могут объяснить свое программное обеспечение аудиторам, и в случае невозможного сценария, когда SAS фактически вызывает такую проблему, они могут нести ответственность за штрафы и наказания (у них также есть достаточно денег для адвокатов, чтобы гарантировать, что они будут быть полностью оправданным в таком случае). Бремя и стоимость того, чтобы аналитик / программист представил этот случай для R, в основном составляют лицензию SAS. Не то чтобы программирование в SAS полностью освобождает вас от тяжелого бремени соответствия требованиям качества!
Так в принципе, я бы сказал, litigiousness играет важную роль в требуя дорогостоящего лицензионного программного обеспечения.