Apa cara untuk berurusan dengan kovariat sirkuler (misalnya dengan GAM)?


8

Saya sedang membangun model di mana beberapa kovariat saya hidup pada "lingkaran", dalam arti bahwa mereka mengambil nilai dalam interval [0,1), dan 0 = 1. Saya bertanya-tanya tentang teknik untuk menghadapi situasi ini. Satu ide adalah untuk mewakili theta variabel lingkaran sebagai pasangan variabel (sin (theta), cos (theta)). Adakah pemikiran tentang pendekatan ini atau pendekatan yang lebih baik?

Saya secara khusus menggunakan paket GAM mgsv. Apakah ada cara untuk memberi tahu model bahwa potongan aditif tertentu harus memiliki nilai yang sama di titik akhir? Paket lain?

Terima kasih!


2
Saya hanya pernah melihat sinus dan kosinus seperti yang telah Anda sebutkan, berikut adalah pertanyaan lain di situs yang menanyakan pertanyaan serupa, Regresi logistik dengan data arah sebagai IV . Dalam pertanyaan ini di atas pada SO Iterator memiliki komentar yang menunjuk ke sebuah circularpaket yang mungkin menarik. Semoga tanggapan Anda lebih baik.
Andy W

2
@Andy sinus dan cosinus bukan satu-satunya basis, juga bukan satu-satunya basis ortogonal, untuk fungsi periodik (persegi-integrable). Salah satu kelebihan mereka adalah bahwa teori fisik sering kali melibatkan mereka dalam hubungan dengan variabel lain. Ini menunjukkan bahwa kita harus benar-benar tertarik pada hubungan yang dihipotesiskan atau yang diharapkan antara DV dan kovariat ini. DavidR, apa yang bisa Anda ceritakan tentang ini?
whuber

Saya mencoba memodelkan proses temporal berkala. Data asli saya adalah tanggal dan waktu acara, dan saya ingin memodelkan laju acara ini dari waktu ke waktu. Saya berharap akan ada periodisitas berkenaan dengan jam, hari-minggu, dan waktu-tahun, untuk pemula. Ini adalah variabel lingkaran yang jelas. Saya mulai dengan Poisson-GAM. Saya tertarik meneliti efek masing-masing secara terpisah, serta membuat prediksi tingkat untuk masa depan.
DavidR

Jawaban:


6

Ada dua cara berurusan dengan variabel melingkar, satu metode hacky akan secara manual menduplikasi set data Anda di kedua sisi kondisi batas tetapi solusi yang lebih elegan saya pikir akan menggunakan fungsi basis spline built-in dengan kondisi batas periodik !

Sebagai contoh:

bs="cc"menentukan splines regresi kubik siklik (lihat cyclic.cubic.spline). yaitu splines regresi kubik dihukum yang ujungnya cocok, hingga turunan kedua.

Splines pada sphere

bs="sos". Ini adalah dua splines dimensi pada sphere. Argumen adalah garis lintang dan bujur, dan mereka adalah analog dari splines pelat tipis untuk bola. Berguna untuk data sampel di sebagian besar bola dunia, saat isotropi sesuai. Lihat Spherical.Splinedetailnya.

bs="cp" memberikan versi siklik dari P-spline


Kedengarannya sempurna! Saya akan coba ini. Saya telah memikirkan metode hacky, tetapi karena saya memiliki banyak variabel melingkar, saya berpikir saya harus membuat sejumlah besar data duplikat poin untuk menunjukkan semua simetri yang berbeda dalam masalah.
DavidR

@ DavidVR Saya telah berhasil menggunakan splines kubik melingkar untuk fenomena frekuensi rendah. Anda cukup perlu mewakili frekuensi tertinggi yang ingin Anda modelkan. Itu akan mengesampingkan periode jam dan harian, tetapi mungkin bekerja dengan baik untuk musiman. Untuk dua mantan, kekikiran menyarankan dimulai dengan dasar kecil seperti sinus dan cosinus untuk setiap frekuensi yang diharapkan.
whuber

@whuber, saya pikir Anda salah memahami pendekatan pemodelan DavidR. David menggunakan variabel terpisah untuk jam, hari dalam seminggu dll. Jadi dia akan menerapkan spline terpisah untuk masing-masing. (Akan menyambut pikiran Anda ketika saya melakukan sesuatu yang serupa)
seanv507

Whuber, saya setuju dengan poin Anda bahwa misalnya memodelkan belanja yang lebih berat di bulan Desember akan membutuhkan spline pesanan tinggi pada variabel bulan.
seanv507

0

Anda mungkin ingin melihat ke Gill dan Hangartner (2010). Data Edaran dalam Ilmu Politik dan Cara Menanganinya . Mereka berbicara tentang berbagai model untuk data lingkaran / jam / musiman, dan Jeff Gill memberikan kode R untuk makalah yang dapat Anda lihat sebagai inspirasi. Seharusnya ada versi presentasi dari materi ini yang akan menenun metodologi dan kode R bersama-sama.


Terima kasih atas penunjuk ini ke dalam literatur tentang data sirkuler. Sepertinya ini adalah titik awal yang baik. Saya dengan cepat membaca sekilas artikel khusus ini, dan sepertinya membahas tanggapan lingkaran, bukan kovariat sirkular.
DavidR
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.