67 votos

¿Es fiable el lenguaje R para el campo de la economía?

Soy un estudiante de posgrado en economía que recientemente se convirtió a R desde otros paquetes estadísticos muy conocidos (estaba usando SPSS principalmente). Mi pequeño problema en este momento es que soy el único usuario de R en mi clase. Mis compañeros usan Stata y Gauss y uno de mis profesores incluso dijo que R es perfecto para la ingeniería, pero no para la economía. Dijo que muchos paquetes están construidos por personas que saben mucho de programación, pero no mucho de economía y por lo tanto no son fiables. También mencionó el hecho de que al no haber dinero involucrado en la construcción de un paquete R, no hay ningún incentivo para hacerlo correctamente (a diferencia de Stata, por ejemplo) y que él utilizó R durante un tiempo y obtuvo algunos resultados "ridículos" en sus intentos de estimar algunas cosas. Además, se quejó del generador de números aleatorios de R, del que dijo que era "desordenado".

Llevo poco más de un mes usando R y debo decir que me he enamorado de él. Todo esto que estoy escuchando de mi profesor no hace más que desanimarme.

Así que mi pregunta es: "¿Es R fiable para el campo de la economía?".

86voto

Michael Haren Puntos 42641

Permítanme compartir un punto de vista contrastado. Soy economista. Me formé en econometría utilizando SAS. Trabajo en servicios financieros y esta misma noche he actualizado modelos basados en R que utilizaremos mañana para poner en riesgo millones de dólares.

Su profesor está simplemente equivocado. Pero el error que comete es MUY común y vale la pena discutirlo. Lo que tu profesor parece estar haciendo es mezclar la idea del software R (la implementación GNU del lenguaje S) frente a los paquetes (u otro código) implementados en R. Puedo escribir implementaciones de mierda de una regresión lineal usando SAS IML. De hecho, he hecho eso mismo. ¿Significa eso que SAS es una mierda? Por supuesto que no. SAS es una mierda porque sus precios no son transparentes, son ridículamente caros, y sus consultores internos prometen demasiado, no cumplen, y cobran una prima por el placer. Pero estoy divagando...

La apertura de R es un arma de doble filo: La apertura permite que cualquier Tom, Dick o Harry escriba una implementación de mierda de cualquier algoritmo que se le ocurra mientras fuma marihuana en el sótano del edificio de economía. La misma apertura permite a los economistas en activo compartir el código abiertamente y mejorar el código de los demás. Las reglas de licencia de R significan que puedo escribir código de paralelización para ejecutar R en paralelo en la nube de Amazon y no tener que preocuparme por las tasas de licencia para un clúster de 30 nodos. Esto es una GRAN victoria para el análisis basado en la simulación, que es una gran parte de lo que hago.

El comentario de tu profesor de que "muchos paquetes están construidos por gente que sabe mucho de programación, pero no mucho de economía" es, sin duda, correcto. Pero hay 3716 paquetes en CRAN. Puede estar seguro de que muchos de ellos no fueron escritos por economistas. Del mismo modo que puede estar seguro de que muchos de los 105.089 módulos de CPAN no fueron escritos por economistas.

Elija su software con cuidado. Asegúrate de que entiendes y has probado las herramientas que vas a utilizar. Asegúrate también de que comprendes los verdaderos aspectos económicos de la aplicación que elijas. Quedar atrapado en una solución de software cerrada es más costoso que los derechos de licencia.

33voto

Momo Puntos 5125

No es más o menos fiable que otro software. El R de base y el recomendado son probablemente menos propensos a los errores de lo que podrían ser los paquetes contribuidos, pero depende de los autores.

Pero la mayor ventaja de R es que puedes comprobar tú mismo si lo es. Es un software libre, no como Stata o SPSS o similares. Por lo tanto, incluso si no fuera fiable, se detectaría eventualmente. Esto puede no ser el caso del software propietario. E incluso puedes ayudar a que sea más fiable.

