He estado usando SAS profesionalmente por cerca de 5 años. Lo he instalado en mi portátil y con frecuencia tienen para analizar conjuntos de datos con 1,000-2,000 variables y cientos de miles de observaciones.
He estado buscando alternativas a SAS que me permiten, para llevar a cabo los análisis de tamaño similar conjuntos de datos. Tengo curiosidad de saber lo que otras personas utilizan para situaciones como esta. Esto ciertamente no es "Big Data" en la forma que se utiliza hoy en día. Ni son mis conjuntos de datos lo suficientemente pequeño como para mantener en la memoria. Necesito una solución que se puede aplicar algoritmos a los datos almacenados en un disco duro. Estas son las cosas que he investigado fue en vano:
- R - BigMemory puede crear matrices almacenadas fuera de la memoria, pero los elementos tienen que ser del mismo modo. Yo trabajo con datos que es casi una división 50/50 entre el carácter y la numérica. El FF paquete se acerca a lo que necesito, pero no acabo de entender que los procedimientos sean compatibles con ella. Creo que el apoyo es algo limitado.
- Los Pandas - yo estaba muy emocionado acerca de un Python alternativa a R. sin Embargo, también tiene que contener todos los datos en la memoria.
- La revolución R - Este muestra un poco de la promesa. Yo tengo una copia en mi ordenador de casa (gratis si usted se inscribe para Kaggle) y todavía tienen que probar como alternativa viable a la SAS. Comentarios sobre la Revolución R como SAS alternativas son muy apreciadas.
Gracias
ACTUALIZACIÓN 1
La edición de añadir que estoy buscando en la vida real, las soluciones prácticas que las personas han utilizado con éxito. Para la mayor parte, SAS me permite chug a través de archivos de gran tamaño sin tener que preocuparse un poco acerca de las restricciones de memoria. Sin embargo SAS se implementa, descubrieron cómo hacer que la memoria de gestión transparente para el usuario. Pero, es con gran tristeza que he utilizado SAS para mi trabajo (me tienen para) y el AMOR de una alternativa de software libre que me permite trabajar en "grandes" de datos sin tener que pensar demasiado acerca de la ubicación de los datos en un momento específico (en memoria o en disco).
La más cercana de las cosas que me he encontrado son R FF paquete y algo en el horizonte para Python llamado Blaze. Y, sin embargo, estos problemas han existido por muchos años, así que lo que analistas han estado haciendo en el medio tiempo? Cómo están el manejo de estos mismos problemas con los límites de la Memoria? La mayoría de las soluciones que se ofrecen parecen ser:
- Obtener más RAM ... Esta no es una buena solución, de la omi. Es fácil encontrar un conjunto de datos que puede exceder de RAM pero todavía caben en una unidad de disco duro. Además, el flujo de trabajo tiene que dar cabida a todas las estructuras que se crean durante el análisis exploratorio de datos.
- Un subconjunto de datos -- Esto es bueno para la exploración, pero no para la finalización de los resultados y presentación de informes. Finalmente, los procesos se desarrollan en un subconjunto tendrá que ser aplicada a la totalidad del conjunto de datos (en mi caso, de todos modos).
- Pedazo a través de los datos-Esto es lo que me gustaría saber más acerca de la gente que realmente se implemente este flujo de trabajo. ¿Cómo se hace? Con qué herramientas? Se puede hacer de una manera que sea transparente para el usuario? (es decir, a crear algunos de los datos contenidos en el disco de la estructura y el marco de trabajo se ocupa de la fragmentación bajo el capó).