Apa beberapa praktik standar untuk membuat set data sintetis?

26

Sebagai konteks: Ketika bekerja dengan kumpulan data yang sangat besar, saya terkadang ditanya apakah kita dapat membuat kumpulan data sintetis di mana kita "mengetahui" hubungan antara prediktor dan variabel respons, atau hubungan di antara para prediktor.

Selama bertahun-tahun, saya sepertinya menghadapi set data sintetis satu kali, yang sepertinya dibuat secara ad hoc, atau lebih banyak set data terstruktur yang tampaknya sangat menguntungkan untuk metode pemodelan yang diusulkan peneliti.

Saya percaya bahwa saya lebih mencari metode standar untuk membuat set data sintetis. Meskipun bootstrap resampling adalah salah satu metode umum untuk membuat set data sintetis, itu tidak memenuhi syarat bahwa kita tahu struktur apriori . Selain itu, bertukar sampel bootstrap dengan orang lain pada dasarnya membutuhkan pertukaran data, bukan metode menghasilkan data.

Jika kita dapat menyesuaikan distribusi parametrik dengan data, atau menemukan model parametrized yang cukup dekat, maka ini adalah salah satu contoh di mana kita dapat menghasilkan set data sintetis.

Apa metode lain yang ada? Saya terutama tertarik pada data dimensi tinggi, data jarang, dan data deret waktu. Untuk data dimensi tinggi, saya akan mencari metode yang dapat menghasilkan struktur (misalnya struktur kovarian, model linier, pohon, dll.) Yang menarik. Untuk data deret waktu, dari distribusi melalui FFT, model AR, atau berbagai model penyaringan atau perkiraan lainnya sepertinya merupakan permulaan. Untuk data jarang, mereproduksi pola sparsity tampaknya berguna.

Saya percaya ini hanya menggores permukaan - ini adalah heuristik, bukan praktik formal. Apakah ada referensi atau sumber daya untuk menghasilkan data sintetis yang harus diketahui oleh praktisi?


Catatan 1: Saya menyadari bahwa pertanyaan ini membahas literatur tentang bagaimana seseorang dapat menghasilkan data seperti model deret waktu tertentu. Perbedaannya di sini adalah pada praktik, terutama untuk menunjukkan struktur yang diketahui (pertanyaan saya), versus kesamaan / kesetiaan dengan set data yang ada. Dalam kasus saya, tidak perlu memiliki kesamaan, sebanyak struktur yang diketahui, meskipun kesamaan lebih disukai daripada ketidaksamaan. Set data sintetis eksotis yang modelnya menunjukkan janji lebih disukai daripada simulasi yang realistis.

Catatan 2: Entri Wikipedia untuk data sintetis menunjukkan bahwa tokoh-tokoh seperti Rubin dan Fienberg telah mengatasi masalah ini, meskipun saya belum menemukan referensi tentang praktik terbaik. Akan menarik untuk mengetahui apa yang akan diterima dengan, katakanlah, Annals of Applied Statistics (atau AOS), atau dalam karya review di jurnal ini atau lainnya. Dalam istilah sederhana dan aneh, orang mungkin bertanya di mana ambang antara "(dapat diterima) dimasak" dan "terlalu matang" ada?

Catatan 3: Meskipun tidak mempengaruhi pertanyaan, skenario penggunaan adalah dalam pemodelan set data yang besar, berdimensi tinggi, di mana agenda penelitian adalah untuk mempelajari (baik oleh manusia dan mesin ;-)) struktur data. Tidak seperti skenario univariat, bivariat, dan dimensi rendah lainnya, struktur tidak mudah disimpulkan. Saat kami melangkah menuju pemahaman yang lebih baik tentang struktur, kemampuan untuk menghasilkan set data dengan properti yang serupa adalah menarik untuk melihat bagaimana metode pemodelan berinteraksi dengan data (misalnya untuk memeriksa stabilitas parameter). Meskipun demikian, panduan lama pada data sintetis dimensi rendah dapat menjadi titik awal yang dapat diperpanjang atau disesuaikan untuk set data dimensi yang lebih tinggi.

Iterator
sumber

Jawaban:

7

Saya tidak yakin ada yang praktek standar untuk menghasilkan data sintetik - itu digunakan begitu berat dalam banyak aspek yang berbeda dari penelitian bahwa data tujuan-dibangun tampaknya menjadi pendekatan yang lebih umum dan bisa dibilang lebih masuk akal.

