R 언어는 경제 분야에서 신뢰할 수 있습니까?


64

저는 다른 유명한 통계 패키지 (주로 SPSS를 주로 사용)에서 R로 변환 한 경제학 대학원생입니다. 현재 내 작은 문제는 내가 수업 시간에 유일한 R 사용자라는 것입니다. 우리 반 친구들은 Stata와 Gauss를 사용하고 있으며 교수 중 한 명은 R이 공학에는 완벽하지만 경제에는 적합하지 않다고 말했습니다. 그는 많은 패키지는 프로그래밍에 대해 많이 알고 있지만 경제에 대해서는별로 모르고 신뢰할 수없는 사람들이 만들었습니다. 그는 실제로 R 패키지를 만드는 데 돈이 전혀 없기 때문에 (예를 들어 Stata와 달리) 올바르게 할 동기가 없으며 R을 한동안 사용하여 "우스운"결과를 얻었습니다. 물건을 추정하려는 그의 시도. 또한 그는 R에서 난수 생성기에 대해 불평했다.

나는 한 달이 조금 넘는 시간 동안 R을 사용해 왔으며 그것을 사랑한다고 말해야합니다. 제가 교수님으로부터 듣고있는 모든 것들이 저를 실망시킵니다.

제 질문은 "경제학 분야에서 R이 신뢰할 수 있는가?"입니다.


30
"많은 패키지는 프로그래밍에 대해 많이 알고 있지만 경제에 대해서는 잘 모르는 사람들에 의해 만들어졌습니다." 패키지 작성자는 실제로 항상 과학자 또는 학자이며 프로그래머는 (매우) 먼 (마지막) 두 번째입니다. 실제로 "프로그래머"가 작성한 패키지를 찾는 것은 어려운 일이라고 생각합니다.
Brandon Bertelsen

9
나는 당신과 다른 통계 경제학자들을 Economics.stackexchange.com으로 초대 할 수 있습니까? 우리는 거기에 경제에 대한 당신의 질문과 답변을 환영합니다
EnergyNumbers

18
교수의 의견에 약간의 전문적인 쇼비니즘이있는 것 같습니다. 경제학자가되는 것은 어떻게 신뢰성을 보장 하는가? 나는 오히려 소프트웨어 개발자들 (실제로는 직업, 특정 경험이나 훈련 없이는 잘 할 수있는 일이 아님)과 통계 학자들을 신뢰하여 통계적인 통계 소프트웨어를 만들어 냈다.
Gala

23
신뢰성 때문에 "엔지니어링에는 적합하지만 경제에는 적합하지 않습니다"? 그는 경제보다 마천루가 무너 졌을까? 그 사람은 바보 야 그 학교를 그만두고 바보가없는 사람을 찾으십시오.
Spacedman

10
상용 소프트웨어는 좋거나 나쁠 수 있습니다. 오픈 소스 소프트웨어가 좋거나 나쁠 수 있습니다. 중요한 것은 사용하는 소프트웨어가 좋은지 여부입니다. 편견과 교리에 따라 결정하지 마십시오. 실제 증거를 사용하십시오.
David Heffernan

답변:


83

대조적 인 관점을 공유하겠습니다. 나는 경제학자입니다. SAS를 사용하여 계량 경제학 교육을 받았습니다. 저는 금융 서비스 분야에서 일하고 있으며 오늘 밤에는 R 기반 모델을 업데이트하여 내일 사용할 수있는 수백만 달러의 위험을 감수했습니다.

교수님은 명백한 잘못입니다. 그러나 그가 저지르는 실수는 매우 일반적이며 논의 할 가치가 있습니다. 교수님의 생각에 R 소프트웨어 (S 언어의 GNU 구현)와 R로 구현 된 패키지 (또는 다른 코드)의 아이디어를 혼합하는 것입니다. SAS IML을 사용하여 선형 회귀 분석을 구현할 수 있습니다. 사실, 나는 바로 그 일을했습니다. 그것은 SAS가 쓰레기라는 것을 의미합니까? 당연히 아니지. SAS는 가격이 투명하지 않고 엄청나게 비싸며 사내 컨설턴트가 약속에 따라 약속을 지키고 제공하며 즐거움을 위해 프리미엄을 청구하기 때문에 혼란스러워합니다. 하지만 난 ...

