Ich benutze SAS seit fast 5 Jahren professionell. Ich habe es auf meinem Laptop installiert und muss häufig Datensätze mit 1.000 bis 2.000 Variablen und Hunderttausenden von Beobachtungen analysieren.
Ich habe nach Alternativen zu SAS gesucht, mit denen ich Analysen mit ähnlich großen Datensätzen durchführen kann. Ich bin neugierig, was andere Leute für Situationen wie diese benutzen. Dies ist sicherlich nicht "Big Data" in der heutigen Art und Weise. Meine Datensätze sind auch nicht klein genug, um im Speicher zu bleiben. Ich brauche eine Lösung, die Algorithmen auf Daten anwenden kann, die auf einer Festplatte gespeichert sind. Dies sind die Dinge, die ich erfolglos untersucht habe:
- R - BigMemory kann Matrizen erstellen, die nicht genügend Speicherplatz haben, aber die Elemente müssen im selben Modus sein. Ich arbeite mit Daten, die fast zu 50 zwischen Zeichen und Zahlen aufgeteilt sind. Das FF-Paket kommt näher an das heran, was ich brauche, aber ich verstehe nicht genau, welche Prozeduren damit kompatibel sind. Ich denke, die Unterstützung ist etwas begrenzt.
- Pandas - Ich war sehr aufgeregt über eine Pythonic-Alternative zu R. Sie muss jedoch auch alle Daten im Speicher halten.
- Revolution R - Diese zeigt ziemlich vielversprechend. Ich habe eine Kopie auf meinem Heimcomputer (kostenlos, wenn Sie sich bei Kaggle anmelden) und muss sie noch als praktikable Alternative zu SAS testen. Kommentare zu Revolution R als SAS-Alternative werden sehr geschätzt.
Vielen Dank
UPDATE 1
Durch die Bearbeitung möchte ich hinzufügen, dass ich nach praktischen Lösungen suche, die die Menschen erfolgreich eingesetzt haben. In den meisten Fällen kann ich mit SAS große Dateien durchsuchen, ohne mir Gedanken über Speicherbeschränkungen zu machen. Obwohl SAS implementiert ist, haben sie herausgefunden, wie die Speicherverwaltung für den Benutzer transparent gemacht werden kann. Aber mit schwerem Herzen habe ich SAS für meinen Job verwendet (ich muss es tun) und würde eine FOSS-Alternative LIEBEN, mit der ich an "großen" Daten arbeiten kann, ohne überlegen zu müssen, wo sich die Daten an einem Ort befinden bestimmte Zeit (im Speicher oder auf der Festplatte).
Die nächsten Dinge, auf die ich gestoßen bin, sind Rs FF-Paket und etwas am Horizont für Python, das Blaze heißt . Und doch gibt es diese Probleme seit vielen Jahren. Was haben Analysten in der Zwischenzeit getan? Wie behandeln sie dieselben Probleme mit Speicherbeschränkungen? Die Mehrzahl der angebotenen Lösungen scheint zu sein:
- Holen Sie sich mehr RAM - Dies ist keine gute Lösung, imo. Es ist einfach, einen Datensatz zu finden, der den Arbeitsspeicher überschreitet und dennoch auf eine Festplatte passt. Darüber hinaus muss der Workflow alle Strukturen berücksichtigen, die während der explorativen Datenanalyse erstellt werden.
- Teilmenge der Daten - Dies ist in Ordnung für die Erkundung, jedoch nicht für die Fertigstellung der Ergebnisse und die Berichterstellung. Irgendwann müssen alle Prozesse, die in einer Teilmenge entwickelt werden, auf den gesamten Datensatz angewendet werden (in meinem Fall jedenfalls).
- Durch die Daten blättern - Das ist es, worüber ich mehr von Leuten wissen möchte, die diesen Workflow tatsächlich implementieren. Wie wird es gemacht? Mit welchen Werkzeugen? Kann dies auf eine Weise geschehen, die für den Benutzer transparent ist? (dh erstellen Sie eine Datenstruktur auf der Festplatte, und der Rahmen sorgt für die Aufteilung unter der Haube).