Melakukan regresi pada sampel dari file yang sangat besar: apakah rata-rata dan rata-rata dari koefisien sampel adalah penduga yang konsisten?

8

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

csgillespie
sumber
Joshep, jika saya mengerti pertanyaan Anda, tujuan pekerjaan Anda adalah untuk mendemostrasikan bahwa menjalankan analisis regresi pada sampel acak yang Anda peroleh hasil simular dengan yang dari seluruh kumpulan data jika asumsi yang dapat ditukar berlaku. Pertanyaan saya adalah apakah ada yang tahu referensi di mana metode ini telah digunakan.
Manuel Ramón

Jawaban:

5

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.

suncoolsu
sumber
Halo suncoolsu. Ya, saya pikir asumsi pertukaran itu sangat penting. Terima kasih telah menunjukkannya. Apakah Anda tahu ada hasil pada tingkat konvergensi?
1
Halo Joseph, karena sebagian besar ( tidak secara umum ) menghasilkan statistik klasik: bootstrap parametrik menyatu di sekitar tingkat , di mana adalah ukuran sampel. Dalam kasus Anda sesuai dengan , karena Anda mengambil rata-rata perkiraan bootstrapIni setara dengan normalitas asimptotik (atau CLT ). Asumsi dan perincian hasilnya dapat ditemukan di: Hall, P. 1988. Tingkat Konvergensi dalam Perkiraan Bootstrap. Annals of Probability. n12nnMM
suncoolsu
Tambahan: ketika saya mengatakan , maksud saya kesalahan menjadi nol dengan kurs . n1/2O(n1/2)
suncoolsu
Halo suncoolsu. Terima kasih untuk referensi Saya sangat menghargai nya. Saya akan mengerjakan pekerjaan rumah saya.
4

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β^β^MMβ^avgMN 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 .β^MNMNYXYX

(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

vqv
sumber
2

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.

Sympa
sumber
Halo Gaten, Terima kasih telah melihat ini. Saya masih tidak yakin bahwa saya mengerti logikanya. Sampel beta lengkap. Apakah dan perkiraan beta yang sebenarnya. Sample.mean.beta.hat saya adalah perkiraan beta.apa bukan? Apakah argumen CLT bahwa beta.hat dan sample.mean.beta.hat saling bertemu?
@ Joseph. Saya tidak yakin saya mengerti komentar Anda. Kami hanya menggunakan sintaks yang sedikit berbeda. Saya tidak tahu apa artinya beta. Maksud saya adalah bahwa sampel N yang lebih besar akan memberi Anda signifikansi statistik yang lebih besar (kesalahan standar yang lebih rendah, stat t yang lebih tinggi, nilai p yang lebih rendah) pada semua koefisien regresi dalam satu kali proses. Sementara itu, semakin banyak iterasi M akan memberi Anda signifikansi statistik yang lebih besar untuk Mean dari masing-masing koefisien spesifik di semua iterasi. Mereka adalah dua hal yang berbeda.
Sympa
@ Joseph, menggunakan bahasa Anda. Saya tidak yakin bahwa argumen CLT menyarankan bahwa baik beta.hat dan sample.mean.beta.hat akan bertemu satu sama lain. Tetapi, bahwa distribusi hasil masing-masing (didefinisikan oleh kesalahan standar mereka di sekitar rata-rata) akan didistribusikan secara normal. Saya pikir kedua beta. Apa yang akan saling bertemu hanya karena masing-masing akan menjadi lebih kuat atau signifikan secara statistik saat Anda menggunakan N yang lebih besar dan lebih besar M.
Sympa