En cuanto al resto de los comentarios de tu profesor, está claramente equivocado y es una persona que difunde FUD. Pero permíteme decir que la falta de fiabilidad de los programas informáticos debería ser la menor de las preocupaciones de los economistas, a juzgar por los modelos y los supuestos utilizados y las predicciones realizadas en este campo.

Quédate con R si te gusta y quizá tú y el profesor podáis incluso contribuir a desarrollar un buen software para la economía. Aquí hay un punto de partida posiblemente interesante http://cran.r-project.org/web/views/Econometrics.html y http://cran.r-project.org/web/views/TimeSeries.html

23voto

Marc-Andre R. Puntos 789

Su profesor hace algunas afirmaciones audaces. Sospecho que el problema fue la falta de familiaridad con el lenguaje R, no los resultados reales producidos. Trabajo en una empresa que hace muchos modelos econométricos y lo hacemos todo en R. También convertí a mi colega economista en el uso de R.

En lo que respecta al campo de la economía, según mi experiencia personal, el problema de la fiabilidad puede ir en sentido contrario. Por ejemplo, la versión 5 de EVIEWS tenía algunos errores extraños al trabajar con datos de panel. Además, informaba de la estadística habitual de Durbin-Watson para los OLS agrupados, que en el entorno de los datos de panel es sencillamente errónea. El paquete R para trabajar con datos de panel también tiene sus problemas, pero el argumento del dinero aquí juega fuertemente a favor de R.

Hace poco estuve en un curso sobre métodos de series temporales de paneles no estacionarios. El profesor utilizó el software RATS. Al demostrar un código, aconsejó hacer clic en un icono que limpia el espacio de trabajo varias veces, por si acaso. Hablando de fiabilidad.

20voto

Tony Testa Puntos 51

Soy economista y llevo 4 años trabajando en investigación, sobre todo haciendo econometría aplicada. Hay muchos paquetes de econometría, y hay espacio para todos ellos. En mi opinión, en economía, Stata se utiliza para casi todo menos para series temporales, Rats, Eviews y Ox se utilizan para series temporales, Matlab y Gauss se utilizan para programación de más bajo nivel.

La ventaja de R es que es capaz de hacer casi todo lo que hacen los otros programas, y es gratuito y abierto. Requiere algo más de programación y tiene menos procedimientos enlatados, pero al final consigue hacer las cosas. Yo uso Stata la mayor parte del tiempo, pero si tuviera que elegir un programa para hacer todo, elegiría R.

R es bastante fiable en la mayoría de los problemas de econometría, pero puedo dar ejemplos de algunas rutinas escritas para R que no son fiables. He tenido problemas con las rutinas de estimación de sistemas de demanda y 3SLS. Las rutinas de optimización numérica no son tan robustas como en Stata o Gauss. Por otro lado, R es mucho mejor en problemas como la regresión cuantílica. Aún así, con un buen conocimiento de R, usted puede encontrar cuál es el problema en las rutinas escritas por el usuario de R, arreglarlo, y continuar trabajando. Así que no creo que la falta de fiabilidad en algunas rutinas específicas sea una razón de peso para no usar R en absoluto.

Mi consejo sería que siguieras utilizando R pero que tuvieras experiencia en otro programa que se utilice ampliamente en tu campo, por ejemplo, Stata para microeconometría o Rats para series temporales.

13voto

StasK Puntos 19497

