Это также вопрос, который в значительной степени относится к Python как инструменту статистики и превосходит его как инструмент статистики . Я знаю, что существует большая дискуссия о Ruby против Python, но это не главное в этом вопросе. Я подумал, что Ruby быстрее Python и обладает очень естественным синтаксисом, может помочь мне понять статистику и может стать хорошей альтернативой R (что также меня интересует и упоминалось в моем другом вопросе о R здесь).). Например, на одной из лекций Google Tech, которые я видел (цитируется по связанному вопросу здесь, преподаватель жалуется, что R медленно создает цикл for). В Ruby есть и Rails, так что, возможно, будет возможность объединить и то и другое (в Python есть Django, но опять же я не буду вдаваться в подробности).
Итак, вопрос стоит так же, но для моего интереса, в Ruby:
Что вы можете порекомендовать, если я хотел использовать Ruby в качестве «инструмента статистики» для замены R, SPSS, Python, Excel и т. Д.?
Что бы я получил и потерял, основываясь на вашем опыте?
Обратите внимание, что я рассматриваю этот вопрос на основе предыдущего вопроса по Python и Excel. Если вы считаете, что использование Ruby и Python (или Excel) окажет одинаковое влияние, то, пожалуйста, скажите об этом и укажите на аргументы любого предыдущего вопроса, цель этого вопроса - не повторить предыдущие вопросы для одних и тех же ответов. Я, однако, считаю, что есть различия (такие как скорость языка и синтаксис), но я также особенно хотел бы знать рекомендации для Ruby или, если есть, например, гораздо меньше, чем, скажем, для Python или Excel. Поэтому, пожалуйста, рассмотрите предыдущие ответы на эти очень похожие вопросы, но для другого языка / программы.
Изменить: Просто чтобы выделить, поскольку ответы, кажется, идут по-другому, ответ, который я искал, такой, как выбранный ответ на вопрос Python, с которым я связался. Речь идет не об изучении статистики вместе с Ruby. Я сделал точку на вопрос узнать статистику с R . Если это возможно здорово, но я не собираюсь изучать статистику с Ruby одновременно. Вы можете принять статистику фона для этого вопроса.
Ответы:
Я использую Ruby + R.
Вы можете прочитать статью: RinRuby: доступ к интерпретатору R из Pure Ruby
http://www.jstatsoft.org/v29/i04/paper
и этот блог:
http://rubyforscientificresearch.blogspot.com
http://sciruby.com/
(Автор sciruby также является пользователем R.)
источник
СТАРЫЙ (РЕДАКТИРОВАТЬ) ОТВЕТ:
Если вы думаете, что будете изучать статистику, программируя все самостоятельно, я бы сказал, что вас ждет долгая работа, полная отладки, а не статистического обучения. Кроме того, вам все равно понадобится такой язык, как R, чтобы проверить свои ответы.
Я думаю, что user765195 имеет смысл с точки зрения того, что R труднее отлаживать, чем многие другие языки, что важно, но «хуже»? Я так не думаю.
РЕДАКТИРОВАТЬ:
Так что, если я могу подвести итог вашей РЕДАКТИРОВАТЬ: учитывая, что вы уже ведете статистику, и если вы действительно хотите использовать Ruby для выполнения этой задачи вместо реальной статистической программы (R, gretl, SAS и т. Д.), Как вы можете облегчить свою жизнь? , Это правильно?
Я не могу дать ответ Ruby, но я думаю, что общий вопрос также должен быть рассмотрен. Тем более, что вы указываете на другие примеры того же вопроса: «Я хотел бы использовать Python / perl / java / Clojure / C / что угодно, чтобы делать статистику».
Я думаю, что ответ всегда будет: «зачем использовать обобщенный, примитивный (по статистике) инструмент, чтобы выполнять работу, которую специализированный инструмент делает намного лучше?» И я вижу шесть основных ответов:
Я просто не хочу изучать другой язык, и, поскольку я хорошо разбираюсь в Python / Ruby / Excel / Java, я настаиваю на использовании этого языка.
Статистика, которую я хочу сделать, должна вписываться в более крупный проект (такой как веб-инструмент), а инструменты, используемые в этом проекте, плохо работают с внешними инструментами, поэтому я должен использовать Python / Ruby / Java. (Или это может быть вопрос развертывания приложения, и невозможно попытаться развернуть произвольные исполняемые файлы.)
Я бы использовал специализированный инструмент, но те, к которым у меня есть доступ (скажем, R, который бесплатный), слишком медленные или не могут обрабатывать огромные наборы данных / требования в реальном времени для моего проекта.
Мой работодатель / клиент настаивает на том, чтобы я использовал язык общего назначения Python / Ruby / Excel / Java. У меня нет выбора, и я ищу наименее болезненный способ выполнить это требование.
Под «статистикой» я подразумеваю очень простые вещи, такие как поиск средств / медиан, отклонений и т. Д. Зачем использовать специализированный пакет, который может рассчитывать модели смешанного эффекта с помощью MCMC, когда все, что я хочу сделать, это вычислить, какие точки находятся за пределами 1-сигмы от среднего?
Я делаю что-то очень специализированное, и для которого даже статистические пакеты, такие как R, не имеют пакетов / библиотек / функций. Это не только ультрасовременный, но требует сверхвысокой производительности, и мне нужно сделать это с нуля. (Или, возможно, используйте библиотеки, которые я разработал уже на языке X.)
По моему мнению, ответ 1 не является хорошим, ответ 2 может быть законным, но могут иметь обходные пути, о которых вы не знаете, ответ 3, скорее всего, будет законным, но также может иметь обходные пути, а для остальных трех ответов Надеюсь, вы получите лучший ответ, чем мой.
источник
Несколько случайных мыслей:
источник