통계 워크 벤치로서의 루비


13

이것은 또한 매우에 관한 질문 워크 벤치 통계 파이썬통계가 작업대로 엑셀 . Ruby와 Python에 대해 큰 토론이 있다는 것을 알고 있지만 이것이이 질문의 핵심은 아닙니다. 루비가 파이썬보다 빠르며 구문이 매우 자연 스럽기 때문에 통계를 이해하는 데 도움이 될 수 있으며 R에 대한 좋은 대안이 될 수 있다고 생각 했습니다.). 예를 들어, 내가 본 Google Tech 강의 중 하나에서 (여기에서 링크 된 질문에 언급 된 경우 강사는 for 루프를 만드는 동안 R이 느리다고 불평합니다). Ruby에는 Rails도 있으므로 둘 다 함께 가져올 가능성이 있습니다 (Python에는 Django가 있지만 다시는 들어 가지 않습니다).

따라서 질문은 동일하지만 루비에 관심이 있습니다.

  • R, SPSS, Python, Excel 등 을 대체하기 위해 Ruby를 "통계 워크 벤치"로 사용하려는 경우 무엇을 추천 할 수 있습니까?

  • 당신의 경험에 따라 무엇을 얻고 잃을 것입니까?

이전 Python 및 Excel 질문을 기반 으로이 질문을 고려하고 있습니다. Ruby 및 Python (또는 Excel)을 사용하는 것이 동일한 영향을 줄 것이라고 생각하는 경우 이전 질문의 주장을 지적 하고이 질문의 의도는 동일한 답변에 대해 이전 질문을 복제하지 않습니다. 그러나 언어와 구문의 속도와 같은 차이점이 있다고 생각하지만 루비에 대한 권장 사항을 알고 싶거나 예를 들어 루비에 대한 권장 사항을 알고 싶습니다. 파이썬이나 엑셀. 따라서 이와 유사한 질문이지만 다른 언어 / 프로그램에 대한 이전 답변을 고려하십시오.

편집 : 답변이 다른 방향으로 진행되고 있기 때문에 강조하기 위해 내가 찾고있는 답변은 내가 연결 한 Python 질문에서 선택한 답변과 같은 것입니다. Ruby와 함께 통계를 배우는 것이 아닙니다 . 나는 R로 통계를 배우는 질문을 지적했다 . 가능하다면 Ruby와 통계를 동시에 배우기를 기대하지 않습니다. 이 질문에 대한 통계 배경을 가정 할 수 있습니다.


편집 해 주셔서 감사합니다! 감사의 말이 사라졌습니다. 질문에 감사한다고 말하는 것은 나쁜 생각입니까? (단지 내 문제는 없음을 확인하고 싶습니다. 질문에서 약간의 주제를 언급하지만 메타에 대한 질문은 시작하고 싶지 않습니다).
Oeufcoque Penteano

1
의견이 조금 다릅니다. 질문 끝에 "감사합니다"라는 간단한 말이 일반적이지만 그 이상은 일반적으로 불필요한 방해 요소로 간주됩니다. SE FAQ 페이지 와 같은 사이트 전체 메타 사이트에 대한 지침을 빠르게 찾을 수 있습니다 .
whuber

답변:


9

Ruby + R을 사용하고 있습니다.

RinRuby : Pure Ruby에서 R 인터프리터에 액세스하기

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

이 블로그 :

http://rubyforscientificresearch.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 gem입니다! Ruby + R : D
ouyang을

루비 보석에 대한 좋은 지적은 잊어 버렸습니다. 아마도 다른 사람들은 루비를 작업 벤치로 사용하는 문제에 대해 루비 보석을 거의 제안하지 않을 수 있습니까? 다시 찾고있는 것에 대한 답변을 추가해 주셔서 감사합니다.
Oeufcoque Penteano

4

오래된 (사전 편집) 답변 :

모든 것을 직접 프로그래밍하여 통계를 배우게 될 것이라고 생각한다면 통계 학습이 아니라 디버깅으로 가득 찬 오랜 시간을 보내고 있다고 말하고 싶습니다. 또한 답을 확인하려면 R과 같은 언어가 필요합니다.

user765195는 다른 많은 언어보다 R을 디버깅하기가 어렵다는 점에서 중요하지만 "최악"이라고 생각합니다. 나는 그렇게 생각하지 않습니다.

편집하다:

따라서 편집 내용을 요약 할 수 있다면 : 이미 통계를 수행하고 실제 통계 프로그램 (R, gretl, SAS 등) 대신 Ruby를 사용하여 실제로 사용하려는 경우 어떻게 인생을 더 쉽게 만들 수 있습니까? . 맞습니까?

