Làm thế nào để bạn biết liệu màn trình diễn tốt có thành công?


10

Tôi giải quyết các hình khối của Rubik như một sở thích. Tôi ghi lại thời gian tôi cần để giải khối lập phương bằng một số phần mềm và vì vậy bây giờ tôi có dữ liệu từ hàng ngàn giải. Dữ liệu về cơ bản là một danh sách dài các số biểu thị thời gian mà mỗi lần giải tuần tự thực hiện (ví dụ: 22.11, 20.66, 21.00, 18.74, ...)

Thời gian để tôi giải quyết khối lập phương tự nhiên thay đổi phần nào từ giải để giải, do đó, có giải quyết tốt và giải quyết xấu.

Tôi muốn biết liệu tôi có "nóng" hay không - liệu các giải pháp tốt có thành vệt hay không. Ví dụ: nếu tôi vừa có một vài lần giải tốt liên tiếp, nhiều khả năng giải quyết tiếp theo của tôi sẽ tốt?

Loại phân tích nào sẽ phù hợp? Tôi có thể nghĩ ra một vài điều cụ thể cần làm, ví dụ, coi các giải pháp là một quá trình Markov và xem cách một người giải quyết dự đoán tiếp theo và so sánh với dữ liệu ngẫu nhiên, xem các vệt dài nhất liên tiếp giải quyết bên dưới trung vị là bao lâu 100 là và so sánh với những gì sẽ xảy ra trong dữ liệu ngẫu nhiên, v.v. Tôi không chắc những bài kiểm tra này sâu sắc đến mức nào, và tự hỏi liệu có một số cách tiếp cận được phát triển tốt cho loại vấn đề này.

Câu trả lời:


8

Các Wald-Wolfowitz Chạy thử nghiệm dường như là một ứng cử viên có thể, nơi một "chạy" là những gì bạn gọi là "vệt". Nó đòi hỏi dữ liệu nhị phân, vì vậy bạn phải gắn nhãn cho mỗi giải là "xấu" so với "tốt" theo một số ngưỡng - như thời gian trung bình như bạn đề xuất. Giả thuyết khống là "tốt" và "xấu" giải quyết xen kẽ ngẫu nhiên. Một giả thuyết thay thế một phía tương ứng với trực giác của bạn là "tốt" giải quyết kết tụ lại thành từng vệt dài, ngụ ý rằng có ít lần chạy hơn dự kiến ​​với dữ liệu ngẫu nhiên. Kiểm tra thống kê là số lần chạy. Trong 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 

Khi bạn chỉ có một vài quan sát, bạn có thể tính xác suất chính xác cho mỗi số lần chạy theo giả thuyết null. Mặt khác, phân phối "số lần chạy" có thể được xấp xỉ bằng phân phối chuẩn thông thường.

