大規模データのSASの代替としてのR


8

SASのようなものは逐次分析を行うのに対し、Rはすべてのデータをメモリにロードすることを考えると、Rは大きなデータセットの分析には特に役立ちません。とはいえ、ユーザーがRでより効率的に大規模データ分析(統計分析)を実行できるようにするbigmemoryのようなパッケージがあります。

私は、すべての理論的な情報とは別に、エンタープライズ環境で大規模なデータセットを分析するためにRを使用したり使用したりしている人や、発生する可能性のある典型的な問題を知りたいと思っていました。大きなデータセットとは、サイズが最大200 GBのデータセットを指します。また、そのようなユースケースでSASからRに移行する実際の例についての考えは参考になります。


1
R 3.0(現在のリリース)は、大規模な配列にアクセスできます。64ビットマシンでは、メモリが十分にあれば、そのメモリに対応できます。
Glen_b-モニカを復活させる2013

ffおよびなど、メモリを増やすためのパッケージがいくつかありますbigmemory。@Glen_b、新しいR(64ビットマシンを使用)は、SAS(可能なデータセットサイズの点で)に匹敵すると思いますか?
ステファン・ローラン

@StéphaneLaurentSASは別のアプローチを使用します。つまり、アドレス可能なメモリに限定されないため(このアプローチは、Rの柔軟性のため、実際には不可能です)、制限は同じではありません...しかし、実際にはわかりませんSASの制限とは
Glen_b-モニカを復活させる2013

回答:


4

私はRで非常に大きなデータセットの作業を行っており、問題はありませんでした。

機能するアプローチはいくつかありますが、私の基本的なパラダイムは、データを「順次」処理する方法を見つけることです。同じマシンでSASを使用している場合、SASの基本的なメモリ制約は明らかに同じです。Rを使用することは、ほんの少しDIYです。

私が遭遇したすべての場合において、私はデータのある種の要約について分析を行っているか、またはデータのチャンクについて分析を行ってから、結果を要約しています。どちらの方法でも、Rで簡単に実行できます。

データが何らかの方法で(実際には何らかの方法で)構造化されている場合、要約を作成するのは非常に簡単です。Hadoopはサマリーを作成するための主要なツールですが、Rデータファイルでバッチ処理を行うのは簡単です。データがローカルストレージデバイスに収まる場合は、そのようにバッチ処理する方が高速です(処理時間と処理時間の両面で)開発時間)。

また、同じ思考プロセスを使用して、チャンクごとに分析をバッチ処理することも非常に簡単です。

巨大なデータセットで線形モデルを直接実行したくない場合は、StéphaneLaurentが示唆しているように、bigmemoryがあなたの答えだと思います。

「メモリの制約にどのように対処するか」または「新しいプラットフォームに移動する」という1つの「答え」は実際にはないと思いますが、これは私の長い間2セントです。


3

私は革命的な分析の部分を実際に体験していませんが、これに関するブログがあります

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

このメモリの問題を解決するには、hadoop(分散コンピューティング)を使用します。


1
詳細を入力してください。リンクが機能しない場合でも、回答は役に立ちます。
Sven Hohenstein 2013

彼らの「解決策」はHadoop(80 Hadoopコアは16コアSASの2倍の速度でした)ではなかったと思いますが、LSF(en.wikipedia.org/wiki/Platform_LSF)はほぼ同じようなもののようです。
ダレン・クック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.