SLIDE 1 Probabilistic modeling of sensor artifacts in critical care
Norm Aleks and Stuart J. Russell U.C. Berkeley Computer Science Division Michael G. Madden N.U.I. Galway Dept. of Computer Science Kristan Staudenmayer, Mitchell Cohen, Diane Morabito, and Geoffrey Manley U.C. San Francisco Dept. of Neurological Surgery and San Francisco General Hospital
SLIDE 2
SLIDE 3
Raw data
SLIDE 4
SLIDE 5
SLIDE 6
SLIDE 7 Remaining in this talk
- Arterial blood pressure (ABP) and its
measurement artifacts
- Modeling sub-interval events
- Our ABP/monitoring artifact model
- Experimental results
SLIDE 8
measurement apparatus
SLIDE 9 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
SLIDE 10 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
systolic (maximum)
SLIDE 11 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
systolic (maximum) mean
SLIDE 12 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
systolic (maximum) mean diastolic (minimum)
SLIDE 13 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
SLIDE 14 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 3 4 5 6
SLIDE 15 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 3 4 5 6
blood draw
SLIDE 16 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 3 4 5 6
blood draw line flush
SLIDE 17 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 3 4 5 6 3 4 5 6
blood draw line flush
SLIDE 18 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 3 4 5 6 3 4 5 6
blood draw line flush zeroing
SLIDE 19 ABP measurements, artifacts, and the effects of averaging
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 3 4 5 6 3 4 5 6
blood draw line flush zeroing
SLIDE 20
Physiologic ABP changes
Physiologic hypertension (high blood pressure)
SLIDE 21
Physiologic ABP changes
Physiologic hypertension (high blood pressure) Physiologic hypotension (low blood pressure)
SLIDE 22
How can we detect and correct for these artifacts?
SLIDE 23 How can we detect and correct for these artifacts?
SLIDE 24 How can we detect and correct for these artifacts?
- By hand?
- No: too costly, doesn’t scale
SLIDE 25 How can we detect and correct for these artifacts?
- By hand?
- No: too costly, doesn’t scale
- Low-pass filter?
SLIDE 26 How can we detect and correct for these artifacts?
- By hand?
- No: too costly, doesn’t scale
- Low-pass filter?
- No: frequencies of physiologic events
- verlap with those of artifactual events
SLIDE 27 How can we detect and correct for these artifacts?
- By hand?
- No: too costly, doesn’t scale
- Low-pass filter?
- No: frequencies of physiologic events
- verlap with those of artifactual events
- Careful system modeling?
SLIDE 28 How can we detect and correct for these artifacts?
- By hand?
- No: too costly, doesn’t scale
- Low-pass filter?
- No: frequencies of physiologic events
- verlap with those of artifactual events
- Careful system modeling?
- Of course!
SLIDE 29
What should the model’s timestep be?
SLIDE 30 What should the model’s timestep be?
- One second? (“fast model”)
SLIDE 31 What should the model’s timestep be?
- One second? (“fast model”)
✓artifact occurrence modeling is natural
SLIDE 32 What should the model’s timestep be?
- One second? (“fast model”)
✓artifact occurrence modeling is natural
- inference runs 59x between evidence
SLIDE 33 What should the model’s timestep be?
- One second? (“fast model”)
✓artifact occurrence modeling is natural
- inference runs 59x between evidence
- One minute? (“slow model”)
SLIDE 34 What should the model’s timestep be?
- One second? (“fast model”)
✓artifact occurrence modeling is natural
- inference runs 59x between evidence
- One minute? (“slow model”)
✓this is the frequency of the sensor data
SLIDE 35 What should the model’s timestep be?
- One second? (“fast model”)
✓artifact occurrence modeling is natural
- inference runs 59x between evidence
- One minute? (“slow model”)
✓this is the frequency of the sensor data
- it’s difficult to model event occurrence
SLIDE 36 f0 f1 f2 f3 f4 f5 f6 f7 f8
Event occurrence: fast model
SLIDE 37 f0 f1 f2 f3 f4 f5 f6 f7 f8
fi : 1 if event is in process at timestep i, 0 if it is not.
Event occurrence: fast model
SLIDE 38 f0 f1 f2 f3 f4 f5 f6 f7 f8
fi : 1 if event is in process at timestep i, 0 if it is not. p = P( fi=1 | fi–1=1) ... “P(event continues)” q = P( fi=1 | fi–1=0) ... “P(new event starts)”
Event occurrence: fast model
SLIDE 39 f0 f1 f2 f3 f4 f5 f6 f7 f8
Relate fast model to slow
SLIDE 40 f0 f1 f2 f3 f4 f5 f6 f7 f8
G0 G4 G8
∑ ∑
Relate fast model to slow
SLIDE 41 f0 f1 f2 f3 f4 f5 f6 f7 f8
E0 E4 E8 G0 G4 G8
∑ ∑
Relate fast model to slow
SLIDE 42 f0 f4
G0 E0 G4 E4
f8
G8 E8
Sum out extra fast nodes
SLIDE 43 f0 f1
G0 E0 G1 E1
f2
G2 E2
SLIDE 44
f0 f1
G0 E0 G1 E1
SLIDE 45 Computational cost
- Using a dynamic program, computing new
CPTs has time complexity O( j2 N j+1 ), where the fast model has ...
- j mutually exclusive events to count
- N timesteps per slow-model timestep
- Markovian transitions
- Space complexity is O( j2 N j )
SLIDE 46 Parameterizing the fast model for “bag” events
Valve position normal bag normal 1 - q q bag 1 - p p
time t+1 time t
SLIDE 47 Parameterizing the fast model for “bag” events
Valve position normal bag normal 1 - q q bag 1 - p p
time t+1 time t q = event count / time = 53 / 557,893 = 0.000129
SLIDE 48 Parameterizing the fast model for “bag” events
Valve position normal bag normal 1 - q q bag 1 - p p
time t+1 time t p = 1 - (1 / average event length) = 1-1/26.38 = 0.962 q = event count / time = 53 / 557,893 = 0.000129
SLIDE 49 Event durations fit a geometric model well
!" #!" $!" %!" &!" '!" (!" )!" #" %" '" )" *" ##"#%"#'"#)"#*"$#"$%"$'"$)"$*"%#"%%"%'"%)"%*"&#"&%"&'"&)"&*"'#"'%"''"')"'*"(#"(%"('"()"(*")#")%")'"))")*"+#" !"#$%&"'&()*&+,+$%-&./"-+&0#1)2"$&3&4%/+&56)57-&,)8#+&
Bag event durations
SLIDE 50
P(G | f0=0) P(G | f0=1) P(f1 | G, f0=1) P(f1 | G, f0=0) f1=0 f1=1 f1=0 f1=1
SLIDE 51 f0 f1
G0 E0 G1 E1
SLIDE 52 valve- pos1 valve- pos0
SLIDE 53 bag- time1 zero- time1 valve- pos1 valve- pos0
SLIDE 54 bag- time1 zero- time1 valve- pos1 bag- press1 true- BP1 zero- press1 appa- rent1 valve- pos0
Apparent BP = (1/60) • ( (60 – bag-time – zero-time) • true-BP + bag-time • bag-press + zero-time • zero-press )
SLIDE 55 bag- time1 zero- time1 valve- pos1 bag- press1 true- BP1 zero- press1 appa- rent1 meas- ured1 valve- pos0
SLIDE 56 bag- time1 zero- time1 valve- pos1 bag- press1 true- BP1 zero- press1 appa- rent1 meas- ured1 bag- time0 zero- time0 valve- pos0 bag- press0 true- BP0 zero- press0 appa- rent0 meas- ured0
SLIDE 57
Performance evaluation
SLIDE 58
- ~300 hrs. data for training and evaluation
- Ground truth from a physician, using
inspection of data at 1-second resolution
- “bag” and “zero” events
- hypertension (true systolic > 160mmHg)
Performance evaluation
SLIDE 59
- ~300 hrs. data for training and evaluation
- Ground truth from a physician, using
inspection of data at 1-second resolution
- “bag” and “zero” events
- hypertension (true systolic > 160mmHg)
- Particle filtering used, with 8000 particles
- CPU time for filtering about 2 hours
Performance evaluation
SLIDE 60
Detection of “bag” events
SLIDE 61
Detection of “zero” events
SLIDE 62
Detection of hypertension
SLIDE 63
SLIDE 64
SLIDE 65
SLIDE 66
Future modeling work
SLIDE 67
SLIDE 68