Я подгоняю психометрическую функцию к ряду данных. Большая часть этих данных поддается сигмоидальной подгонке (т. е. участники могут выполнить задание), но некоторые люди абсолютно не в состоянии выполнить задание. Я планирую сравнить наклоны, полученные в разных условиях, но я уперся в стену с данными о невозможности выполнения задачи.
Применив функцию к этим данным, наклон должен быть почти плоским, верно? Однако данные действительно зашумлены, и происходит какая-то странная подгонка — в итоге я получаю ошибочно высокие наклоны. Я использую pypsignifit, параметры, которые я использую, можно увидеть ниже. Любая идея, как остановить это происходит?
num_of_block = 7
num_of_trials = 20
stimulus_intensities=[3, 7, 13, 20, 27, 32, 39] # stimulus levels
percent_correct=[.38, .75, .6, .43, .7, .65, .43] # percent correct sessions 1-3
num_observations = [num_of_trials] * num_of_block # observations per block
data= np.c_[stimulus_intensities, percent_correct, num_observations]
nafc = 1
constraints = ('unconstrained', 'unconstrained', 'unconstrained', 'Beta(2,20)' )
boot = psi.BootstrapInference ( data, core='ab', sigmoid='gauss', priors=constraints, nafc=nafc )
boot.sample(2000)
print 'pse', boot.getThres(0.5)
print 'slope', boot.getSlope()
print 'jnd', (boot.getThres(0.75)-boot.getThres(0.25))
То, что вы ищете, называется моделью иерархических, многоуровневых или случайных эффектов. В вашем конкретном случае решением является иерархическая логистическая регрессия.
Предполагать это ответ субъекта на суде и является зависимой переменной, тогда простая иерархическая модель, которая решает вашу проблему:
куда - значение населения наклона и является оценкой предметного уровня. Грубо, является средневзвешенным значением всех где вес каждого обратно пропорциональна дисперсии оценки . Для получения более подробной информации об иерархической логистической регрессии и расширениях простой модели, которые я предложил выше, обратитесь к главе 14 в книге Gelman & Hill (2006).
Применив функцию к этим данным, наклон должен быть почти плоским, верно?
Нет. Наклон должен быть неопределенным . Плоский склон выглядит иначе, скажем . Соответствующая оценка должен показывать широкий интервал, чтобы вы не могли сделать вывод, что или же или же (как вы предложили).
Как иерархическая модель справится с такой неопределенностью? ? Этот мало влияет на оценку . Вместо для этого конкретного предмета будет тянуться к . Иерархическая модель эффективно скажет вам, что, если ваши данные неубедительны, она просто предполагает, что субъект является типичным представителем населения (то есть, если были оценены надежно) и отбросить ошибочные данные.
Литература: Гельман, А., и Хилл, Дж. (2006). Анализ данных с использованием регрессионных и многоуровневых/иерархических моделей . Издательство Кембриджского университета.
Суть дела заключается в том, что 60% ответов «да», не зависящих от уровня стимула (т. е. проблемных данных), могут возникать как у чрезвычайно чувствительного субъекта (т. е. крутого склона) с умеренным уклоном, так и с большой ошибкой. скорость и чрезвычайно нечувствительный объект (т. е. пологий наклон) с умеренным смещением и низкой скоростью градиента. Для ваших данных соответствие крутого склона/высокой скорости градиента немного лучше, чем пологого наклона/низкой скорости градиента, когда ваш априор скорости градиента основан на бета-распределении. Я предполагаю, что если вы использовали равномерный априор для скорости градиента и, возможно, для скорости угадывания, это приведет к лучшей подгонке пологого наклона. Я бы попробовал что-то вроде «Униформа (0,0.1)».
Х.Мюстер
Лузер
Х.Мюстер
Лузер
Х.Мюстер
Лузер
Х.Мюстер
Лузер
Офри Равив
Йенс Курос
Физз