루비 답변을 줄 수는 없지만 일반적인 질문도 해결해야한다고 생각합니다. 특히 같은 질문의 다른 인스턴스를 다시 언급하기 때문에 : "Python / perl / java / Clojure / C / 통계를 수행 할 모든 것을 사용하고 싶습니다".

"왜 특수화 된 도구가 훨씬 더 나은 작업을 수행하기 위해 일반화 된 기본 (통계적) 도구를 사용 하는가?" 그리고 여섯 가지 기본 답변을 볼 수 있습니다.

  1. 나는 단순히 다른 언어를 배우고 싶지 않으며, 파이썬 / 루비 / 엑셀 / 자바에 정통하기 때문에 그 언어의 사용을 고집합니다.

  2. 내가 원하는 통계는 더 큰 프로젝트 (예 : 웹 기반 도구)에 적합해야 하며이 프로젝트에서 사용하는 도구는 외부 도구와 잘 어울리지 않으므로 Python / Ruby / Java를 사용해야합니다. 또는 응용 프로그램을 배포해야 할 수도 있으며 임의의 실행 파일을 배포 할 수 없습니다.

  3. 특수 도구를 사용하지만 액세스 할 수있는 도구 (예 : R은 무료)가 너무 느리거나 프로젝트에 대한 거대한 데이터 세트 / 실시간 요구 사항을 처리 할 수 ​​없습니다.

  4. 내 고용주 / 고객은 범용 언어 Python / Ruby / Excel / Java를 사용해야한다고 주장합니다. 나는 선택의 여지가 없으며이 요구 사항을 따르는 가장 고통스러운 방법을 찾고 있습니다.

  5. "통계"라는 말은 평균 / 중간 값, 분산 등을 찾는 것과 같은 매우 간단한 것들을 의미합니다. 내가 원하는 모든 것이 1- 시그마 이외의 포인트를 계산하는 것만으로 MCMC를 통해 혼합 효과 모델을 계산할 수있는 특수 패키지를 가져 오는 이유 평균에서 멀어?

  6. 나는 매우 전문적인 일을하고 있으며 R과 같은 통계 패키지조차 패키지 / 라이브러리 / 함수가 없습니다. 최첨단 일뿐만 아니라 초 고성능이 필요하기 때문에 처음부터 다시해야합니다. (또는 언어 X로 이미 개발 한 라이브러리를 사용할 수도 있습니다.)

내 의견으로는, 답장 1은 좋지 않다. 답장 2는 합법적이지만, 당신이 모르는 해결 방법이있을 수 있으며, 답장 3은 합법적이지만 해결 방법이있을 수 있습니다. , 내 것보다 더 나은 답변을 얻을 수 있기를 바랍니다.


이 질문의 목표는 루비와 함께 통계를 배우는 것이 아니라 편집 내용을 참조하십시오. 그러나 귀하의 의견에 감사 드리며 질문이 오도 된 경우 미안합니다.
Oeufcoque Penteano

당신이있어 감사 권리 . 통계 지식에 대한 가정 은 훌륭하지만 이제는 Python에서 제안한 것처럼 Ruby에서이를 수행하는 방법을 배우기 위해 라이브러리를 찾고 있습니다. 동의합니다. 많은 동기 부여가 가능하지만 다시 (이 페이지를 방문하는 다음 독자를 위해) 예상 답변 은 라이브러리를 제안 하는 것으로 Python 질문에 언급 된 것과 같습니다. 어떤 통계 도구를 사용해야하는지에 대한 다양한 의견이있을 경우이 커뮤니티에 대한 지식을 제공해야한다고 생각합니다. 감사!
Oeufcoque Penteano

+1. 아마도 우리는 "통계"라는 철자가 다른 단어들에 대해 이야기하고있을 것입니다. Python 또는 Ruby를 사용하여 로그에서 쉽게 가져올 수있는 웹 사이트 사용 통계는 Ruby를 사용한 2 단계 계층화 설문 조사를 기반으로 Cox 모델을 프로그래밍하거나 총계 비율 추정기의 편차를 말하는 것과 다릅니다. 루비를 선택한 언어로 생각하기 위해서는 답 2, 3 및 4의 행을 따라 절망해야 할 것입니다. 언어 중 가장 편리한 언어로 시뮬레이션을 통해 학습 통계를 보완 할 수 있습니다. 유효한 답변입니다.
StasK

@OeufcoquePenteano : 결국, 내 문제는 "워크 벤치"로 귀결된다고 생각합니다. 파이썬 스레드에서이기는 대답은 실제로 꽤 스파르타입니다. 나열된 모든 리소스는 기본 R 과도 일치하지 않으므로 R 패키지에 대한 생각은 훨씬 적습니다. 파이썬에서 통계를 작성해야한다면 몇 가지 제한적인 옵션이 있지만 혼동해서는 안되며 파이썬이 통계적으로 "워크 벤치"를 잘한다고 생각합니다. 나는 당신이 약간의 대답을 얻길 바랍니다. 그러나 루비는 파이썬보다 훨씬 나쁩니다.
Wayne

