Bagaimana Anda memberi tahu apakah penampilan bagus muncul berurutan?

10

Saya memecahkan kubus Rubik sebagai hobi. Saya mencatat waktu yang diperlukan untuk menyelesaikan kubus menggunakan beberapa perangkat lunak, dan sekarang saya memiliki data dari ribuan solusinya. Data pada dasarnya adalah daftar panjang angka yang mewakili waktu setiap pemecahan sekuensial mengambil (mis. 22.11, 20.66, 21.00, 18.74, ...)

Waktu yang saya perlukan untuk menyelesaikan kubus secara alami bervariasi dari satu penyelesaian ke penyelesaian, sehingga ada solves yang baik dan solves buruk.

Saya ingin tahu apakah saya "menjadi panas" - apakah solusinya baik-baik saja. Misalnya, jika saya baru saja menyelesaikan beberapa pemecahan yang baik secara berurutan, apakah lebih mungkin bahwa pemecahan saya berikutnya akan baik?

Analisis seperti apa yang cocok? Saya dapat memikirkan beberapa hal spesifik yang harus dilakukan, misalnya memperlakukan solves sebagai proses Markov dan melihat seberapa baik seseorang memecahkan memprediksi berikutnya dan membandingkan dengan data acak, melihat berapa lama garis terpanjang dari sol berurutan di bawah median untuk yang terakhir 100 dan membandingkan dengan apa yang diharapkan dalam data acak, dll. Saya tidak yakin bagaimana wawasan tes ini, dan bertanya-tanya apakah ada beberapa pendekatan yang dikembangkan dengan baik untuk masalah seperti ini.

Mark Eichenlaub
sumber

Jawaban:

8

Tes Wald-Wolfowitz Runs tampaknya menjadi kandidat yang memungkinkan, di mana "lari" adalah apa yang Anda sebut "garis". Ini membutuhkan data dikotomis, jadi Anda harus memberi label setiap penyelesaian sebagai "buruk" vs "baik" menurut beberapa ambang - seperti waktu rata-rata seperti yang Anda sarankan. Hipotesis nol adalah bahwa "baik" dan "buruk" memecahkan alternatif secara acak. Hipotesis alternatif satu sisi yang sesuai dengan intuisi Anda adalah bahwa "baik" memecahkan rumpun bersama dalam garis panjang, menyiratkan bahwa ada lebih sedikit berjalan daripada yang diharapkan dengan data acak. Statistik uji adalah jumlah proses. Dalam R:

> N      <- 200                          # number of solves
> DV     <- round(runif(N, 15, 30), 1)   # simulate some uniform data
> thresh <- median(DV)                   # threshold for binary classification

# do the binary classification
> DVfac <- cut(DV, breaks=c(-Inf, thresh, Inf), labels=c("good", "bad"))
> Nj    <- table(DVfac)                  # number of "good" and "bad" solves
> n1    <- Nj[1]                         # number of "good" solves
> n2    <- Nj[2]                         # number of "bad" solves
> (runs <- rle(as.character(DVfac)))     # analysis of runs
Run Length Encoding
lengths: int [1:92] 2 1 2 4 1 4 3 4 2 5 ...
values : chr [1:92] "bad" "good" "bad" "good" "bad" "good" "bad" ...

> (nRuns <- length(runs$lengths))        # test statistic: observed number of runs
[1] 92

# theoretical maximum of runs for given n1, n2
> (rMax <- ifelse(n1 == n2, N, 2*min(n1, n2) + 1))
199 

Ketika Anda hanya memiliki beberapa pengamatan, Anda dapat menghitung probabilitas yang tepat untuk setiap jumlah berjalan di bawah hipotesis nol. Kalau tidak, distribusi "jumlah run" dapat didekati dengan distribusi normal standar.

> (muR  <- 1 + ((2*n1*n2) / N))                     # expected value
100.99 

> varR  <- (2*n1*n2*(2*n1*n2 - N)) / (N^2 * (N-1))  # theoretical variance
> rZ    <- (nRuns-muR) / sqrt(varR)                 # z-score
> (pVal <- pnorm(rZ, mean=0, sd=1))                 # one-sided p-value
0.1012055

Nilai-p adalah untuk hipotesis alternatif satu sisi bahwa solusi "baik" muncul berurutan.

