Я измеряю наличие ответа в измерениях сигнала клетки. Сначала я применил алгоритм сглаживания (Hanning) к временным рядам данных, а затем обнаружил пики. Что я получаю, это:
Если бы я хотел сделать обнаружение ответа более объективным, чем «да, вы видите повышение в непрерывном падении», какой подход был бы лучшим? Это чтобы получить расстояние от пиков от базовой линии, определяемое линейной регрессией?
(Я программист на Python и почти не разбираюсь в статистике)
Спасибо
Ответы:
Похоже, из вашего комментария от 25 октября вы заинтересованы в том, чтобы алгоритмически найти и охарактеризовать две основные характеристики: начальный спад отклика, затем цикл повышенного отклика и последующее затухание. Я предполагаю, что данные наблюдаются в дискретных временных интервалах.
Вот что я бы попробовал:
На этом этапе вы будете иметь значения времени, связанные с
а. начало первоначального распада
б. начало подъема
с. начало второго распада
Затем вы можете делать то, что вы хотите, аналитически, чтобы оценить изменения.
Лучше всего позволить данным говорить самим за себя: для нескольких серий, когда вы применяете этот метод, каково типичное изменение размера при подъеме, когда оно обычно происходит в период затухания и как долго оно длится? И как выглядит распределение этого подъема с точки зрения того, где, насколько оно велико и как долго? Зная эти статистические данные, вы можете лучше охарактеризовать конкретный подъем как находящийся в пределах допуска, с точки зрения того, где во времени он происходит, а также его размера и продолжительности. Ключом от моего понимания было бы легко определить, где происходят эти изменения. Остальное из того, что я описал, просто подсчитать.
источник
Вот несколько идей, но я не могу понять, что может сработать ...
Производные: если вы берете свой массив и вычитаете элементы друг из друга, чтобы получить массив на одну точку меньше, но это первая производная. Если вы теперь сгладите это и посмотрите на изменение знака, это может обнаружить ваш удар.
Скользящие средние: возможно, использование 2-х запаздывающих (экспоненциальных или оконных) скользящих средних может выявить большой удар, игнорируя при этом маленький. По сути, ширина меньшего скользящего среднего окна должна быть больше ширины неровностей, которые вы хотите игнорировать. Более широкая EMA должна быть шире, но не слишком широкой, чтобы обнаружить удар.
Вы ищите, когда они пересекут и вычтут отставание (window / 2), и это приблизительная оценка вашего удара. http://www.stockopedia.com/content/trading-the-golden-cross-does-it-really-work-69694/
Линейные модели: создайте серию линейных моделей достаточной ширины, несколько маленьких шишек, скажем, 100 точек. Теперь проведите цикл по набору данных, генерируя линейные регрессии по переменной X. Просто посмотрите на коэффициент X и посмотрите, где произошло большое изменение знака. Это большой удар.
Вышесказанное является лишь гипотезой с моей стороны, и, возможно, есть лучшие способы сделать это.
источник