¿Qué lenguaje de programación para la inferencia estadística?
8
solo por curiosidad ... ¿Qué idioma se usa más aquí? R? MATLAB? ¿Pitón? ¿Java?
¿Qué hay para prototipo o para producción? Por ejemplo, creo que MATLAB se usa principalmente para la creación de prototipos, python para ambas prot. y producción ...
Hecho wiki ya que esto es completamente subjetivo.
Shane
Respuestas:
7
No podría estar más de acuerdo con un voto para R. R es la "Lingua Franca" del mundo de las estadísticas. Es la definición de vanguardia, mientras que la mayoría de los paquetes para MATLAB y SAS tardan varios meses. El lenguaje es muy simple de entender en comparación con SAS. También le da el poder de conectarse con C / C ++ / Python y bases de datos.
Considere la versión Revolution Analytics de R para un poco más de rendimiento.
Debo decir que no estoy de acuerdo con que R sea más fácil de aprender que SAS. Puede ser porque aprendí SAS y SPSS primero, pero creo que SAS, SPSS (PASW ahora) y Stata son todos lenguajes más fáciles de aprender que R. Sin embargo, es un argumento subjetivo.
Andy W
Siento que R le da al usuario mucho más en términos de funcionalidad. Va más allá de lo que SAS / SPSS puede hacer.
pslice
3
No estoy en desacuerdo con eso, pero eso no hace que sea más fácil de entender. Creo que es bastante transparente con qué objetos estoy trabajando en SAS, SPSS o Stata y el formato / naturaleza de esos objetos, pero no es tan transparente en R. Aunque R puede ser más vanguardista, rara vez tengo un Necesito técnicas estadísticas de vanguardia en mi trabajo diario.
Andy W
Es difícil pensar que los sistemas de código cerrado sean transparentes. Incluso si usó solo métodos estadísticos antiguos, R es un sistema más eficiente para usarlos y forma una caja de herramientas de investigación reproducible completa.
Frank Harrell
8
Bueno, puede PAGAR por MATLAB y luego (1) programar las cosas que realmente necesita desde cero o (2) PAGAR MÁS por las cajas de herramientas de MATLAB. Y descubra que hacer estadísticas útiles en MATLAB fue una idea de último momento que se manejó en la Caja de herramientas de estadísticas cada vez menos útil. O ... puede descargar R GRATIS y buscar (¡y encontrar!) Los paquetes que necesita, que también puede descargar GRATIS.
Se pueden hacer muchas cosas de producción a pequeña escala en R. Si está haciendo algo realmente grande (piense en el censo de EE. UU.), Probablemente necesite aprender SAS, y hacer que su empleador lo pague.
La "popularidad" depende de la comunidad y la definición de "estadísticas". En todo el mundo, teniendo una visión amplia de la "inferencia estadística" que incluye cualquier método para sacar conclusiones o tomar medidas basadas en datos cuantitativos, hay pocas dudas de que Excel supera a todas las demás aplicaciones, incluidas R, SAS, Stata, SPSS y S -Más . (Los enlaces apuntan a diferentes tipos de estadísticas, pero son muy sugerentes, por decir lo menos.) Python y MATLAB ni siquiera son puntos en las estadísticas. No estoy diciendo que esto sea algo bueno o que nos guste: así es como es y así será por mucho tiempo.
No debemos sacar ninguna inferencia de lo que puede parecer popular "aquí" en este foro. Los proveedores de software comercial respaldan sus propios foros, por lo que, naturalmente, un lugar como SE favorecerá a las personas que utilizan software con soporte menos activo, especialmente soluciones gratuitas, de código abierto y académicas.
Al ver las etiquetas más populares, debe quedar claro que R es el lenguaje más popular en este sitio. No se puede inferir directamente si eso lo convierte en el lenguaje más popular para el análisis estadístico, pero uno podría suponer lo mismo.
R y SAS tienen cada uno sus pros y contras. Creo que más estadísticos deben aceptar el hecho de que hay disponible un gran software estadístico, en lugar de discutir interminablemente sobre cuál es superior.
R es gratis. SAS es muy caro. R te da la capacidad de hacer casi cualquier cosa. SAS puede o no puede. R tiene increíbles habilidades gráficas. Ver gráficos SAS hace que parezca 1985 nuevamente. SAS tiene una excelente atención al cliente. Soporte R = horas de búsqueda en archivos de listas de correo. También con un nombre como "R", los resultados de los motores de búsqueda son a menudo pobres. R es extremadamente lento y no funciona bien con grandes conjuntos de datos. SAS funciona bien con grandes conjuntos de datos. SAS tiende a ser más robusto. En mi experiencia, cuando se trata de modelos de efectos mixtos o cualquier cosa que implique el diseño de experimentos (como analizar diseños cruzados), SAS es superior.
Para simulaciones de fuerza bruta a gran escala, uso Fortran. Solía usar C, pero he encontrado que Fortran es mucho más fácil de usar. Nunca he usado MATLAB. Si necesito potencia estadística de R pero la velocidad de Fortran, escribiré las operaciones intensivas en tiempo (es decir, bucles) en Fortran y llamaré a la subrutina desde R.
Bueno, el soporte R son lugares como aquí, que a menudo son más efectivos que un soporte pagado. Para Google, hay rseek.org, funciona muy bien. El 99% de los casos de R-is-slow pueden resolverse con cierta reflexión; También hay paquetes para manejar grandes cantidades de datos (tampoco es sencillo en SAS). R es un lenguaje de programación, SAS es un SQL extendido.
2
+1 porque esta respuesta es útil, pero creo que sus puntos sobre el soporte, la velocidad y la capacidad de R para manejar grandes datos están desactualizados o se están volviendo bastante rápidos.
Matt Parker el
2
Secundaré el comentario de @Matt y @ mbq sobre el rendimiento de R, pero me gustaría agregar que R es bastante bueno en realidad para (N) LME. Puedo recordar una charla de Doug Bates en la conferencia DSC 2009 donde mostró cómo el lme4paquete maneja fácilmente muchos efectos aleatorios (como se encuentra, por ejemplo, en la evaluación educativa). Mi propia (pero limitada) experiencia (SAS NLMIXEDvs. R lme4) confirma ese punto: R no es en absoluto más lento que SAS cuando se trata de aplicar modelos IRT complejos , y también maneja grandes conjuntos genéticos de datos (gracias a la implementación inteligente de C) .
chl
1
Mi preferencia va a Python, y quizás a Java. Primero, son lenguajes de programación reales. En segundo lugar, son los idiomas más populares (Índice TIOBE). También puede convertir entre estos idiomas utilizando varios lenguajes de secuencias de comandos. En el pasado utilicé la plataforma DMelt http://jwork.org/dmelt/ para realizar cálculos estadísticos, y me impresionaron mucho los gráficos en 2D y 3D, que se pueden lograr fácilmente para trabajos profesionales. El paquete R no me impresionó con los gráficos.
Esto no aborda la cuestión del lenguaje más popular para la inferencia estadística. Se trata principalmente de sus preferencias personales con una mención de lo que son lenguajes de programación populares.
Respuestas:
No podría estar más de acuerdo con un voto para R. R es la "Lingua Franca" del mundo de las estadísticas. Es la definición de vanguardia, mientras que la mayoría de los paquetes para MATLAB y SAS tardan varios meses. El lenguaje es muy simple de entender en comparación con SAS. También le da el poder de conectarse con C / C ++ / Python y bases de datos.
Considere la versión Revolution Analytics de R para un poco más de rendimiento.
http://www.revolutionanalytics.com/products/revolution-r.php
fuente
Bueno, puede PAGAR por MATLAB y luego (1) programar las cosas que realmente necesita desde cero o (2) PAGAR MÁS por las cajas de herramientas de MATLAB. Y descubra que hacer estadísticas útiles en MATLAB fue una idea de último momento que se manejó en la Caja de herramientas de estadísticas cada vez menos útil. O ... puede descargar R GRATIS y buscar (¡y encontrar!) Los paquetes que necesita, que también puede descargar GRATIS.
Se pueden hacer muchas cosas de producción a pequeña escala en R. Si está haciendo algo realmente grande (piense en el censo de EE. UU.), Probablemente necesite aprender SAS, y hacer que su empleador lo pague.
fuente
La "popularidad" depende de la comunidad y la definición de "estadísticas". En todo el mundo, teniendo una visión amplia de la "inferencia estadística" que incluye cualquier método para sacar conclusiones o tomar medidas basadas en datos cuantitativos, hay pocas dudas de que Excel supera a todas las demás aplicaciones, incluidas R, SAS, Stata, SPSS y S -Más . (Los enlaces apuntan a diferentes tipos de estadísticas, pero son muy sugerentes, por decir lo menos.) Python y MATLAB ni siquiera son puntos en las estadísticas. No estoy diciendo que esto sea algo bueno o que nos guste: así es como es y así será por mucho tiempo.
No debemos sacar ninguna inferencia de lo que puede parecer popular "aquí" en este foro. Los proveedores de software comercial respaldan sus propios foros, por lo que, naturalmente, un lugar como SE favorecerá a las personas que utilizan software con soporte menos activo, especialmente soluciones gratuitas, de código abierto y académicas.
fuente
Al ver las etiquetas más populares, debe quedar claro que R es el lenguaje más popular en este sitio. No se puede inferir directamente si eso lo convierte en el lenguaje más popular para el análisis estadístico, pero uno podría suponer lo mismo.
fuente
R y SAS tienen cada uno sus pros y contras. Creo que más estadísticos deben aceptar el hecho de que hay disponible un gran software estadístico, en lugar de discutir interminablemente sobre cuál es superior.
R es gratis. SAS es muy caro. R te da la capacidad de hacer casi cualquier cosa. SAS puede o no puede. R tiene increíbles habilidades gráficas. Ver gráficos SAS hace que parezca 1985 nuevamente. SAS tiene una excelente atención al cliente. Soporte R = horas de búsqueda en archivos de listas de correo. También con un nombre como "R", los resultados de los motores de búsqueda son a menudo pobres. R es extremadamente lento y no funciona bien con grandes conjuntos de datos. SAS funciona bien con grandes conjuntos de datos. SAS tiende a ser más robusto. En mi experiencia, cuando se trata de modelos de efectos mixtos o cualquier cosa que implique el diseño de experimentos (como analizar diseños cruzados), SAS es superior.
Para simulaciones de fuerza bruta a gran escala, uso Fortran. Solía usar C, pero he encontrado que Fortran es mucho más fácil de usar. Nunca he usado MATLAB. Si necesito potencia estadística de R pero la velocidad de Fortran, escribiré las operaciones intensivas en tiempo (es decir, bucles) en Fortran y llamaré a la subrutina desde R.
fuente
lme4
paquete maneja fácilmente muchos efectos aleatorios (como se encuentra, por ejemplo, en la evaluación educativa). Mi propia (pero limitada) experiencia (SASNLMIXED
vs. Rlme4
) confirma ese punto: R no es en absoluto más lento que SAS cuando se trata de aplicar modelos IRT complejos , y también maneja grandes conjuntos genéticos de datos (gracias a la implementación inteligente de C) .Mi preferencia va a Python, y quizás a Java. Primero, son lenguajes de programación reales. En segundo lugar, son los idiomas más populares (Índice TIOBE). También puede convertir entre estos idiomas utilizando varios lenguajes de secuencias de comandos. En el pasado utilicé la plataforma DMelt http://jwork.org/dmelt/ para realizar cálculos estadísticos, y me impresionaron mucho los gráficos en 2D y 3D, que se pueden lograr fácilmente para trabajos profesionales. El paquete R no me impresionó con los gráficos.
fuente