R의 개방성은 양날의 검입니다. 개방성은 모든 Tom, Dick 또는 Harry가 경제 건물의 지하실에서 담배를 피우는 동안 생각한 알고리즘을 완벽하게 구현할 수 있도록합니다. 동일한 개방성을 통해 실무 경제학자는 공개적으로 코드를 공유하고 서로의 코드를 개선 할 수 있습니다. R의 라이센스 규칙은 Amazon 클라우드에서 R을 병렬로 실행하기위한 병렬화 코드를 작성할 수 있으며 30 노드 클러스터의 라이센스 비용에 대해 걱정할 필요가 없음을 의미합니다. 이것은 시뮬레이션 기반 분석에서 큰 승리이며, 내가하는 일의 큰 부분입니다.

"많은 패키지는 프로그래밍에 대해 많이 알고 있지만 경제학에 대해서는 잘 모르는 사람들이 만든 것입니다."라고 교수의 의견은 의심의 여지가 없습니다. 그러나 CRAN에는 3716 개의 패키지가 있습니다. 당신은 그들 중 많은 사람들이 경제학자들에 의해 쓰여지지 않았 음을 확신 할 수 있습니다. CPAN의 많은 105,089 모듈이 경제학자가 작성하지 않았 음을 확신 할 수있는 것과 같은 방식으로.

소프트웨어를 신중하게 선택하십시오. 사용중인 도구를 이해하고 테스트했는지 확인하십시오. 또한 선택한 구현의 배후에있는 진정한 경제성을 이해해야합니다. 폐쇄 형 소프트웨어 솔루션에 갇히게되면 라이센스 비용보다 비용이 많이 듭니다.


당신의 응답을 주셔서 감사합니다. 그래서 내가 다른 것을 배우려고 제안하고 있습니까? 그러면 내가 무엇을 배우라고 제안 하시겠습니까?
SavedByJESUS ​​1

5
아니, 나는 거의 R을 사용한다. 교수 나 다른 경제학자들이 많이 사용하는 패키지가 있습니까? 나는 econ 특정 패키지를 사용하지 않습니다. plyr, matrix 및 기타 여러 패키지를 사용하지만 경제학자를 위해 고유하게 설계된 것은 없습니다.
JD Long

"패키지"를 언급하고 있는데 폐쇄 된 소프트웨어 솔루션에 얽매이지 말아야한다고 말했습니까?
SavedByJESUS

3
"개방성 덕분에 Tom, Dick 또는 Harry는 모든 알고리즘의 구현을 작성할 수 있습니다." 이는 개방성과 관련이 없으며 순전히 많은 공개 소스 제품 (예 : 독점 특허)의 공개 API를 보유한 결과입니다. 플러그인 인터페이스가있는 소프트웨어). 그래도 좋은 대답입니다.
naught101

3
"나쁜 코드를 작성하는 것이 가장 어려운 프로그래밍 언어는 지금도없고, 없을지도 모른다."
ardave

33

다른 소프트웨어보다 다소 안정적이지 않습니다. 기본 및 권장 R은 제공되는 패키지보다 오류가 발생하기 쉽지 않지만 작성자에 따라 다릅니다.

그러나 R의 가장 큰 장점은 자신인지 여부를 확인할 수 있다는 것입니다! Stata 나 SPSS 등이 아닌 자유 소프트웨어입니다. 따라서 신뢰할 수 없더라도 결국에는 감지됩니다. 독점 소프트웨어의 경우에는 그렇지 않을 수 있습니다. 그리고 더 신뢰할 수 있도록 도와 줄 수도 있습니다.

