Seri waktu biner

8

Saya memiliki seri waktu biner: Kami memiliki 2160 data (0 = tidak terjadi, 1 = terjadi) untuk periode satu jam dalam 90 hari.

masukkan deskripsi gambar di sini

Saya ingin memperkirakan setelah 90 hari ini, di mana 1 berikutnya akan terjadi, dan juga Perpanjang ketentuan ini untuk satu bulan ke depan.

amin abdolahnejad
sumber
1
Bisakah Anda menggambarkan data Anda secara lebih rinci? Peristiwa apa yang digambarkannya? Apa yang diketahui tentang proses yang menghasilkan data (misalnya, bisakah kita mengharapkan semacam musiman atau pola)? Bisakah Anda memposting data Anda sebagai contoh?
Tim
Saya punya penelitian tentang aksen di tempat tertentu.1 adalah apakah kita mengalami kecelakaan dalam interval satu jam, dan 0 sebaliknya. kita ingin memprediksi kecelakaan selanjutnya.
amin abdolahnejad
2
Apakah Anda mengatakan Anda ingin meramalkan berapa lama hingga kecelakaan berikutnya, atau Anda ingin memperkirakan bagaimana kemungkinan kecelakaan akan berubah / tidak berubah selama periode waktu berikutnya?
gung - Reinstate Monica
Anda perlu memberi tahu kami lebih banyak tentang data, dan asumsi yang ingin Anda buat. Apa proses yang mendasarinya? Apakah perlahan-lahan berubah seiring waktu? Apakah itu diam? Apakah itu memiliki memori yang terbatas?
Memming
kami memiliki periode jam per jam dalam 90 hari data 2160 itu. saya ingin memprediksi periode 2161 hingga 2880 jam demi jam yang berarti 30 hari ke depan. saya ingin memperkirakan kapan kecelakaan berikutnya akan terjadi yang telah kami siapkan untuk itu .
amin abdolahnejad

Jawaban:

6

Salah satu pendekatan mungkin mengasumsikan bahwa urutan Bernoulli dapat dijelaskan oleh variabel acak Normal laten menggunakan transformasi Probit. Itu adalah kesadaran AndaXtBernHaikamullsaya(halt) dimana haltΦ-1(Yt) dan YN(μ,Σ). Dengan cara ini Anda dapat menempatkan struktur deret waktu (misalnya ARIMA) apa pun yang Anda suka diYvariabel dan kemudian menggunakan teknik deret waktu standar untuk memprediksi pengamatan di masa depan (misalnya Holt-Winters). Seharusnya dimungkinkan untuk membuat kode seperti ini di Stan atau JAGS, tetapi Anda mungkin tidak mendapatkan prediksi yang bagus mengingat "kaca gelap" melihat proses Bernoulli memberi Anda status laten.

Dalton Hance
sumber
1

Model paling sederhana adalah regresi linier. Anda dapat memplot data Anda menggunakan ggplot:

#for reproducing
set.seed(200)
#simple example. Assume your data is simple binomial variable with probability 0.3
data <- data.frame(time = 1:200, val=sample(c(0,1), size = 200, replace = T, prob = c(0.3, 0.7)))

#plot using ggplot and add linear regression and confidence interval
ggplot(data, aes(x = time, y=val)) + geom_smooth(method=lm) +geom_point()

#Now we can try to create linear regression
y = data$time
    x = data$val
fitData <- lm(x ~ y)
predict(fitData, newdata = data.frame(y=201:224), interval="confidence")

Ini adalah model paling sederhana, ada model non-linear lainnya, yang mungkin lebih cocok dengan data Anda. Juga, ingatlah bahwa Anda mungkin harus menggunakan log tanggal, agar lebih bugar. Pada regresi non-linear seperti regresi polinomial Anda dapat membaca banyak di sini

Sekarang, ini membutuhkan analisis tambahan, tetapi penting untuk memastikan apakah acara Anda independen. Ada kemungkinan, bahwa ada semacam variabel pengganggu yang mungkin tidak Anda pertanggungjawabkan. Anda mungkin ingin melihat regresi linear Bayesian (mengingat Anda memperoleh lebih banyak dimensi daripada hanya waktu dan nilai ya / tidak) di sini

Zakkery
sumber
tnx untuk jawaban Anda. pertama saya ingin memprediksi jam demi jam untuk hari berikutnya, jam demi jam untuk minggu depan dan hor demi jam untuk bulan depan.
amin abdolahnejad
itu tidak bisa linier reg. kami memiliki kode biner dan model polinomial sampai tingkat 7 tidak bisa memberikan kita cocok. kita harus fokus pada model biner. bagaimana dengan model markov? model markov tersembunyi? jika kita memiliki kemungkinan kecelakaan dalam setiap jam di bulan depan, itu bisa bermanfaat.
amin abdolahnejad
3
Variabel respon adalah binomial. Regresi linier mengasumsikan kesalahan normal. Regresi linier juga tidak membahas potensi autokorelasi dalam serangkaian waktu. Meskipun mungkin pendekatan orde pertama yang bermanfaat, ini bukan pendekatan terbaik.
Dalton Hance
1
Itu komentar yang bagus. Bagaimana kalau kemudian mengambil deret waktu itu, mengelompokkan data berdasarkan jam sehari (misalnya) dan kemudian mengambil rata-rata itu? Mengingat itu adalah variabel acak yang terdistribusi secara identik, bukankah kita seharusnya mendapatkan nilai yang diharapkan, karena CLT? Saya tidak yakin apakah itu dapat digunakan sebagai prediktor, tetapi tentu saja akan memberikan perkiraan yang baik tentang kemungkinan kecelakaan terjadi pada jam tertentu.
Zakkery
1
Saya kira jika Anda berpikir ada pola periodik untuk data yang dijelaskan oleh jam sehari, maka pendekatan itu mungkin berhasil. Misalnya jika datanya miripXt=1 jika saya makan (sarapan, makan siang, atau makan malam), dan 0 sebaliknya. Tapi itu tidak terlihat seperti kasus dari plot. Tidak ada banyak bukti periodisitas, melainkan ada rentang panjang dari 1 diikuti oleh 1 (blok biru) dan panjang 0 diikuti oleh 0.
Dalton Hance
1

Data kecelakaan? Saya akan mulai dengan mengasumsikan ada musiman musiman dan musiman harian. Tanpa mengetahui jenis kecelakaannya, mungkin Anda dapat melihat pengumpulan setiap jam Senin hingga Jumat, dan menangani setiap jam untuk hari Sabtu dan Minggu secara terpisah, sehingga Anda memiliki 3 kumpulan jam, 24 (Senin-Jumat), 24 (Sabtu) dan 24 (Matahari).

Pengurangan data lebih lanjut mungkin dilakukan, tetapi dengan asumsi tidak, ambil saja rata-rata. Misalnya, rata-rata untuk hari Minggu jam 3 sore mungkin 0,3 (kemungkinan 30% kecelakaan). Rata-rata untuk 4 sore mungkin 0,2, dan seterusnya.

Probabilitas tidak ada kecelakaan yang terjadi pada jam 3 sore atau 4 sore adalah (1-.3) (1-.2) = .56, sehingga probabilitas mengalami kecelakaan dalam dua jam ini adalah 0,44, dan seterusnya.

Ini sepertinya tempat yang bagus dan sederhana untuk memulai.

zbicyclist
sumber