Рубі як робочий стіл статистики


13

Це також питання, яке дуже стосується Python як верстата для статистики та excel як робочого місця зі статистикою . Я знаю, що про Рубі проти Python ведеться велика дискусія, але це питання не в цьому. Я думав, що Рубі швидше, ніж Python і має дуже природний синтаксис, може принести користь мені зрозуміти статистику, а також може стати гарною альтернативою R (що також мене цікавить, і я цитувався в іншому моєму питанні про R тут). Наприклад, на одній з лекцій Google Tech, яку я бачив (цитується на пов'язаному тут питанні, інструктор скаржиться, що R створює повільний процес створення циклу for). З Рубі також є Rails, тому, можливо, буде можливість звести і те й інше (у Python є Django, але я знову не вникаю в це).

Отже, питання стоїть те саме, але, на мій інтерес, у Ruby:

  • Що ви можете порекомендувати, якщо я хотів використовувати Ruby як «робочий стіл зі статистикою» для заміни R, SPSS, Python, Excel тощо?

  • Що б я здобув і втратив, грунтуючись на вашому досвіді?

Зауважте, я розглядаю це питання на основі попереднього питання Python та Excel. Якщо ви вважаєте, що використання Ruby та Python (або Excel) матиме однаковий вплив, то, будь ласка, скажіть це та вкажіть на аргументи будь-якого попереднього запитання, метою цього питання є не тиражувати попередні запитання на ті самі відповіді. Я, однак, вважаю, що існують відмінності (наприклад, швидкість мови та синтаксис), але я також хотів би спеціально знати рекомендації щодо Ruby або, якщо є, наприклад, набагато менше доступних для неї, ніж скажімо для Python або Excel. Тому, будь ласка, врахуйте попередні відповіді на ці дуже схожі запитання, але для іншої мови / програми.

Редагувати: Просто для виділення, оскільки відповіді, здається, йдуть іншим способом, відповідь, яку я шукав, є такою, як обрана відповідь на питання Python, з яким я пов’язаний. Мова не йде про вивчення статистики разом з Рубі. Я зробив точку на питання дізнатися статистику з R . Якщо це можливо чудово, але я не сподіваюсь одночасно вивчити статистику з Рубі. Ви можете припустити статистику для цього питання.


дякую за редагування! Я помічаю, що моя подяка була знищена. Невже сказати спасибі за запитання? (Просто хотілося б підтвердити, жодної проблеми з мого боку - прокоментуйте трохи поза темою питання, але я не хотів запускати питання про мета саме для цього).
Oeufcoque Penteano

1
Думки дещо відрізняються. Коротке "Дякую" в кінці питання є загальним, але більше того, як правило, вважається зайвим відволіканням. Ви можете швидко знайти керівництво на сайті мета всього сайту, такі як сторінки SE Довідка .
whuber

Відповіді:


9

Я використовую Ruby + R.

Ви можете прочитати статтю: RinRuby: Доступ до перекладача R від Pure Ruby

http://www.jstatsoft.org/v29/i04/paper

і цей блог:

http://rubyforscientistresearch.blogspot.com

http://sciruby.com/

(автор sciruby також є R користувачем.)


Дякую, ваша відповідь йде в напрямку того, що я шукаю. Я помітив, що посилання датуються 2009 та 2011 роками, мені цікаво, чи є новіша література про цей рубін - це значно нова мова і завжди зростає? Тим не менш, я думаю, це хороший вихідний пункт. Приємно, що блог вважає рубіном для наукових досліджень, що саме є моєю справою.
Oeufcoque Penteano

Привіт, я люблю рубін та рейки. Я теж люблю R. Ви можете знайти рубігеми Збільшити все більше. rubygems.org/stats R також. 2003 рік, R-кран 200, зараз 3600+ !!! у 2011 році Ruby gem - 28000, зараз - 36874 дорогоцінних каменів! Ви можете насолоджуватися Ruby + R: D
ouyang

Чудова точка на рубінових дорогоцінних каменах, я забув про них. Можливо, інші люди можуть запропонувати декілька рубінових дорогоцінних каменів щодо використання Рубі як верстака, який добре відомий для роботи та міцний? Дякуємо, що додали відповідь на те, що я знову шукаю.
Oeufcoque Penteano

4

СТАРИЙ (PRE-EDIT) ВІДПОВІДЬ:

Якщо ви думаєте, що ви дізнаєтесь статистику, програмуючи все самостійно, я б сказав, що вам потрібен довгий слоган, повний налагодження, а не статистичного навчання. Крім того, вам потрібна така мова, як R, щоб перевірити відповіді в будь-якому випадку.

Я думаю, що користувач 765195 має сенс щодо R, що важче налагодити, ніж багато інших мов, що важливо, але "найгірше"? Я не думаю, що так.

Редагувати:

Тож якщо я можу підсумувати ваш EDIT: враховуючи, що ви вже робите статистику, і враховуючи, що ви дійсно хочете використовувати Ruby для цього замість фактичної статистичної програми (R, gretl, SAS тощо), як можна полегшити своє життя . Це так?

Я не можу дати відповіді на Рубі, але я думаю, що також слід вирішити загальне питання. Тим більше, що ви вказуєте на інші моменти того ж питання: "Я хотів би використовувати Python / perl / java / Clojure / C / що б робити статистику".

Я думаю, що відповідь завжди буде: "навіщо використовувати узагальнений, примітивний (статистичний) інструмент, щоб виконувати завдання, які спеціалізований інструмент робить набагато краще?" І я бачу шість основних відповідей:

  1. Я просто не хочу вивчати іншу мову, і оскільки я добре розбираюся в Python / Ruby / Excel / Java, я наполягаю на використанні цієї мови.

  2. Мені потрібна статистика повинна вписуватися у більший проект (наприклад, веб-інструмент), а інструменти, використовувані цим проектом, не грають добре із зовнішніми інструментами, тому мені доведеться використовувати Python / Ruby / Java. (Або це може бути проблема розгортання програми, і неможливо спробувати розгорнути довільні виконувані файли.)

  3. Я б використовував спеціалізований інструмент, але ті, до яких я маю доступ (скажімо, R, які є безкоштовними), занадто повільні або не можуть впоратися з величезними наборами даних / вимогами реального часу для мого проекту.

  4. Мій роботодавець / клієнт наполягає на тому, що я використовую мову загального призначення Python / Ruby / Excel / Java. У мене немає вибору, і я шукаю найменш болісний спосіб слідувати цій вимозі.

  5. Під "статистикою" я маю на увазі дуже прості речі, такі як пошук засобів / медіанів, відхилень тощо. Чому потрібно залучати спеціалізований пакет, який може обчислювати моделі змішаного ефекту через MCMC, коли все, що я хочу зробити, - це обчислити, які бали знаходяться за межами 1-sigma далеко від середнього?

  6. Я роблю щось дуже спеціалізоване, і для чого навіть статистичні пакети, такі як R, не мають пакунків / бібліотек / функцій. Це не тільки сучасне, але вимагає надвисокої продуктивності, і мені потрібно це робити з нуля. (Або можливо використовувати бібліотеки, які я вже розробив мовою X.)

На мою думку, відповідь 1 не є вдалою, відповідь 2 може бути законною, але, можливо, існують шляхи вирішення питань, про які ви не знаєте, відповідь 3 є скоріше законною, але також може мати шляхи вирішення, а для інших трьох відповідей , сподіваюся, ви отримаєте кращу відповідь, ніж моя.


Ціль у цьому питанні - не вивчати статистику разом із рубіном, будь ласка, дивіться редагування, але дякую за ваші думки та вибачте, якщо питання вводить в оману, я сподіваюся, що це вже зрозуміло в редагуванні.
Oeufcoque Penteano

Дякую, ви правильно зрозуміли . Припущення про знання статистики прекрасне, і тепер я шукаю бібліотеки, щоб навчитися робити це в Ruby, як це було запропоновано для Python. Я погоджуюся з вами, можливі багато мотивацій, але знову ж таки (лише заради наступних читачів, які потрапляють на цю сторінку) очікувана відповідь - така, що пропонує бібліотеки і такі, як це було зазначено в питанні Python. Я вважаю, що якщо є місце для багатьох різних думок щодо того, який інструмент статистики використовувати, є можливість зробити доступними знання про них у цій спільноті. Спасибі!
Oeufcoque Penteano

+1. Швидше за все, мова йде про різні слова, написані "статистика". Статистика використання веб-сайтів, яку можна легко витягнути з журналів за допомогою Python або Ruby, - це інша тварина, ніж скажімо, що потрібно запрограмувати модель Кокса або оцінку дисперсії коефіцієнта загального на основі двоступеневого стратифікованого опитування за допомогою Ruby. (Потрібно бути абсолютно відчайдушним у відповідності з вашими відповідями 2, 3 і 4, щоб навіть думати про Рубі як про мову вибору.) Можна доповнити статистику їх навчання симуляціями в тій мові, яка є найбільш зручною, і тоді 1 є вірною відповіддю.
Стаск

@OeufcoquePenteano: Зрештою, я думаю, що моє питання зводиться до "робочого місця". Переможна відповідь у потоці Python насправді досить спартанська. Усі перераховані ресурси в поєднанні навіть не відповідають базі R, тим більше думаючи про R-пакети. Якщо у вас є статистика в Python, у вас є кілька обмежених варіантів, але не варто плутатись і думати, що Python робить хороший статистичний «робочий стіл». Я сподіваюся, що ви отримаєте кілька відповідей, але Рубі ще гірше, ніж Python.
Уейн

@Wayne, це добре. Я не планую обмінювати R на Ruby, Python або Excel. Але мені цікаво знати, що може запропонувати Рубі. Можливо, кілька дорогоцінних каменів від Ruby краще, ніж певні яйця (це те яйце, яке вони називають на Python? Не впевнене), і навпаки. Можливо, Excel краще для кількох речей. Наприклад, я думаю, що Excel може допомогти зробити якийсь дуже поверхневий аналіз, а потім серйозно зануритися в R або інший інструмент. Отже, справа не в тому, щоб вибрати "одного", а знати, що найкраще у світі, і знаючи їх, виберіть той, який є більш відповідним для даної проблеми. Дякую за вашу пораду.
Oeufcoque Penteano

-1

Кілька випадкових думок:

  • Ви згадуєте, що шукаєте верстат для вивчення статистики. IMHO, жодна з платформ, яку ви згадуєте, не буде корисною для вивчення статистики. Буде занадто багато відволікань, вивчення синтаксису та семантики конкретної мови. Якщо ви хочете дізнатися статистику, просто підберіть книгу (я дуже рекомендую EDA Tukey) та, можливо, калькулятор. Вивчення мови поверх статистичних понять - це вкрай непотрібне відволікання.
  • Людина, яка скаржиться на повільні петлі в R, зраджує своє незнання: петлі - це не природна конструкція в кожній мові. Вони повільні в більшості функціональних мов програмування. Альтернативою є функціональне застосування, і це, як правило, швидко.
  • Що стосується мов програмування, швидкість повинна бути вашою останньою турботою. Набагато важливішим питанням є легкість налагодження коду.
  • Що стосується налагодження, R - це, мабуть, найгірша мова програмування, яку я знаю. Іноді неможливо налагодити код. Крім того, документація на існуючі пакети зазвичай написана дуже погано. Загалом, моя порада, якщо ви можете уникнути R, виконайте це.
  • Я лише незначно знайомий зі статистичним змістом Python. Я розумію, що NumPy насправді не написано професійно і не враховує числових питань.
  • Чи розглядали ви Haskell? Це, безумовно, найкраща мова програмування там.

Привіт! Дякую за вашу думку Я радий бачити іншу думку проти Р. Я також буду враховувати те, що ви говорите, оскільки я також розглядаю інші інструменти, про які не йдеться тут. Можливо, моє питання було оманливим. Я все ще вивчаю статистику, і насправді моє запитання щодо R стосувалося цього, але для Рубі це щось інше. Мені цікаво побачити, що доступно для рубіну як верстака, наприклад, для python та excel. Я також розглядаю питання про Haskell, але якщо у вас є якісь пропозиції щодо Ruby, я також буду вдячний! Дякую!
Oeufcoque Penteano

Haskell для статистики? Поговоріть про зайве відволікання ...
Філіп Хмара

-1, неможливий налагодження коду в r?
mpiktas

Слід зазначити, що лише абзац про налагодження в R не є правильним у цій відповіді. Все інше здається заслуговуючим нагороди. За винятком Haskell, з яким я не маю жодного досвіду. Але примітка про налагодження є місцем на.
mpiktas

1
@cpcloud: Мова математики та статистики - лямбда-числення. Хаскелл - це не що інше, як лямбда-числення. Математичні конструкції виражаються в Haskell точно так само, як вони написані в математичній книзі. Через це накладні витрати з мови майже дорівнюють нулю. Насправді книга «Дорога Хаскелла до логіки» вчить математиці, використовуючи Haskell. Я пропоную вам поглянути на цю книгу.
user765195
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.