Saya telah menggunakan SAS secara profesional selama hampir 5 tahun sekarang. Saya sudah menginstalnya di laptop saya dan sering harus menganalisis dataset dengan 1.000-2.000 variabel dan ratusan ribu pengamatan.
Saya telah mencari alternatif untuk SAS yang memungkinkan saya untuk melakukan analisis pada set data berukuran serupa. Saya ingin tahu apa yang orang lain gunakan untuk situasi seperti ini. Ini tentu saja bukan "Data Besar" dengan cara yang digunakan saat ini. Kumpulan data saya juga tidak cukup kecil untuk disimpan dalam memori. Saya membutuhkan solusi yang dapat menerapkan algoritma ke data yang disimpan di hard drive. Ini adalah hal-hal yang telah saya selidiki tidak berhasil:
- R - BigMemory dapat membuat matriks yang disimpan dari memori, tetapi elemen-elemennya harus dalam mode yang sama. Saya bekerja dengan data yang terbagi hampir 50/50 antara karakter dan numerik. Paket FF semakin mendekati apa yang saya butuhkan, tetapi saya tidak begitu mengerti prosedur mana yang kompatibel dengannya. Saya pikir dukungan agak terbatas.
- Panda - Saya sangat senang tentang alternatif Pythonic untuk R. Namun, itu juga harus menyimpan semua data dalam memori.
- Revolution R - Yang ini menunjukkan sedikit janji. Saya memiliki salinan di komputer rumah saya (gratis jika Anda mendaftar ke Kaggle) dan belum mengujinya sebagai alternatif yang layak untuk SAS. Komentar tentang Revolution R sebagai alternatif SAS sangat dihargai.
Terima kasih
PEMBARUAN 1
Mengedit untuk menambahkan bahwa saya mencari solusi praktis dan nyata yang telah digunakan orang dengan sukses. Untuk sebagian besar, SAS memungkinkan saya membaca file besar tanpa khawatir sedikit pun tentang kendala memori. Namun SAS diimplementasikan, mereka menemukan cara untuk membuat manajemen memori transparan kepada pengguna. Tapi, dengan berat hati saya menggunakan SAS untuk pekerjaan saya (saya harus) dan akan MENCINTAI alternatif FOSS yang memungkinkan saya untuk bekerja pada data "besar" tanpa harus berpikir terlalu keras tentang di mana data itu berada di waktu tertentu (dalam memori atau pada disk).
Hal terdekat yang saya temui adalah paket FF R dan sesuatu di cakrawala untuk Python disebut Blaze . Namun, masalah ini telah ada selama bertahun-tahun, jadi apa yang telah dilakukan para analis pada saat itu? Bagaimana mereka menangani masalah yang sama dengan batas Memori ini? Sebagian besar solusi yang ditawarkan adalah:
- Dapatkan lebih banyak RAM - Ini bukan solusi yang baik, imo. Sangat mudah untuk menemukan dataset yang dapat melebihi RAM namun masih muat di hard-drive. Selanjutnya, alur kerja harus mengakomodasi semua struktur yang dibuat selama analisis data eksplorasi.
- Subset data - Ini bagus untuk eksplorasi tetapi tidak untuk menyelesaikan hasil dan pelaporan. Pada akhirnya, proses apa pun yang dikembangkan pada subset harus diterapkan ke seluruh dataset (dalam kasus saya, bagaimanapun).
- Memotong data - Inilah yang ingin saya ketahui lebih banyak dari orang yang benar-benar menerapkan alur kerja ini. Bagaimana ini dilakukan? Dengan alat apa? Bisakah itu dilakukan dengan cara yang transparan bagi pengguna? (Yaitu, buat beberapa struktur data pada disk dan frame-work menangani chunking di bawah tenda).