caracal
sumber
3
Jawaban yang bagus Namun, saya akan enggan untuk mengubah variabel kontinu menjadi variabel biner. Banyak variabilitas yang berarti akan hilang.
Jeromy Anglim
@ jeromy - ini adalah poin yang baik secara umum, tetapi tampaknya untuk pertanyaan khusus ini, binning tidak membuang banyak informasi - terutama karena "baik" dan "buruk" hanya didefinisikan sebagai dikotomi dalam pertanyaan, bukan sebagai kontinum.
probabilityislogic
@probabilityislogic Saya mengerti bahwa @mark mungkin telah mengoperasionalkan waktu solusi sebagai "baik" atau "buruk" berdasarkan pada sisi mana dari beberapa ambang batas waktu solusi berada. Namun, di mana pun ambang batasnya berada, tentu itu sedikit sewenang-wenang. Jika ambangnya 5 menit, pasti 5 menit dan 1 detik tidak akan berbeda jauh dari 4 menit dan 59 detik dalam "kebaikan". Saya membayangkan "baik" dan "buruk" adalah kategori fuzzy dalam kaitannya dengan waktu penyelesaian yang berkelanjutan.
Jeromy Anglim
Tetapi setiap definisi "baik" dan "buruk" adalah arbitrer - karena sifat relatif dari kata-kata itu. Apakah Anda membiarkan "data" menyelesaikan ambiguitas, atau apakah Anda mengatasinya sendiri, tidak membuatnya lebih atau kurang ambigu. Dan mungkin perbedaan yang tajam itu dijamin - jika Anda membutuhkan di bawah 5 menit untuk lolos ke final dalam suatu kompetisi. Saya yakin hakim tidak akan terpengaruh oleh argumen semacam itu "tapi itu hanya 2 detik di luar waktu kualifikasi"
probabilityislogic
5

Beberapa pemikiran:

  • Alur distribusi waktu. Dugaan saya adalah bahwa mereka akan condong positif, sehingga beberapa waktu solusi sangat lambat. Dalam hal ini Anda mungkin ingin mempertimbangkan log atau transformasi lain dari waktu solusi.

  • Buat plot pencar percobaan pada sumbu x dan waktu solusi (atau waktu solusi log pada sumbu y). Ini akan memberi Anda pemahaman intuitif tentang data. Ini juga dapat mengungkapkan jenis tren lain selain "hot streak".

  • Pertimbangkan apakah ada efek belajar dari waktu ke waktu. Dengan sebagian besar teka-teki, Anda menjadi lebih cepat dengan latihan. Plot harus membantu mengungkapkan apakah ini masalahnya. Efek seperti ini berbeda dengan efek "hot streak". Ini akan menyebabkan korelasi antara uji coba karena ketika Anda pertama kali belajar, uji coba lambat akan terjadi bersama dengan uji coba lambat lainnya, dan saat Anda semakin berpengalaman, uji coba yang lebih cepat akan terjadi bersama dengan uji coba yang lebih cepat.

  • Pertimbangkan definisi konseptual Anda tentang "hot streaks". Misalnya, apakah itu hanya berlaku untuk uji coba yang terdekat dalam waktu atau tentang kedekatan pesanan. Katakanlah Anda memecahkan kubus dengan cepat pada hari Selasa, dan kemudian beristirahat dan pada hari Jumat berikutnya Anda memecahkannya dengan cepat. Apakah ini garis panas, atau apakah itu hanya berarti jika Anda melakukannya pada hari yang sama?

  • Apakah ada efek lain yang mungkin berbeda dari efek hot streak? Misalnya, waktu Anda memecahkan teka-teki (misalnya, kelelahan), sejauh mana Anda benar-benar berusaha keras? dll.

  • Setelah efek sistematis alternatif telah dipahami, Anda dapat mengembangkan model yang memasukkan sebanyak mungkin dari mereka. Anda dapat memplot residual pada sumbu y dan mencoba pada sumbu x. Kemudian Anda bisa melihat apakah ada korelasi otomatis dalam residual dalam model. Korelasi otomatis ini akan memberikan beberapa bukti hot streaks. Namun, interpretasi alternatif adalah bahwa ada beberapa efek sistematis lain yang belum Anda kecualikan.

Jeromy Anglim
sumber
+1 untuk bagian sistematis. Saya pikir dalam hal ini adalah penjelasan terbaik tentang variasi dalam kinerja.
mpiktas
2
mungkin ingin melihat bagaimana para peneliti menyelidiki pertanyaan ini. Klasik adalah Gilovich, T., Vallone, R. & Tversky, A., The hot hand in basketball: Tentang kesalahan persepsi tentang urutan acak. Psikologi Kognitif 17, 295-314 (1985).
dmk38
2

Hitung korelasiogram untuk proses Anda. Jika proses Anda adalah gaussian (berdasarkan sampel Anda), Anda dapat menetapkan batas bawah / atas (B) dan memeriksa apakah korelasi pada lag yang diberikan signifikan. Autokorelasi positif pada lag 1 akan menunjukkan adanya "coretan keberuntungan".


sumber
2
Autokorelasi positif juga dapat dihasilkan dari efek sistematis lainnya seperti proses pembelajaran. Saya pikir penting untuk menghilangkan efek seperti itu sebelum menafsirkan korelasi-otomatis sebagai bukti "hot streak".
Jeromy Anglim