Bagi saya, praktik standar terbaik saya adalah tidak membuat set data sehingga akan bekerja dengan baik dengan model. Itu bagian dari tahap penelitian, bukan bagian dari tahap pembuatan data. Sebagai gantinya, data harus dirancang untuk mencerminkan proses pembuatan data . Sebagai contoh, untuk studi simulasi dalam Epidemiologi, saya selalu mulai dari populasi hipotetis besar dengan distribusi yang diketahui, dan kemudian mensimulasikan studi sampel dari populasi itu, daripada menghasilkan "populasi studi" secara langsung.

Misalnya, berdasarkan diskusi kami di bawah ini, dua contoh data simulasi yang saya buat:

  • Agak mirip dengan contoh SIR-model Anda di bawah ini, saya pernah menggunakan model matematika penyebaran penyakit melalui jaringan untuk menunjukkan diri saya melalui simulasi bahwa parameter konstan tertentu tidak selalu menyiratkan bahaya konstan jika Anda memperlakukan hasilnya sebagai hasilnya dari studi kohort. Itu adalah bukti konsep yang berguna ketika saya menggali solusi analitis.
  • Saya ingin mengeksplorasi dampak dari skema pengambilan sampel tertentu untuk studi kasus-kontrol. Alih-alih mencoba untuk menghasilkan studi secara langsung, saya berjalan melalui setiap langkah proses. Populasi 1.000.000 orang, dengan prevalensi penyakit yang diketahui dan pola kovariat yang diketahui. Kemudian dari itu mensimulasikan proses pengambilan sampel - dalam hal ini, bagaimana kasus dan kontrol diambil dari populasi. Baru saat itulah saya melempar model statistik yang sebenarnya di "studi simulasi" yang dikumpulkan.

Simulasi seperti yang terakhir sangat umum ketika memeriksa dampak dari metode perekrutan studi, pendekatan statistik untuk mengendalikan kovariat, dll.

Fomite
sumber
Terimakasih telah menjawab. Namun, berdasarkan apa yang saya ketahui tentang epidemiologi, lebih banyak yang telah dilakukan dalam mengembangkan model stokastik yang cukup berguna, terutama model SIR. Ini tidak benar di banyak domain lain, meskipun mampu mengembangkan model data stokastik yang dapat diterima dengan cepat adalah bagian dari niat saya.
Iterator
@Iterator Itu sangat tergantung pada di mana Anda berada, dan aspek epidemiologi apa yang Anda bicarakan. Seorang ahli epidemiologi kanker, misalnya, akan terkejut mendengar bahwa "lebih banyak" telah dilakukan dengan model SIR - mereka mungkin tidak pernah menemukan satu pun dalam pekerjaan mereka. Sementara model tipe SIR adalah aspek dari bagian tertentu dari epidemiologi ( Epi penyakit menular, dan bahkan kemudian, bahkan bukan bagian besar ID Epi), Epidemiologi sebagai bidang membuat penggunaan luar biasa dari model statistik, terutama model linier umum, kelangsungan hidup analisis dan deret waktu.
Fomite
Wah Tidak bermaksud menyinggung, saya hanya menyatakan bahwa model SIR adalah contoh yang sangat baik dari model penghasil data standar. Tentu saja saya sadar bahwa ada area epi lain yang menggunakan seluruh spektrum metode pemodelan. Jika Anda memiliki beberapa petunjuk atau referensi tentang metode penghasil data lain yang digunakan dalam epidemiologi, saya cukup terbuka untuk mereka.
Iterator
1
@Iterator Maaf jika saya memberi kesan saya tersinggung. Sangat tidak;). Itu hanya sesuatu yang saya dapatkan karena saya duduk persegi di persimpangan antara epi matematika dan epidemiologi pengamatan, dan orang-orang di satu daerah terperangah dengan daerah lain yang ada. Saya akan mengedit jawaban saya dengan contoh jenis non-SIR.
Fomite
2

Paket statistik R memiliki fungsi simulasi yang akan mensimulasikan data berdasarkan model yang sesuai dengan data yang ada. Ini menggunakan model yang cocok sebagai hubungan populasi "diketahui", kemudian mensimulasikan data baru berdasarkan model itu. Ada metode untuk fungsi ini dalam paket lme4. Objek yang dipasang ini dapat memperhitungkan efek dan korelasi acak dan tetap (termasuk autokorelasi untuk deret waktu).

Ini mungkin berhasil, lakukan apa yang Anda inginkan.

Greg Snow
sumber
Terima kasih untuk sarannya. Fungsi ini tentu berguna, meskipun minat saya lebih pada praktik statistik dan metodologi daripada kode untuk solusi tertentu. Ini mirip dengan menanyakan tentang metode pengambilan sampel atau analisis yang dapat direproduksi, daripada paket tertentu yang menerapkan metode dan analisis tersebut. Meskipun demikian, metode yang baik harus menjadi paket. :)
Iterator