R thay thế cho SAS cho dữ liệu lớn


8

Tôi biết rằng R không đặc biệt hữu ích cho việc phân tích các bộ dữ liệu lớn do R tải tất cả dữ liệu trong bộ nhớ trong khi một cái gì đó giống như SAS thực hiện phân tích tuần tự. Điều đó nói rằng, có các gói như bigmemory cho phép người dùng thực hiện phân tích dữ liệu lớn (phân tích thống kê) hiệu quả hơn trong R.

Tôi muốn biết, ngoài tất cả các thông tin lý thuyết, có ai đã sử dụng / đang sử dụng R để phân tích các bộ dữ liệu lớn trong môi trường doanh nghiệp và các vấn đề điển hình có thể phát sinh là gì. Bằng các bộ dữ liệu lớn, tôi đang đề cập đến các bộ dữ liệu có kích thước ~ 200 GB. Ngoài ra, bất kỳ suy nghĩ nào về các ví dụ thực tế về việc di chuyển từ SAS sang R trong các trường hợp sử dụng như vậy sẽ hữu ích.


1
R 3.0 (là bản phát hành hiện tại) có thể truy cập các mảng lớn. Trên máy 64 bit sẽ có thể xử lý nhiều bộ nhớ đó nếu bạn có nhiều bộ nhớ đó.
Glen_b -Reinstate Monica

Có một số gói để tăng bộ nhớ, chẳng hạn như ffbigmemory. @Glen_b, bạn có nghĩ rằng R mới (với máy 64 bit) sẽ cạnh tranh với SAS (về kích thước bộ dữ liệu có thể)?
Stéphane Laurent

@ StéphaneLaurent SAS sử dụng một cách tiếp cận khác có nghĩa là nó không giới hạn ở bộ nhớ có thể đánh địa chỉ (cách tiếp cận này không thực sự khả thi đối với R vì tính linh hoạt của nó), vì vậy các giới hạn sẽ không giống nhau ... nhưng tôi thực sự không biết giới hạn của SAS là gì.
Glen_b -Reinstate Monica

Câu trả lời:


4

Tôi đã thực hiện công việc trên các tập dữ liệu rất lớn trong R và không gặp vấn đề gì.

Có một số cách tiếp cận hiệu quả, nhưng mô hình cơ bản của tôi là tôi tìm cách xử lý dữ liệu "tuần tự". Rõ ràng là SAS có các ràng buộc bộ nhớ cơ bản tương tự nếu bạn đang sử dụng nó trên cùng một máy, sử dụng R chỉ là một chút DIY.

Trong mọi trường hợp mà tôi từng gặp phải, tôi đang phân tích một số loại tóm tắt dữ liệu hoặc tôi đang phân tích trên các khối dữ liệu và sau đó tóm tắt kết quả. Dù bằng cách nào thì điều đó cũng dễ thực hiện ở R.

Thật dễ dàng để tạo các bản tóm tắt nếu bạn có cấu trúc dữ liệu của mình theo một cách nào đó (thực sự theo bất kỳ cách nào). Hadoop là một công cụ hàng đầu để tạo ra các bản tóm tắt, nhưng thật dễ dàng để xử lý hàng loạt trên các tệp Dữ liệu R và nếu dữ liệu của bạn phù hợp với thiết bị lưu trữ cục bộ của bạn, thì cũng sẽ nhanh hơn để xử lý theo cách đó (về cả thời gian xử lý và thời gian phát triển).

Cũng khá dễ dàng để phân tích phân tích của bạn bằng cách sử dụng quá trình suy nghĩ tương tự.

Nếu bạn thực sự muốn làm một mô hình tuyến tính trực tiếp trên một tập dữ liệu khổng lồ, thì tôi nghĩ bigmemory là câu trả lời của bạn, như được đề xuất bởi Stéphane Laurent.

Tôi thực sự không nghĩ rằng có một "câu trả lời" cho "làm thế nào để bạn đối phó với các hạn chế về bộ nhớ" hoặc "chuyển sang một nền tảng mới", nhưng đây là hai xu dài của tôi.


3

Tôi không có phần thực hành về phần phân tích mang tính cách mạng nhưng có một blog về điều này

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

Nó sử dụng hadoop (tính toán phân tán) để giải quyết vấn đề này của bộ nhớ.


1
Vui lòng cung cấp thêm thông tin. Nếu liên kết không hoạt động nữa, câu trả lời vẫn sẽ hữu ích.
Sven Hohenstein

Tôi không nghĩ rằng "giải pháp" của họ là Hadoop (80 lõi Hadoop chậm gấp đôi so với SAS 16 lõi), nhưng có vẻ như LSF ( en.wikipedia.org/wiki/Pl platform_LSF ) gần giống như vậy.
Darren Cook
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.