Saya memiliki file 100M baris yang cukup larege dan 30 kolom atau lebih yang saya ingin menjalankan beberapa regresi. Saya memiliki kode khusus untuk menjalankan regresi pada seluruh file, tetapi apa yang ingin saya lakukan adalah mengambil sampel acak dari file dan menjalankannya dalam R. Strateginya adalah: sampel acak N baris dari file tanpa penggantian menjalankan regresi dan simpan koefisien minat, ulangi proses ini M kali dengan sampel yang berbeda untuk setiap koefisien, hitung rata-rata dan kesalahan standar dari koefisien pada M berjalan.
Saya ingin menginterpretasikan rerata yang dihitung lebih dari M berjalan sebagai perkiraan nilai-nilai koefisien yang dihitung pada seluruh kumpulan data, dan kesalahan standar dari sarana sebagai perkiraan kesalahan standar dari koefisien yang dihitung pada seluruh kumpulan data.
Eksperimen menunjukkan ini sebagai strategi yang menjanjikan, tetapi saya tidak yakin tentang teori yang mendasarinya. Apakah penaksir saya konsisten dan efisien? Jika mereka konsisten seberapa cepat mereka bertemu? Imbalan M dan N apa yang terbaik?
Saya akan sangat menghargainya jika seseorang dapat mengarahkan saya ke makalah, buku dll dengan teori yang relevan.
Salam dan terima kasih banyak,
Joe Rickert
sumber
Jawaban:
Jika Anda dapat mengasumsikan bahwa baris matriks data Anda dapat ditukar maka strategi pemodelan Anda akan bekerja dengan baik. Metode Anda harus baik-baik saja dalam kondisi yang dinyatakan oleh Gaetan Lion sebelumnya.
Alasan mengapa metode Anda akan bekerja ( mengingat asumsi tukar dapat dipertukarkan ) adalah bahwa itu diambil sebagai kasus khusus bootstrap parametrik di mana Anda mengambil sampel N baris sampel besar, cocok dengan model dan menyimpan koefisien dan ulangi M ini kali (dalam terminologi bootstrap tradisional M Anda setara dengan B ) dan ambil rata-rata estimasi koefisien M. Anda juga dapat melihatnya dari sudut pandang pengujian permutasi juga.
Tetapi semua hasil ini benar jika asumsi pertukaran ( sulit untuk diverifikasi ) berlaku. Jika asumsi pertukaran tidak berlaku, jawaban dalam kasus itu menjadi sedikit rumit. Mungkin Anda perlu menjaga subkelompok dalam data Anda yang dapat ditukar dan melakukan proses Anda dikondisikan pada subkelompok ini. Pada dasarnya, pemodelan hierarkis.
sumber
Jawaban untuk pertanyaan awal Anda adalah ya, karena teori klasik berlaku di bawah skema pengambilan sampel Anda. Anda tidak memerlukan asumsi apa pun pada matriks data asli. Semua keacakan (secara implisit di belakang kesalahan standar dan konsistensi) berasal dari skema Anda untuk pengambilan sampel baris dari matriks data.N
Pikirkan seluruh dataset Anda (100M baris) sebagai populasi. Setiap taksiran (dengan asumsi sampel Anda ukuran adalah sampel acak sederhana dari baris) adalah taksiran konsisten dari koefisien regresi (katakanlah, ) dihitung dari seluruh set data. Selain itu, kira-kira Normal dengan rata-rata sama dengan dan beberapa kovarians. Estimasi kovarian estimasi yang biasa juga konsisten. Jika Anda mengulangi kali ini dan rata-rata estimasi , maka estimasi yang dihasilkan (katakanlah, ) juga akan mendekati Normal. Anda dapat memperlakukan estimasi tersebut hampir independen (tidak berkorelasi) selamaN β^∗ β^∗ M M β^avg M N dan relatif kecil untuk 100M. Itu asumsi penting. Gagasannya adalah bahwa pengambilan sampel tanpa penggantian kira-kira sama dengan pengambilan sampel dengan penggantian ketika ukuran sampel kecil dibandingkan dengan ukuran populasi.M
Yang sedang berkata, saya pikir masalah Anda benar-benar adalah salah satu cara untuk secara efisien memperkirakan estimasi regresi ( ) dihitung dari seluruh set data. Ada perbedaan antara (1) rata-rata estimasi berdasarkan sampel ukuran dan (2) satu estimasi berdasarkan sampel ukuran . MSE dari (2) umumnya akan lebih kecil dari MSE dari (1). Mereka hanya akan sama jika estimasi itu linear dalam data, tetapi itu tidak terjadi. Saya menganggap Anda menggunakan kuadrat terkecil. Perkiraan kuadrat terkecil adalah linear dalam vektor (respons), tetapi bukan matriks (kovariat). Anda secara acak sampel dan .β^∗ M N MN Y X Y X
(1) dan (2) keduanya skema sederhana, tetapi belum tentu efisien. (Meskipun mungkin tidak masalah karena Anda hanya memiliki 30 variabel.) Ada cara yang lebih baik. Berikut ini salah satu contohnya: http://arxiv.org/abs/0710.1435
sumber
Semakin besar sampel N, semakin kecil kesalahan standar (semakin tinggi stat t, dan semakin kecil nilai p masing-masing) yang terkait dengan semua koefisien regresi Anda. Semakin besar M, semakin banyak titik data yang akan Anda miliki dan semakin kecil akan menjadi kesalahan standar Anda dari rata-rata koefisien atas M berjalan. Cara tersebut harus memiliki kesalahan standar yang didistribusikan secara normal per Teorema Limit Pusat. Dalam hal konvergensi cara seperti itu, saya tidak yakin ada prinsip statistik yang mendikte ini. Saya menduga jika pengambilan sampel acak Anda dilakukan dengan baik (tidak ada bias struktural, dll ...) konvergensi akan terjadi dengan cukup cepat. Itu adalah sesuatu yang mungkin harus Anda amati secara empiris.
Kalau tidak, metode Anda sepertinya bagus, saya tidak melihat ada masalah dengan itu.
sumber