교수님의 나머지 의견으로는 분명히 틀 렸으며 FUD를 퍼뜨린 사람입니다. 그러나 신뢰할 수없는 소프트웨어는이 분야에서 사용 된 모델과 가정 및 예측에 의해 판단되는 경제학자의 관심사 중 최소한이어야한다고 말할 수 있습니다.

당신이 좋아한다면 R을 고수하고 아마도 당신과 교수는 경제학을 위해 좋은 소프트웨어를 개발하는 데 기여할 수도 있습니다. 다음은 아마도 흥미로운 출발점입니다. http://cran.r-project.org/web/views/Econometrics.htmlhttp://cran.r-project.org/web/views/TimeSeries.html


1
대단히 감사합니다! R을 고수하고 싶습니다. 훌륭한 소프트웨어라고 생각합니다. 또한 저는 항상 오픈 소스에 대한 열렬한 팬이었습니다.
SavedByJESUS

17
우리 시대의 불행한 진실을 말하여 +1. "신뢰할 수없는 소프트웨어는이 분야에서 사용 된 모델과 가정 및 예측에 의해 판단되는 경제학자의 관심사 중 최소한이어야한다."
디지털 맵

2
나는 여기서 삐걱 거리는 소리에 감사하지만 약간의 의견 차이가있을 수있다. 독점 소프트웨어의 오류는 다양한 방식으로 표시 될 수 있습니다. 예를 들어 완전히 정확한 것처럼 보이는 R의 결과에 분명한 불일치가있는 경우. R에 대한 바보 같은 FUD만큼 부적절한 독점 소프트웨어에 대한 FUD가 여기 있습니다. R의 검사 가능성은 사실상 모든 R 사용자에게 검사 가능성입니다. 그것은 존재하는 기능이지만 코드를 직접 확인할 수 있다고 말하는 것도 약간 수사적입니다. Stata의 경우 많은 코드가 사용자에게 표시됩니다. 실행 파일이 아닙니다.
Nick Cox

23

교수님은 대담한 주장을합니다. 문제가 실제 결과가 아니라 R 언어에 익숙하지 않은 것 같습니다. 저는 많은 계량 모델링을 수행하는 회사에서 일하고 R에서 모든 일을합니다. 또한 경제학자 동료를 R을 사용하도록 전환했습니다.

개인적 경험의 경제학에 관해서는 신뢰성 문제가 다른 방향으로 갈 수 있습니다. 예를 들어 EVIEWS 버전 5는 패널 데이터로 작업 할 때 이상한 버그가있었습니다. 그리고 풀링 된 OLS에 대한 일반적인 Durbin-Watson 통계량을보고했는데, 이는 패널 데이터 설정에서 분명하지 않습니다. 패널 데이터 작업을위한 R 패키지에도 문제가 있지만 여기서 R은 돈 논쟁이 강력합니다.

최근에는 고정식 패널 시계열 방법을 강의했습니다. 강사는 RATS 소프트웨어를 사용했습니다. 일부 코드를 시연 할 때를 대비하여 작업 공간을 여러 번 정리하는 아이콘을 클릭하는 것이 좋습니다. 신뢰성에 대해 이야기하십시오.


20

저는 경제학자이며 4 년 동안 연구를 해왔으며 대부분은 계량 경제학을 적용하고 있습니다. 많은 계량 경제학 패키지가 있으며, 그 모두를 수용 할 공간이 있습니다. 내 생각에 경제학에서 Stata는 거의 모든 시계열에 사용되지만 Rats, Eviews 및 Ox는 시계열에 사용되며 Matlab 및 Gauss는 더 낮은 수준의 프로그래밍에 사용됩니다.

R의 장점은 다른 프로그램이하는 거의 모든 작업을 수행 할 수 있으며 자유롭고 개방적이라는 것입니다. 더 많은 프로그래밍이 필요하고 미리 준비된 절차가 적지 만 결국 작업이 완료됩니다. Stata를 대부분 사용하지만 모든 것을 수행하기 위해 하나의 소프트웨어를 선택해야한다면 R을 선택합니다.

