最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

不定間隔でサンプリングされたデータからの信号の再構成

血液凝固を起こしやすい患者は、抗凝固薬であるワルファリンを投与することによって治療します。この薬剤の効果は、国際標準比 (INR) により測定されます。投与量が多いと INR が高くなり、少ないと低くなります。患者は看護師によって定期的に検査を受け、INR が目標範囲より低下した場合には投与量と検査頻度が変更されます。

ファイル INR.mat には、1 人の患者に対して 5 年間にわたり行った INR 測定の値が含まれています。ファイルには、各測定の日付と時間をもつ配列 datetime と、対応する INR 測定値をもつベクトルが含まれています。データを読み込みます。時間の関数として INR をプロットし、目標 INR 範囲を重ね合わせます。

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:')

INR の測定値の間隔が一定になるようにデータをリサンプリングします。最初の測定は、金曜日の午前 11 時 28 分に行われています。resample を使用し、これ以降の毎週金曜の同時刻における患者の INR を推定します。1 週あたり 1 測定値、またはこれと等価である 1 秒あたり 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

各 INR 測定値により、患者が次に検査を受けなければならないタイミングがわかります。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')

INR が範囲外の場合、INR 測定の間隔は短いままです。INR が低すぎる場合、血栓症のリスクが上昇することから、患者はより頻繁に測定を受けます。患者の INR 値が範囲内である場合は、INR が高くなりすぎるか低くなりすぎない限り、測定の間隔は徐々に長くなります。

リサンプリングにおける大きな変動は、オーバーシュートの兆候である可能性があります。ただし、ワルファリンは体に多大な影響を及ぼします。ワルファリンを少し変更するだけで、食事、飛行機で過ごす時間、またはその他の要因によって変化させられるのと同じく、INR を劇的に変化させることができます。さらに、(変動が最も大きかった 2010 年後半で見られたように) 比率が非常に低くなると、より影響の強いエノキサパリンの緊急注入によってワルファリンが補充されます。

参考

| |

外部の Web サイト