Como você sabe se as boas performances aparecem em estrias?

10

Eu resolvo os cubos de Rubik como um hobby. Registro o tempo que levou para resolver o cubo usando algum software e agora tenho dados de milhares de soluções. Os dados são basicamente uma longa lista de números que representam o tempo que cada resolução seqüencial levou (por exemplo, 22.11, 20.66, 21.00, 18.74, ...)

O tempo que levo para resolver o cubo varia naturalmente de resolver para resolver, portanto, existem boas e más soluções.

Quero saber se "esquento" - se as boas soluções surgem estrias. Por exemplo, se eu tiver apenas algumas boas soluções consecutivas, é mais provável que minha próxima solução seja boa?

Que tipo de análise seria apropriada? Eu posso pensar em algumas coisas específicas a fazer, por exemplo, tratar as soluções como um processo de Markov e ver quão bem uma solução prediz a próxima e comparar com dados aleatórios, ver quanto tempo as faixas mais longas de consecutivas resolvem abaixo da mediana durante o último 100 são e comparando com o que seria esperado em dados aleatórios, etc. Não tenho certeza de quão perspicazes esses testes seriam e me pergunto se existem algumas abordagens bem desenvolvidas para esse tipo de problema.

Mark Eichenlaub
fonte

Respostas:

8

O teste de Wald-Wolfowitz Runs parece ser um possível candidato, onde uma "corrida" é o que você chama de "sequência". Requer dados dicotômicos, portanto, você deve rotular cada solução como "ruim" vs. "boa" de acordo com algum limite - como o tempo médio, como sugerido. A hipótese nula é que as soluções "boa" e "ruim" se alternam aleatoriamente. Uma hipótese alternativa unilateral correspondente à sua intuição é que "bom" resolve agrupar-se em faixas longas, implicando que há menos execuções do que o esperado com dados aleatórios. Estatística de teste é o número de execuções. Em 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 

Quando você tem apenas algumas observações, pode calcular as probabilidades exatas para cada número de execuções sob a hipótese nula. Caso contrário, a distribuição do "número de execuções" pode ser aproximada por uma distribuição normal padrão.

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

O valor p refere-se à hipótese alternativa unilateral de que soluções "boas" vêm em faixas.

caracal
fonte
3
Ótima resposta. No entanto, eu relutaria em converter uma variável contínua em uma binária. Muita variabilidade significativa seria perdida.
Jeromy Anglim
@jeromy - este é um bom ponto em geral, mas parece que para esta pergunta específica, o binning não descarta muita informação - especialmente porque "bom" e "ruim" são definidos apenas como uma dicotomia na pergunta, não como uma continuum.
probabilityislogic
@probabilityislogic Entendo que a @mark pode ter operacionalizado o tempo da solução como "bom" ou "ruim", com base em que lado de algum limite fica o tempo da solução. No entanto, onde quer que o limiar esteja situado, certamente é um pouco arbitrário. Se o limite fosse de 5 minutos, certamente 5 minutos e 1 segundo não difeririam muito de 4 minutos e 59 segundos em "bondade". Imagino que "bom" e "ruim" são categorias imprecisas em relação ao tempo de conclusão contínuo.
Jeromy Anglim
Mas qualquer definição de "bom" e "ruim" é arbitrária - devido à natureza relativa dessas palavras. Se você permite que "os dados" resolvam a ambiguidade, ou você mesmo os resolve, não a torna mais ou menos ambígua. E pode ser que haja uma distinção tão acentuada - se você precisar de menos de 5 minutos para se qualificar para a final de uma competição. Tenho certeza que o juiz não vai ser influenciado por argumentos do tipo "mas foi apenas 2 segundos fora do tempo de qualificação"
probabilityislogic
5

Algumas reflexões:

  • Traçar a distribuição dos tempos. Meu palpite é que eles serão distorcidos positivamente, de modo que alguns tempos de solução sejam realmente lentos. Nesse caso, convém considerar um log ou alguma outra transformação dos tempos da solução.

  • Crie um gráfico de dispersão de avaliação no eixo xe tempo de solução (ou registre o tempo de solução no eixo y). Isso deve fornecer uma compreensão intuitiva dos dados. Também pode revelar outros tipos de tendências além do "hot streak".

  • Considere se há um efeito de aprendizado ao longo do tempo. Na maioria dos quebra-cabeças, você fica mais rápido com a prática. A trama deve ajudar a revelar se esse é o caso. Esse efeito é diferente de um efeito "hot streak". Isso levará à correlação entre os ensaios, porque quando você estiver aprendendo pela primeira vez, os ensaios lentos co-ocorrerão com outros estudos lentos e, à medida que você for mais experiente, estudos mais rápidos co-ocorrerão com estudos mais rápidos.

  • Considere sua definição conceitual de "faixas quentes". Por exemplo, isso se aplica apenas a ensaios que se aproximam no tempo ou se aproximam da ordem. Digamos que você resolveu o cubo rapidamente na terça-feira e depois fez uma pausa e na sexta-feira seguinte você o resolveu rapidamente. Essa é uma sequência quente ou conta apenas se você a fizer no mesmo dia?

  • Existem outros efeitos que podem ser distintos de um efeito de raia quente? Por exemplo, hora do dia em que você resolve o quebra-cabeça (por exemplo, fadiga), em que grau está realmente se esforçando? etc.

  • Depois que os efeitos sistemáticos alternativos forem compreendidos, você poderá desenvolver um modelo que inclua o maior número possível. Você pode plotar o resíduo no eixo y e tentar no eixo x. Depois, você pode ver se há correlações automáticas nos resíduos no modelo. Essa correlação automática forneceria algumas evidências de faixas quentes. No entanto, uma interpretação alternativa é que há algum outro efeito sistemático que você não excluiu.

Jeromy Anglim
fonte
+1 para parte sistemática. Penso que, neste caso, é a melhor explicação para as variações no desempenho.
mpiktas
2
talvez queira ver como os pesquisadores investigaram essa questão. Um clássico é Gilovich, T., Vallone, R. & Tversky, A., A mão quente no basquete: sobre a percepção errônea de seqüências aleatórias. Cognitive Psychology 17, 295-314 (1985).
dmk38
2

Calcule o correlograma para o seu processo. Se o seu processo é gaussiano (pela aparência da sua amostra), você pode estabelecer limites inferior / superior (B) e verificar se as correlações em um determinado atraso são significativas. A autocorrelação positiva no atraso 1 indicaria a existência de "riscos de sorte".


fonte
2
A autocorrelação positiva também pode resultar de outros efeitos sistemáticos, como um processo de aprendizagem. Eu acho que é importante remover esses efeitos antes de interpretar a correlação automática como evidência de uma "onda quente".
Jeromy Anglim