Banyak pekerjaan statistik meminta pengalaman dengan data skala besar. Apa saja jenis keterampilan statistik dan komputasi yang akan diperlukan untuk bekerja dengan kumpulan data besar. Misalnya, bagaimana dengan membangun model regresi yang diberikan kumpulan data dengan 10 juta sampel?
regression
machine-learning
multivariate-analysis
large-data
pertanyaan kecil
sumber
sumber
Jawaban:
Jawaban yang bagus sudah muncul. Karena itu saya hanya akan membagikan beberapa pemikiran berdasarkan pengalaman pribadi: sesuaikan yang relevan dengan situasi Anda sendiri sesuai kebutuhan.
Untuk latar belakang dan konteks--sehingga Anda dapat menjelaskan bias pribadi apa pun yang mungkin merayapi pesan ini - sebagian besar pekerjaan saya adalah membantu orang membuat keputusan penting berdasarkan kumpulan data yang relatif kecil. Mereka kecil karena datanya bisa mahal untuk dikumpulkan (10K dolar untuk sampel pertama dari sumur pemantauan air tanah, misalnya, atau beberapa ribu dolar untuk analisis bahan kimia yang tidak biasa). Saya terbiasa mendapatkan sebanyak mungkin dari data apa pun yang tersedia, menjelajahinya hingga mati, dan menemukan metode baru untuk menganalisisnya jika perlu. Namun, dalam beberapa tahun terakhir saya telah bertunangan untuk bekerja pada beberapa database yang cukup besar, seperti salah satu data sosial ekonomi dan teknik yang mencakup seluruh AS pada tingkat blok Sensus (8,5 juta catatan,
Dengan dataset yang sangat besar, seluruh pendekatan dan perubahan pola pikir seseorang . Sekarang ada terlalu banyak data untuk dianalisis. Beberapa implikasi langsung (dan, dalam retrospeksi) yang jelas (dengan penekanan pada pemodelan regresi) termasuk
Analisis apa pun yang Anda pikirkan untuk dilakukan dapat mengambil banyak waktu dan perhitungan. Anda perlu mengembangkan metode subsampling dan bekerja pada dataset parsial sehingga Anda dapat merencanakan alur kerja Anda saat menghitung dengan seluruh dataset. (Subsampling dapat menjadi rumit, karena Anda memerlukan subkumpulan data yang representatif yang sama kayanya dengan seluruh dataset. Dan jangan lupa tentang memvalidasi silang model Anda dengan data yang diulurkan.)
Karena itu, Anda akan menghabiskan lebih banyak waktu untuk mendokumentasikan apa yang Anda lakukan dan menulis semuanya (sehingga bisa diulang).
Seperti @dsimcha baru saja mencatat, keterampilan pemrograman yang baik berguna. Sebenarnya, Anda tidak perlu banyak cara dalam pengalaman dengan lingkungan pemrograman, tetapi Anda membutuhkan kemauan untuk memprogram, kemampuan untuk mengenali kapan pemrograman akan membantu (pada hampir setiap langkah, sungguh) dan pemahaman yang baik tentang elemen dasar dari ilmu komputer, seperti desain struktur data yang sesuai dan bagaimana menganalisis kompleksitas algoritma komputasi. Itu berguna untuk mengetahui terlebih dahulu apakah kode yang Anda rencanakan untuk ditulis akan ditingkatkan ke dataset lengkap.
Beberapa dataset berukuran besar karena mereka memiliki banyak variabel (ribuan atau puluhan ribu, semuanya berbeda). Berharap untuk menghabiskan banyak waktu hanya meringkas dan memahami data . Sebuah codebook atau kamus data , dan bentuk lain dari metadata , menjadi penting.
Sebagian besar waktu Anda dihabiskan hanya untuk memindahkan data dan memformatnya kembali. Anda memerlukan keterampilan dengan memproses basis data dan keterampilan besar dengan merangkum dan membuat grafik sejumlah besar data. ( Multiple Small Tufte datang ke permukaan di sini.)
Beberapa alat perangkat lunak favorit Anda akan gagal. Lupakan spreadsheet, misalnya. Banyak sumber terbuka dan perangkat lunak akademis tidak akan cukup untuk menangani kumpulan data besar: pemrosesan akan berlangsung selamanya atau perangkat lunak akan macet. Harapkan ini dan pastikan Anda memiliki banyak cara untuk menyelesaikan tugas-tugas utama Anda.
Hampir semua uji statistik yang Anda jalankan akan sangat kuat sehingga hampir pasti untuk mengidentifikasi efek "signifikan". Anda harus lebih fokus pada kepentingan statistik , seperti ukuran efek, daripada signifikansi.
Demikian pula, pemilihan model merepotkan karena hampir semua variabel dan interaksi apa pun yang Anda renungkan akan terlihat signifikan. Anda harus lebih fokus pada kebermaknaan variabel yang Anda pilih untuk dianalisis.
Akan ada lebih dari cukup informasi untuk mengidentifikasi transformasi variabel nonlinier yang sesuai . Ketahui cara melakukan ini.
Anda akan memiliki cukup data untuk mendeteksi hubungan nonlinier, perubahan tren, nonstasioneritas, heteroskedastisitas , dll.
Anda tidak akan pernah selesai . Ada begitu banyak data yang dapat Anda pelajari selamanya. Karena itu, penting untuk menetapkan tujuan analitis Anda sejak awal dan selalu mengingatnya.
Saya akan mengakhiri dengan anekdot singkat yang menggambarkan satu perbedaan tak terduga antara pemodelan regresi dengan dataset besar dibandingkan dengan yang lebih kecil. Pada akhir proyek dengan data Sensus, model regresi yang saya kembangkan perlu diimplementasikan dalam sistem komputasi klien, yang berarti menulis kode SQL dalam database relasional. Ini adalah langkah rutin tetapi kode yang dihasilkan oleh pemrogram basis data melibatkan ribuan baris SQL. Ini membuatnya hampir tidak mungkin untuk menjamin itu bebas bug - meskipun kami dapat mendeteksi bug (itu memberikan hasil yang berbeda pada data uji), menemukan mereka adalah masalah lain. (Yang Anda butuhkan adalah satu kesalahan tipografi dalam koefisien ...) Bagian dari solusinya adalah menulis program yang menghasilkan perintah SQL langsung dari perkiraan model. Ini meyakinkan bahwa apa yang keluar dari paket statistik adalah persis apa yang masuk ke RDBMS. Sebagai bonus, beberapa jam dihabiskan untuk menulis skrip ini mungkin menggantikan beberapa minggu pengujian dan pengkodean SQL. Ini adalah sebagian kecil dari apa artinya bagi ahli statistik untuk dapat mengkomunikasikan hasil mereka.
sumber
Pertanyaan Anda harus menghasilkan beberapa jawaban yang bagus. Inilah beberapa poin awal.
Kemampuan untuk bekerja dengan timbal balik antara presisi dan tuntutan yang ditempatkan pada daya komputasi.
Fasilitas dengan teknik penambangan data yang dapat digunakan sebagai alat skrining awal sebelum melakukan regresi. Misalnya, chaid, cart, atau jaringan saraf.
Pemahaman yang mendalam tentang hubungan antara signifikansi statistik dan signifikansi praktis. Daftar metode yang luas untuk pemilihan variabel.
Naluri melakukan crossvalidate.
sumber
Keterampilan pemrograman yang baik adalah suatu keharusan. Anda harus dapat menulis kode efisien yang dapat menangani data dalam jumlah besar tanpa tersedak, dan mungkin dapat memparalelkan kode tersebut agar dapat berjalan dalam jumlah waktu yang wajar.
sumber
Saya juga akan menambahkan bahwa data skala besar juga memperkenalkan masalah potensi "data buruk". Tidak hanya data yang hilang, tetapi kesalahan data dan definisi yang tidak konsisten diperkenalkan oleh setiap bagian dari sistem yang pernah menyentuh data. Jadi, sebagai tambahan keterampilan statistik, Anda harus menjadi pembersih data ahli, kecuali jika orang lain melakukannya untuk Anda.
-Ralph Winters
sumber
sumber