Cuando enseñaba estadística a nivel de posgrado, les decía a mis alumnos: "Me da igual el paquete que utilicéis, y podéis utilizar cualquier cosa para vuestros deberes, ya que espero que proporcionéis explicaciones sustanciales, y os quitaré puntos si veo tr23y5m nombres de variables en sus envíos. Puedo apoyar tu aprendizaje muy bien en Stata, y razonablemente bien, en R. Con SAS, estás por tu cuenta, ya que afirmas haber tomado un curso en él. Con SPSS o Minitab, que Dios te bendiga". Me imagino que los empleadores razonables pensarían lo mismo. Lo que importa es tu productividad en cuanto a los resultados del proyecto. Si puedes lograr el objetivo en R con 40 horas de trabajo, bien; si puedes lograrlo en C++ en 40 horas de trabajo, bien; si sabes hacerlo en R en 40 horas, pero tu supervisor quiere que lo hagas en SAS, y tienes que dedicar 60 horas sólo para aprender algunos conceptos básicos y dónde van los puntos y comas, eso sólo puede ser sensato en el contexto de que el resto del código esté en SAS... y entonces el jefe no fue muy sensato al haber contratado a un programador de R.

Desde esta perspectiva del coste total, la "gratuidad" de R es un mito enormemente exagerado. Cualquier proyecto serio requiere código personalizado, aunque sólo sea para la entrada de datos y el formateo de la salida, y eso es un coste no nulo de tiempo profesional. Si la entrada de datos y el formateo requieren 10 horas de código SAS y 20 horas de código R, R es un software más caro al margen como diría un economista, es decir, en términos de coste adicional para producir una determinada funcionalidad. Si un gran proyecto requiere 200 horas de tiempo de un programador de R y 100 horas de un programador de Stata para proporcionar una funcionalidad idéntica, Stata es más barato en general incluso teniendo en cuenta la licencia de ~1.000 dólares que hay que comprar. Sería interesante ver tales comparaciones directas; estuve involucrado en la reescritura de un enorme lío de 2Mb de código de SPSS que se decía que se había acumulado durante unos 10 años-persona en ~150K de código de Stata que corría más o menos igual de rápido, puede ser un poco más rápido; ese fue un proyecto de aproximadamente 1 año-persona. No sé si esta relación de eficiencia de 10:1 es típica para las comparaciones SPSS:Stata, pero no me sorprendería si lo fuera. Para mí, trabajar con R es siempre un gran gasto debido a los costes de búsqueda: Tengo que determinar cuál de los cinco paquetes con nombres similares hace lo que necesito hacer, y medir si lo hace con la suficiente fiabilidad para que lo utilice en mi trabajo. A menudo significa que me resulta más barato escribir mi propio código de Stata en menos tiempo del que emplearía en averiguar cómo hacer que R funcione en una tarea determinada. Debe entenderse que esta es mi idiosincrasia personal; la mayoría de las personas en este sitio son mejores usuarios de R que yo.

Es curioso que tu profesor prefiera Stata o GAUSS a R porque "R no fue escrito por economistas". Tampoco lo fueron Stata o GAUSS; están escritos por informáticos que utilizan herramientas de informáticos. Si su profesor obtiene ideas sobre programación de CodeAcademy.com, eso es mejor que nada, pero el desarrollo de software de nivel profesional es tan diferente de escribir en el cuadro de texto de CodeAcademy.com como conducir un camión de carga es diferente de andar en bicicleta. (Sin embargo, Stata fue iniciada por un econometrista laboral convertido en informático, pero ya no se dedica a esto de la econometría laboral desde hace unos 25 años).

Actualización : Como comenta AndyW más abajo, se puede escribir un código terrible en cualquier lenguaje. La cuestión del coste se convierte entonces en qué lenguaje es más fácil de depurar. Para mí, esto parece una combinación de cuán precisa e informativa es la salida, y cuán fácil y transparente es la sintaxis misma, y no tengo una buena respuesta para eso, por supuesto. Por ejemplo, Python obliga a sangrar el código, lo cual es una buena idea. El código de Stata y R se puede doblar sobre los paréntesis, y eso no va a funcionar con SAS. El uso de subrutinas es un arma de doble filo: el uso de *apply() con ad-hoc function s en R es obviamente muy eficiente, pero más difícil de depurar. De forma similar, Stata local pueden enmascarar casi cualquier cosa, y el hecho de que por defecto sea una cadena vacía, si bien es útil, también puede dar lugar a errores difíciles de detectar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X