> (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

Giá trị p dành cho giả thuyết thay thế một phía rằng các giải pháp "tốt" có các vệt.


3
Câu trả lời chính xác. Tuy nhiên, tôi không muốn chuyển đổi một biến liên tục thành biến nhị phân. Rất nhiều biến động có ý nghĩa sẽ bị mất.
Jeromy Anglim

@jeromy - nói chung đây là một điểm tốt, nhưng dường như đối với câu hỏi cụ thể này, binning không vứt bỏ nhiều thông tin - đặc biệt là "tốt" và "xấu" chỉ được định nghĩa là một sự phân đôi trong câu hỏi, không phải là một liên tục.
xác suất

@probabilityislogic Tôi hiểu rằng @mark có thể đã vận hành thời gian giải pháp là "tốt" hoặc "xấu" dựa trên khía cạnh nào của ngưỡng thời gian giải pháp. Tuy nhiên, bất cứ nơi nào có ngưỡng, chắc chắn đó là một chút tùy ý. Nếu ngưỡng là 5 phút, chắc chắn 5 phút và 1 giây sẽ không khác nhiều so với 4 phút và 59 giây về "lòng tốt". Tôi tưởng tượng "tốt" và "xấu" là các thể loại mờ liên quan đến thời gian hoàn thành liên tục.
Jeromy Anglim

Nhưng bất kỳ định nghĩa "tốt" và "xấu" là tùy ý - vì bản chất tương đối của những từ đó. Cho dù bạn để "dữ liệu" giải quyết sự mơ hồ, hoặc liệu bạn có tự giải quyết nó hay không, sẽ không làm cho nó trở nên mơ hồ hơn. Và nó có thể là một sự phân biệt rõ ràng như vậy được bảo hành - nếu bạn yêu cầu dưới 5 phút để đủ điều kiện cho trận chung kết trong một cuộc thi. Tôi chắc rằng thẩm phán sẽ không bị ảnh hưởng bởi các cuộc tranh luận kiểu "nhưng chỉ còn 2 giây nữa là đến giờ đủ điều kiện"
xác suất

5

Một vài suy nghĩ:

  • Âm mưu phân phối thời gian. Tôi đoán là họ sẽ bị sai lệch tích cực, do đó một số thời gian giải pháp là rất chậm. Trong trường hợp đó, bạn có thể muốn xem xét một bản ghi hoặc một số chuyển đổi khác của thời gian giải pháp.

  • Tạo một biểu đồ phân tán thử nghiệm trên trục x và thời gian giải pháp (hoặc thời gian giải pháp ghi nhật ký trên trục y). Điều này sẽ cung cấp cho bạn một sự hiểu biết trực quan về dữ liệu. Nó cũng có thể tiết lộ các loại xu hướng khác bên cạnh "vệt nóng".

  • Xem xét liệu có một hiệu ứng học tập theo thời gian. Với hầu hết các câu đố, bạn sẽ nhanh hơn với thực hành. Cốt truyện sẽ giúp tiết lộ liệu đây là trường hợp. Một hiệu ứng như vậy khác với hiệu ứng "vệt nóng". Nó sẽ dẫn đến mối tương quan giữa các thử nghiệm bởi vì khi bạn mới học, các thử nghiệm chậm sẽ cùng xảy ra với các thử nghiệm chậm khác và khi bạn có nhiều kinh nghiệm hơn, các thử nghiệm nhanh hơn sẽ cùng xảy ra với các thử nghiệm nhanh hơn.

  • Xem xét định nghĩa khái niệm của bạn về "các vệt nóng". Ví dụ, nó chỉ áp dụng cho các thử nghiệm gần đúng thời gian hoặc gần về trật tự. Giả sử bạn đã giải quyết khối lập phương một cách nhanh chóng vào thứ ba, và sau đó nghỉ ngơi và vào ngày thứ sáu tiếp theo, bạn đã giải quyết nó một cách nhanh chóng. Đây có phải là một vệt nóng, hay nó chỉ được tính nếu bạn làm điều đó trong cùng một ngày?

  • Có hiệu ứng nào khác có thể khác với hiệu ứng vệt nóng không? Ví dụ, thời gian trong ngày mà bạn giải câu đố (ví dụ: mệt mỏi), mức độ mà bạn đang thực sự cố gắng? Vân vân.

  • Khi các hiệu ứng hệ thống thay thế đã được hiểu, bạn có thể phát triển một mô hình bao gồm càng nhiều trong số chúng càng tốt. Bạn có thể vẽ phần dư trên trục y và dùng thử trên trục x. Sau đó, bạn có thể xem liệu có tương quan tự động trong phần dư trong mô hình hay không. Tương quan tự động này sẽ cung cấp một số bằng chứng về các vệt nóng. Tuy nhiên, một cách giải thích khác là có một số hiệu ứng hệ thống khác mà bạn không loại trừ.


+1 cho phần hệ thống. Tôi nghĩ rằng trong trường hợp này, đó là lời giải thích tốt nhất về các biến thể trong hiệu suất.
mpiktas

2
có thể muốn xem làm thế nào các nhà nghiên cứu đã điều tra câu hỏi này. Một tác phẩm kinh điển là Gilovich, T., Vallone, R. & Tversky, A., Bàn tay nóng bỏng trong bóng rổ: Về sự hiểu lầm về các chuỗi ngẫu nhiên. Tâm lý học nhận thức 17, 295-314 (1985).
dmk38

2

Tính toán tương quan cho quá trình của bạn. Nếu quy trình của bạn là gaussian (theo vẻ ngoài của mẫu của bạn), bạn có thể thiết lập giới hạn dưới / trên (B) và kiểm tra xem các mối tương quan ở độ trễ cho trước có đáng kể hay không. Tự động tương quan tích cực ở độ trễ 1 sẽ cho thấy sự tồn tại của "những vệt may mắn".


2
Tự tương quan tích cực cũng có thể là kết quả của các hiệu ứng hệ thống khác như quá trình học tập. Tôi nghĩ rằng điều quan trọng là phải loại bỏ các hiệu ứng như vậy trước khi diễn giải tương quan tự động là bằng chứng của một "vệt nóng".
Jeromy Anglim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.