Как вы говорите, есть ли хорошие выступления в полосах?

10

Я решаю кубики Рубика как хобби. Я записываю время, которое потребовалось мне для решения куба с помощью некоторого программного обеспечения, и теперь у меня есть данные из тысяч решений. Данные в основном представляют собой длинный список чисел, представляющих время, которое заняло каждое последовательное решение (например, 22.11, 20.66, 21.00, 18.74, ...)

Время, необходимое для решения куба, естественно, несколько отличается от решения до решения, поэтому существуют хорошие и плохие решения.

Я хочу знать, становлюсь ли я "горячим" - хорошие ли решения приходят полосами. Например, если у меня только что было несколько хороших последовательных решений, более ли вероятно, что мое следующее решение будет хорошим?

Какой анализ будет уместным? Я могу подумать о некоторых конкретных вещах, которые нужно сделать, например, рассматривать решения как марковский процесс и видеть, насколько хорошо одно решение предсказывает следующее, и сравнивать со случайными данными, видеть, как долго самые длинные полосы последовательных решений ниже медианы для последнего 100 и сравнивают с тем, что можно было бы ожидать в случайных данных и т. Д. Я не уверен, насколько полезными будут эти тесты, и задаюсь вопросом, существуют ли какие-то хорошо разработанные подходы к решению этой проблемы.

Марк Айхенлауб
источник

Ответы:

8

Wald-Вулфовиц Runs Test представляется возможным кандидатом, где «запустить» является то , что вы называется «полоса». Это требует дихотомических данных, поэтому вам придется пометить каждое решение как «плохое» или «хорошее» в соответствии с некоторым порогом - например, срединное время, как вы предлагали. Нулевая гипотеза состоит в том, что «хорошие» и «плохие» решения чередуются случайным образом. Односторонняя альтернативная гипотеза, соответствующая вашей интуиции, состоит в том, что «хорошо» решает скопление вместе в длинных полосах, подразумевая, что со случайными данными меньше прогонов, чем ожидалось. Тестовая статистика - это количество прогонов. В 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 

Если у вас есть только несколько наблюдений, вы можете рассчитать точные вероятности для каждого числа прогонов в соответствии с нулевой гипотезой. В противном случае распределение «количества прогонов» может быть аппроксимировано стандартным нормальным распределением.

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

Значение p для односторонней альтернативной гипотезы о том, что «хорошие» решения приходят полосами.

каракал
источник
3
Отличный ответ. Однако я не хотел бы преобразовывать непрерывную переменную в двоичную. Много значимой изменчивости будет потеряно.
Джером Энглим
@jeromy - это хорошая точка зрения в целом, но, похоже, для этого конкретного вопроса биннинг не выбрасывает много информации - тем более что «хорошо» и «плохо» определяется только как дихотомия в вопросе, а не как континуум.
вероятностная
@probabilityislogic Я понимаю, что @mark может использовать рабочее время решения как «хорошее» или «плохое» в зависимости от того, на какой стороне некоторого порога находится время решения. Однако, где бы ни находился порог, он, безусловно, немного произвольный. Если бы порог составлял 5 минут, то наверняка 5 минут и 1 секунда не сильно отличались бы от «доброты» 4 минут и 59 секунд. Я полагаю, что «хорошо» и «плохо» являются нечеткими категориями по отношению к продолжительному времени завершения.
Jeromy Anglim
Но любое определение «хорошо» и «плохо» является произвольным - из-за относительной природы этих слов. То, позволяете ли вы «данным» разрешить неоднозначность, или же вы сами решаете их, не делает их более или менее двусмысленными. И, возможно, такое резкое различие оправдано - если вам требуется менее 5 минут, чтобы пройти в финал соревнования. Я уверен , что судья не может находиться под влиянием аргументов рода « но это было только 2 секунды вне квалификационного времени»
probabilityislogic
5

Несколько мыслей:

  • График распределения времени. Я предполагаю, что они будут искажены, так что некоторые времена решения будут действительно медленными. В этом случае вы можете рассмотреть журнал или другое преобразование времени решения.

  • Создайте точечный график испытаний по оси x и времени решения (или зарегистрируйте время решения по оси y). Это должно дать вам интуитивное понимание данных. Это может также выявить другие виды тенденций, помимо "горячей полосы".

  • Подумайте, есть ли эффект обучения с течением времени. С большинством головоломок вы быстрее учитесь. Сюжет должен помочь выяснить, так ли это. Такой эффект отличается от эффекта «горячей полосы». Это приведет к корреляции между испытаниями, потому что, когда вы впервые учитесь, медленные испытания будут происходить вместе с другими медленными испытаниями, и, по мере того, как вы будете становиться более опытными, более быстрые испытания будут сочетаться с более быстрыми испытаниями.

  • Рассмотрим ваше концептуальное определение «горячих полос». Например, это относится только к испытаниям, которые являются приблизительными по времени или о близости заказа. Допустим, во вторник вы быстро решили куб, а затем сделали перерыв, а в следующую пятницу вы решили его быстро. Это горячая полоса, или она считается только в том случае, если вы делаете это в тот же день?

  • Существуют ли другие эффекты, которые могут отличаться от эффекта горячей полосы? Например, время дня, когда вы решаете головоломку (например, усталость), степень, в которой вы действительно стараетесь? и т.п.

  • Как только альтернативные систематические эффекты будут поняты, вы можете разработать модель, которая включает в себя как можно больше из них. Вы можете построить остаток по оси Y и пробный по оси X. Затем вы можете увидеть, есть ли автокорреляции в остатках в модели. Эта автокорреляция обеспечит некоторые признаки горячих полос. Однако альтернативная интерпретация заключается в том, что есть некий систематический эффект, который вы не исключили.

Джером англим
источник
+1 за систематическую часть. Я думаю, что в этом случае это лучшее объяснение различий в производительности.
mpiktas
2
Возможно, вы захотите посмотреть, как исследователи исследовали этот вопрос. Классиком является Гилович Т., Валлоне Р. и Тверский А. Горячая рука в баскетболе: неправильное восприятие случайных последовательностей. Когнитивная психология 17, 295-314 (1985).
dmk38
2

Рассчитайте коррелограмму для вашего процесса. Если ваш процесс является гауссовским (судя по вашему примеру), вы можете установить нижнюю / верхнюю границы (B) и проверить, значимы ли корреляции при данном лаге. Положительная автокорреляция при лаге 1 будет указывать на наличие «полос удачи».


источник
2
Положительная автокорреляция также может быть результатом других систематических эффектов, таких как процесс обучения. Я думаю, что важно удалить такие эффекты, прежде чем интерпретировать автокорреляцию как свидетельство «горячей полосы».
Джером Энглим