Восстановите сигнал от нерегулярно выборочных данных

Люди, предрасположенные к свертыванию крови, обработаны с варфарином, разбавителем крови. Международное нормированное отношение (INR) измеряет эффект препарата. Большие дозы увеличивают индийскую рупию, и меньшие дозы уменьшают ее. Пациенты проверяются регулярно медсестрой, и когда их INRs падают из целевого диапазона, их доз и частот их тестового изменения.

Файл INR.mat содержит измерения индийской рупии, выполняемые на пациенте за пятилетний период. Файл включает массив datetime с датой и временем каждого измерения и вектор с соответствующими показаниями индийской рупии. Загрузите данные. Постройте индийскую рупию как функцию времени и наложите целевую область значений индийской рупии.

load(fullfile(matlabroot,'examples','signal','INR.mat'))

plot(Date,INR,'o','DatetimeTickFormat','MM/dd/yy')

xlim([Date(1) Date(end)])
hold on
plot([xlim;xlim]',[2 3;2 3],'k:')

Передискретизируйте данные, чтобы сделать показания индийской рупии однородно распределенными. Первые показания были сняты в 11:28 в пятницу. Используйте resample, чтобы оценить индийскую рупию пациента в то время в каждую последующую пятницу. Задайте частоту дискретизации одного чтения в неделю, или эквивалентно, 1/(7×86400) показания в секунду. Используйте интерполяцию сплайна для передискретизации.

Date.Format = 'eeee, MM/dd/yy, HH:mm';
First = Date(1)
First = datetime
   Friday, 05/15/09, 11:28

perweek = 1/7/86400;

[rum,tee] = resample(INR,Date,perweek,1,1,'spline');

plot(tee,rum,'.-','DatetimeTickFormat','MM/dd/yy')

title('INR')
xlim([Date(1) Date(end)])
hold off

Каждое чтение индийской рупии определяет, когда пациент должен быть протестирован затем. Используйте diff, чтобы создать вектор временных интервалов между измерениями. Выразите интервалы в неделях и постройте их использующий ту же ось X как прежде. Для последней точки используйте следующую дату, предписанную медсестрой антикоагуляции. Измерения выполняются в Соединенных Штатах.

nxt = datetime('10/30/2014 07:00 PM','Locale','en_US');

plot(Date,diff(datenum([Date;nxt]))/7,'o-', ...
    'DatetimeTickFormat','MM/dd/yy')

title('Time Until Next Reading')
xlim([Date(1) Date(end)])
ylabel('Weeks')

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

Большие колебания передискретизации могли быть знаком промаха. Однако варфарин имеет огромный эффект на тело. Небольшие изменения в дозе варфарина могут изменить индийскую рупию решительно, как может изменения в диете, время, проведенное в самолетах или других факторах. Кроме того, когда отношение идет очень низко (как в последних 2010, где колебания являются самыми большими), варфарин добавляется чрезвычайными инжекциями эноксапарина, эффекты которого еще больше.

Смотрите также

| |

Внешние веб-сайты