@ 웨인, 괜찮습니다. R을 Ruby, Python 또는 Excel로 교환 할 계획이 없습니다. 그러나 루비가 무엇을 제공해야하는지 궁금합니다. 어쩌면 루비의 보석 중 일부가 특정 알보다 낫습니다 (파이썬에서 알을 낳는 알입니까?). 아마도 Excel은 몇 가지 일에 더 좋습니다. 예를 들어, Excel은 매우 피상적 ​​인 분석을 수행 한 다음 R 또는 기타 도구를 심각하게 익히는 데 도움이 될 수 있다고 생각합니다. 따라서 '하나를 선택하는 것'의 문제는 아니지만 각 세계에서 가장 좋은 것이 무엇인지 알고 그것을 알고 있다면 주어진 문제에 더 적합한 것을 선택하십시오. 조언 해 주셔서 감사합니다.
Oeufcoque Penteano

-1

몇 가지 임의의 생각 :

  • 통계를 배우기 위해 워크 벤치를 찾고 있다고 언급했습니다. IMHO, 언급 한 플랫폼 중 어느 것도 통계 학습에 적합하지 않습니다. 특정 언어의 구문과 시맨틱을 배우면주의가 산만해질 것입니다. 통계를 배우려면 책 (Tukey의 EDA를 적극 권장합니다)과 계산기를 선택하십시오. 통계 개념 위에서 언어를 배우는 것은 매우 불필요합니다.
  • R에서 느린 루프에 대해 불평하는 사람은 그의 무지를 배신하고 있습니다. 루프는 모든 언어에서 자연스러운 구성은 아닙니다. 대부분의 기능적 프로그래밍 언어에서는 느립니다. 대안은 함수 응용 프로그램이며 일반적으로 빠릅니다.
  • 프로그래밍 언어와 관련하여 속도는 마지막 관심사입니다. 훨씬 더 중요한 문제는 코드를 쉽게 디버깅 할 수 있다는 것입니다.
  • 디버깅과 관련하여 R은 아마도 내가 아는 최악의 프로그래밍 언어 일 것입니다. 코드를 디버깅 할 수없는 경우가 있습니다. 게다가 기존 패키지에 대한 문서는 일반적으로 매우 잘못 작성되었습니다. 전반적으로, 내 조언은 R을 피할 수 있다면 그렇게하는 것입니다.
  • 나는 파이썬의 통계 내용에 거의 익숙하지 않습니다. NumPy는 전문적으로 작성되지 않았으며 숫자 문제를 고려하지 않습니다.
  • 하스켈을 고려 했습니까? 확실히 최고의 프로그래밍 언어입니다.

여보세요! 당신의 의견에 감사드립니다. R에 대해 다른 의견을 제시하게되어 기쁩니다. 여기에 언급되지 않은 다른 도구도 살펴보고 있기 때문에 귀하의 의견을 고려하겠습니다. 어쩌면 내 질문은 오도 된 것일 수 있습니다. 나는 여전히 통계를 배우고 있으며 실제로 R에 관한 나의 질문은 이것에 관한 것이지만 Ruby의 경우는 다릅니다. 파이썬과 엑셀에서 사용할 수있는 워크 벤치로 루비에 사용할 수있는 것이 무엇인지 궁금합니다. 나는 또한 Haskell을 살펴볼 것을 고려할 것입니다. 그러나 Ruby에 관한 제안이 있으시면 감사하겠습니다! 감사합니다!
Oeufcoque Penteano

통계를위한 Haskell? 불필요한 산만에 대해 이야기하십시오.
Phillip Cloud

-1, r에서 코드를 디버깅 할 수 없습니까?
mpiktas

R의 디버깅에 관한 단락만이 대답에 옳지 않다는 점에 유의해야합니다. 다른 모든 것들은 공감할 가치가있는 것 같습니다. Haskell을 제외하고는 경험이 없습니다. 그러나 디버깅에 대한 참고 사항이 있습니다.
mpiktas

1
@cpcloud : 수학 및 통계 언어는 람다 미적분입니다. 하스켈은 람다 미적분학에 지나지 않습니다. 수학 구조는 수학 책에 쓰여진 것과 정확히 같은 방식으로 Haskell로 표현됩니다. 이 때문에 언어의 오버 헤드는 거의 제로입니다. 사실, "하스켈 논리로가는 길"이라는 책은 하스켈을 사용하여 수학을 가르치고 있습니다. 나는 당신이 그 책을 살펴볼 것을 제안합니다.
user765195
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.