R은 대부분의 계량 경제학 문제에서 상당히 신뢰할 만하지 만 신뢰할 수없는 R로 작성된 일부 루틴의 예를 제공 할 수 있습니다. 3SLS 및 수요 시스템 추정 루틴에 문제가 있습니다. 수치 최적화 루틴은 Stata 또는 Gauss만큼 강력하지 않습니다. 반면, R은 Quantile Regression과 같은 문제에서 훨씬 낫습니다. 여전히 R에 대한 실무 지식이 풍부하여 R의 사용자 작성 루틴에서 문제점이 무엇인지 찾아서 수정 한 후 작업을 계속할 수 있습니다. 따라서 일부 특정 루틴의 안정성 부족이 R을 전혀 사용하지 않는 매력적인 이유라고 생각하지 않습니다.

내 조언은 R을 계속 사용하는 것이지만 귀하의 분야에서 널리 사용되는 다른 프로그램, 예를 들어 미시 경제학을위한 Stata 또는 시계열을위한 쥐와 같은 경험이있는 것입니다.


13

대학원 수준의 통계를 가르 칠 때 나는 학생들에게 다음과 같이 말했습니다. "어떤 패키지를 사용하든 상관없고, 실질적인 설명을 제공 할 것으로 예상되므로 숙제를 위해 무엇이든 사용할 수 있습니다. 보다 tr23y5m제출에서 변수 이름. 저는 Stata에서, R에서 합리적으로 잘 학습 할 수 있도록 지원할 수 있습니다. SAS를 사용하면 강의를 수강했다고 주장 할 때 본인이 스스로 공부하게됩니다. SPSS 나 Minitab을 사용하면 신의 축복을 빕니다. "저는 합리적인 고용주들이 똑같이 생각할 것이라고 생각합니다. 프로젝트 성과 측면에서 생산성이 중요합니다. 40 시간의 노동으로 R에서 목표를 달성 할 수 있다면, 좋습니다 40 시간의 작업으로 C ++로 달성 할 수 있습니다 .40 시간 안에 R에서이 작업을 수행하는 방법을 알고 있지만 관리자가 SAS에서이 작업을 수행하기를 원하면 몇 가지 기본 사항을 배우기 위해 60 시간을 소비해야합니다. 세미콜론이가는 곳은 SAS의 나머지 코드에 대한 큰 그림의 맥락에서만 현명 할 수 있습니다. 그러면 관리자는 R 프로그래머를 고용하는 것이 현명하지 않았습니다.

총 비용의 관점에서 볼 때 "무료"R은 엄청나게 과장된 신화입니다. 데이터를 입력하고 출력을 형식화하기 위해 진지한 프로젝트를 수행하려면 사용자 지정 코드가 필요하며 이는 전문적인 시간의 비용이 아닙니다. 이 데이터 입력 및 형식화에 10 시간의 SAS 코드와 20 시간의 R 코드가 필요한 경우 , 경제학자가 말하듯이 주어진 기능을 생성하는 추가 비용 측면 에서 R은 더 비싼 소프트웨어 입니다. . 큰 프로젝트가 동일한 기능을 제공하기 위해 200 시간의 R 프로그래머 시간과 100 시간의 Stata 프로그래머 시간이 필요한 경우, Stata는 전체적으로 저렴합니다구매해야 할 ~ $ 1K 라이센스도 계산할 수 있습니다. 그러한 직접적인 비교를 보는 것이 흥미로울 것입니다. 나는 약 10 명의 사람-년에 걸쳐 약 150K의 Stata 코드로 누적 된 것으로 알려진 2Mb의 SPSS 코드를 엄청나게 재 작성하는 데 관여했다. 그것은 약 1 인년 프로젝트였습니다. SPSS : Stata 비교에서이 10 : 1 효율 비율이 일반적인지 잘 모르겠지만, 그 사실에 놀라지 않을 것입니다. 나에게 R을 사용하는 것은 검색 비용 때문에 항상 큰 비용이 든다. 비슷한 이름을 가진 5 가지 패키지 중 내가해야하는 일을 결정하고 그것이 그것을 사용할 수있을만큼 충분히 신뢰할 수 있는지 측정해야한다 내 작품. 그것은 종종 주어진 작업에서 R을 작동시키는 방법을 알아내는 데 소비 할 수있는 짧은 시간 안에 자신의 Stata 코드를 작성하는 것이 저렴하다는 것을 의미합니다. 이것이 나의 개인적인 특질임을 이해해야한다. 이 사이트의 대부분의 사람들은 나보다 더 잘 사용합니다.

