R als Alternative zu SAS für große Datenmengen


8

Ich weiß, dass R für die Analyse großer Datenmengen nicht besonders hilfreich ist, da R alle Daten in den Speicher lädt, während SAS eine sequentielle Analyse durchführt. Es gibt jedoch Pakete wie bigmemory, mit denen Benutzer die Analyse großer Datenmengen (statistische Analysen) in R effizienter durchführen können.

Ich wollte wissen, dass neben allen theoretischen Informationen jeder R für die Analyse großer Datenmengen in einer Unternehmensumgebung verwendet / verwendet und welche typischen Probleme auftreten können. Bei großen Datensätzen beziehe ich mich auf Datensätze mit einer Größe von ~ 200 GB. Auch Gedanken zu Beispielen aus der Praxis für die Migration von SAS zu R in solchen Anwendungsfällen wären hilfreich.


1
R 3.0 (die aktuelle Version) kann auf große Arrays zugreifen. Auf einem 64-Bit-Computer sollte in der Lage sein, so viel Speicher zu adressieren, wenn Sie so viel haben.
Glen_b -State Monica

Es gibt einige Pakete, um den Speicher zu erhöhen, wie z. B. ffund bigmemory. @Glen_b, glaubst du, dass das neue R (mit einem 64-Bit-Rechner) mit SAS konkurrieren wird (in Bezug auf die mögliche Größe der Datensätze)?
Stéphane Laurent

@ StéphaneLaurent SAS verwendet einen anderen Ansatz, was bedeutet, dass er nicht auf adressierbaren Speicher beschränkt ist (dieser Ansatz ist für R aufgrund seiner Flexibilität nicht wirklich möglich), sodass die Grenzwerte nicht gleich sind ... aber ich weiß es nicht genau Was sind die Grenzen von SAS?
Glen_b -State Monica

Antworten:


4

Ich habe an sehr großen Datenmengen in R gearbeitet und hatte keine Probleme.

Es gibt verschiedene Ansätze, die funktionieren, aber mein grundlegendes Paradigma ist, dass ich Wege finde, die Daten "sequentiell" zu verarbeiten. Offensichtlich hat SAS die gleichen grundlegenden Speicherbeschränkungen, wenn Sie es auf demselben Computer verwenden. Die Verwendung von R ist nur ein bisschen mehr DIY.

In jedem Fall, auf den ich jemals gestoßen bin, analysiere ich entweder eine Art Zusammenfassung der Daten oder analysiere Teile der Daten und fasse dann die Ergebnisse zusammen. So oder so ist das in R leicht zu erreichen.

Es ist ziemlich einfach, Zusammenfassungen zu erstellen, wenn Sie Ihre Daten in irgendeiner Weise strukturiert haben (wirklich in irgendeiner Weise). Hadoop ist ein führendes Tool zum Erstellen von Zusammenfassungen. Die Stapelverarbeitung von R-Datendateien ist jedoch einfach. Wenn Ihre Daten auf Ihr lokales Speichergerät passen, können Sie sie auch schneller stapelweise verarbeiten (sowohl in Bezug auf die Verarbeitungszeit als auch in Bezug auf die Verarbeitungszeit) Entwicklungszeit).

Es ist auch ziemlich einfach, Ihre Analyse nach Chunk zu stapeln, indem Sie denselben Denkprozess verwenden.

Wenn Sie wirklich darauf aus sind, ein lineares Modell direkt auf einem riesigen Datensatz zu erstellen, dann ist Bigmemory Ihre Antwort, wie von Stéphane Laurent vorgeschlagen.

Ich glaube nicht, dass es eine "Antwort" auf "Wie geht man mit Speicherbeschränkungen um" oder "Umstellung auf eine neue Plattform" gibt, aber das sind meine langwierigen zwei Cent.


3

Ich habe keine praktischen Erfahrungen mit dem revolutionären Analytics-Teil, aber es gibt einen Blog dazu

http://www.r-bloggers.com/allstate-compares-sas-hadoop-and-r-for-big-data-insurance-models/

Es verwendet Hadoop (verteiltes Rechnen), um dieses Speicherproblem zu lösen.


1
Bitte geben Sie weitere Informationen an. Wenn der Link nicht mehr funktioniert, sollte die Antwort dennoch hilfreich sein.
Sven Hohenstein

Ich glaube nicht, dass ihre "Lösung" Hadoop war (80 Hadoop-Kerne waren doppelt so langsam wie SAS mit 16 Kernen), aber es klingt so, als ob LSF ( en.wikipedia.org/wiki/Platform_LSF ) ungefähr dasselbe ist.
Darren Cook
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.