"R은 경제학자가 작성하지 않았기 때문에"교수가 R보다 Stata 또는 GAUSS를 선호한다는 것이 유감입니다. Stata 나 GAUSS도 아니었다. 그들은 컴퓨터 과학자의 도구를 사용하여 컴퓨터 과학자에 의해 작성됩니다. 전문가가 CodeAcademy.com에서 프로그래밍에 대한 아이디어를 얻는다면 그보다 더 나을 것이지만, 전문가 급 소프트웨어 개발은 ​​CodeAcademy.com 텍스트 상자에 입력하는 것과 다릅니다.화물 트럭 운전은 자전거와 다릅니다. (Stata는 노동 계량 경제학자로 전환 한 컴퓨터 과학자에 의해 시작되었지만, 현재까지 약 25 년 동안이 노동 계량 측정을 수행하지는 않았습니다.)

업데이트 : AndyW가 아래에 언급했듯이 모든 언어로 끔찍한 코드를 작성할 수 있습니다. 그러면 비용 문제는 어떤 언어를 쉽게 디버깅 할 수있게됩니까? 나에게 이것은 출력이 얼마나 정확하고 유익한 지, 구문 자체가 얼마나 쉽고 투명한지의 조합처럼 보입니다. 물론 나는 그것에 대한 좋은 대답이 없습니다. 예를 들어, 파이썬은 코드 들여 쓰기를 시행하는 것이 좋습니다. Stata 및 R 코드는 괄호로 접을 수 있으며 SAS에서는 작동하지 않습니다. 서브 루틴을 사용하는 것은 양날의 칼입니다. R에서 *apply()애드혹을 사용하는 function것은 분명히 매우 효율적이지만 디버그하기는 어렵습니다. 비슷한 토큰으로 Stata local는 거의 모든 것을 마스킹 할 수 있으며, 빈 문자열을 기본값으로 사용하는 것도 유용하지만 캐치하기 어려운 오류가 발생할 수 있습니다.


1
이것은 정답이지만 IMO 과잉 생성은별로 도움이되지 않습니다 (실제로 모든 언어로 나쁜 코드 나 좋은 코드를 작성할 수 있으며 Stata는 좋은 코딩 표준을 시행하는 데 마술이 아닙니다). 나는 2MB의 SPSS 코드가 효율적인 SPSS 코드로 시작하는 방법을 보는 데 어려움을 겪고 있습니다 (구문 강조 표시가있는 최신 버전에서는 편집기에서 이러한 파일을 열지 않는 것이 좋습니다). 모든 언어로 다시 쓰는 데 시간이 많이 걸린 것 같습니다.
Andy W

1
나는 SPSS 코드를 전혀 쓰지 않으며, 내가 작업 한 코드가 코드로 작성되지 않았고 포인트 앤 클릭 인터페이스에서 저장 된 다음 약간 솔질 될 수 있다는 것을 이해했습니다. SPSS가 인터페이스를 코드로 변환하는 데 모든 기본값을 적용한다고 생각할 수 있으므로 처음부터 매우 효율적인 코드는 아니 었습니다.
StasK

12

나는 사실을 주장하지만 실질적인 것으로 결코 백업하지 않는 사람을 매우 조심해야합니다.

그의 논증을 쉽게 바꿀 수 있습니다.

예를 들어, 코드를 작성하기 위해 돈을받는 사람들은 코드가 정확할 것으로 기대하기 때문에 LESS 인센티브를 얻을 수있는 반면, 전형적인 지하실 거주자는 프로젝트 리더에게 깊은 인상을 줄 수있는 커밋을 원합니다. 그는 양질의 작업이 완료되었다는 의미에서 무료로 더 많은 시간을 소비하는 것에 대해 신경 쓰지 않았을 것입니다.

난수 생성기가 '지저분한'(모호한 용어이며 실제 사실을 쉽게 대체하여 자신의 주장을 뒷받침하는 경우)이면이를 증명하거나 가능한 사람을 보여줄 수 있어야합니다.

패키지에서 일관성없는 결과를 얻는 경우 해당 결과를 얻기 위해 수행 한 단계를 지적 할 수 있어야합니다. 정말 버그이고 좋은 프로그래밍 기술을 보유하고 있다면 그를 위해 고칠 수도 있습니다!

답변이 귀하의 질문에 직접 답변하지 않는다는 것을 알고 있습니다 (죄송합니다). 그가 그의 요점을 말한 방식으로, 그 뒤에 고기가 없다는 것을 알 수 있습니다. 있다면, 여기 사람들이 추가로 토론 할 수 있도록 질문에서 자유롭게 편집하십시오!


5

ReplicationWiki (내가 작업하는)에서 R은 2000-2013 년에 이미 잘 알려진 일부 저널에 출판 된 2000 년의 경험적 연구에 가장 많이 사용소프트웨어 패키지 중 하나라는 것을 알 수 있습니다 . 최근 몇 년 동안 더 많이 사용 된 것 같습니다. Stata는 가장 자주 (> 900 배) 사용되었으며, MATLAB (280), SAS (60), GAUSS (60), Excel (50), R (30), FORTRAN (30), Mathematica (19), EViews (18), z-Tree (16), dynare (15), RATS (12), C (8), C ++ (6), python (5, 최근 연구), SPSS (5) 및 기타 일부. 종종 하나 이상의 패키지가 사용됩니다.


이것은 소프트웨어 사용에 대한 흥미로운 증거입니다. 그러나 R이 널리 사용된다는 명확한 표시를 제공하는 것 외에는 다른 의문에 직접적으로 책임을지지 않습니다 (일반적으로 신뢰되는 추론은 독일인).
Nick Cox

2

저는 R을 반년 동안 사용해 왔으며 SAS, SPSS, Calc, WEKA 및 몇 가지 다른 도구도 사용합니다. 나는 R을 통해서만큼 도구를 즐기지 못했습니다. 기본적으로 R은 독립적으로 생각하고 자신의 학습에 무언가를 시도하는 사람들을위한 것입니다. 통계에 관해서는 모든 방법에 관한 것입니다. 사용자는 상용 소프트웨어에서 방법이 정의되고 모델링 된 방법을 모르고있을 수 있으며 정확하거나 잘못되었을 수 있습니다. R은 방법을 정의하고 자신의 요구에 맞는 방법을 사용하려는 사람들을위한 것입니다. 그것은 자유에 관한 것입니다. 이 자유는 돈을 소비하고 구입하더라도 상용 소프트웨어에는 존재하지 않습니다. 지식은 공동체 (사회)의 재산으로, 누구도 이에 대한 소유권을 주장 할 수 없습니다. 연구는 문제에 대한 해결책을 찾는 것입니다. R에 관한 한, 사용자가 자유롭게 정의하고 개조 할 수있는 방법에 대해 걱정할 필요가 없습니다. 예를 들어, 새로운 코드를 수정하거나 개발하여 해결할 수있는 모델 특정 문제 또는 잘못 정의 된 방법이있는 경우. 그렇게함으로써 연구원은 지식을 개발할뿐만 아니라 진화합니다.

R의 장점은 컴퓨터 프로그래머 일 필요는 없다는 것입니다. 통계적 방법은 모두 제어문과 루프를 사용하여 함수를 작성하는 것입니다. R은 초보자에게 매우 쉬운 프로그래밍 환경을 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.