View
421
Download
2
Category
Preview:
Citation preview
Tweaking the Model:
Proc Logistic and Beyond
Shulamit Gordon
Department of Health Information
Ministry of Health, Jerusalem, Israel
!!!תודות
ציונה חקלאי•
דמיטרי מוסטובוי•
כל צוות תחום מידע•
Who? What? Where? When? Why? How?
השאלה•
התשובה•
השלב הבא•
הבעיה•
הפתרון•
ראיה כללית
פטירות בבית חולים לאחר ניתוח•
לזהות גורמי הסיכון –
שירות\ללמוד איך יכולים לשפר הטיפול–
מאגר אשפוזים:מקור המידע
מנוהל בתחום מידע במשרד הבריאות•
בלתי מזוהה, פרטני•
:כולל מידע על•דמוגרפיה–
תנועות במחלקות–
נתונים על האשפוז–
אבחנות ופעולות–
אוכלוסיית המחקר
ח כלליים"מנותחים במשך שנתיים בבתי•
עברו הניתוח•
אזרחי ישראל•
שהו בבית החולים לפחות לילה אחד•
שנה ומעלה 15בני •
מנותחים 7,000 -כ כ"סה•
משתנים במודל
משתנים דמוגרפים•
קבוצות גיל–
מין–
משתני תחלואה•
ללא סרטן, רלסון'מדד צ–
עם גרורות, ללא גרורות ,ללא סרטן -סרטן–
אשפוז קודם בחודש האחרון–
ניתוח דומה בשנה האחרונה–
משתנים נוכחיים•
דחוף מהמיון או מוזמן–סוג כניסה –
אפיון הניתוח–
שיטת הניתוח–
מודל ארצי
proc logistic data=t ;
class .... ;
model
events/nn = age gender .... method
/ expb lackfit
;
by &by_vars. ;
run ; quit ;
למודל הארצי Proc Logisiticתוצאות
Odds RatioValueParameter
1.0015-39Age
2.0340-54
**4.3955-64
**7.4765-74
**13.9775-120
1.00FemaleGender
1.01Male
1.000-1Modified
**2.912+Charlson
1.00AMethod
**0.38B
1.00noFrom ER
**8.25yesPlanned
. . . .
C Statistic = 0.876
H-L G-o-F = 0.184
המודל הבסיסי
proc logistic data=t ;
class .... ;
model
events/nn = age gender ....
/ expb lackfit
;
by &by_vars. ;
score out=t_out ;
run ; quit ;
יחידה+ המודל בסיסי
proc logistic data=t ;
class .... unitcode ;
model
events/nn = age gender... unitcode
/ expb lackfit
;
by &by_vars. ;
score out=t_out ;
run ; quit ;
Original Variables
Unit Codes
נוסף PROC LOGISTIC+ מודל בסיסי
Taking the output of the basic model,
data t_out ; set t_out ;
the_beta = log(p_event / p_nonevent) ;
run ;
proc logistic data=t_out ;
class unitcode / ref=first ;
model
events / nn = unitcode the_beta
/ expb lackfit
;
by &by_vars. ;
run ; quit ;
Unit Codes
Original Variables
Original VariablesUnit Codes
הרעיון
-כדי ש u buלמצוא לכל יחידה
uunitinipatients
ui
uunitinipatients
i ExpectedActual
___
___
b
uunitinipatients
i
uunitinipatients ii
i yEventPeEventP
EventPeu
u
___
___ __1
_0
b
b
מרשם העוגה
Ingredients :
1 cup butter, at room temp.
2 cups sugar
3 cups sifted self-rising flour
4 eggs
Preheat oven to 350 degrees F.
מרשם המאקרו
Ingredients :
1 proc datasets
2 proc transpose
3 proc sql
4 data steps
Stir gently, ...
הקריאה למאקרו
%esg_tweak_logistic_wide(
f_in = t_out,
p_var = p_event,
events_var = events,
nn_var = nn,
by_Groups = &by_vars. unitcode,
lo = -100 ,
hi = 100 ,
n_iter = 100 ,
f_out = t_tweak,
out_var = tweak_beta
) run ; quit ;
זמני החישוב
0.1
1.0
10.0
100.0
1,000.0
1 10 100 1000 10000 100000 1000000
width of data
tim
e (
se
co
nd
s)
2 16 128 1024 8192 65536 524288
חישוב משמעותFrom Probability 101, for each unit u,
using the output of the BASIC MODEL
uunitinipatients
ii
uunitinipatients
i
uunitinipatients
i
u
NonEventPEventP
EventPy
z
___
___
___
__
_
uu zPValue 12
חישוב סטטיסטיקות המודל
Preparing the data:
%let bb = &by_vars. unitcode ; run ;
proc sort data= t_out ; by &bb ; run ;
proc sort data= t_tweak ; by &bb ; run ;
data t_new ; merge t_out t_tweak ; by &bb ; run ;
data t_new ; set t_new ;
O_R1 = p_event / (1-p_event) ;
O_R2 = exp(tweak_beta) ;
O_R = O_R1 * O_R2 ;
p_new = O_R / (1+O_R) ;
beta_new = log(O_R) ;
run ; quit ;
Using Proc Logistic:
proc logistic data=t ;
model
events / nn = the_beta
/ lackfit
;
by &by_vars. ;
run ; quit ;
חישוב סטטיסטיקות המודל
Using Macros:
%esg_g_c_stats(
f = t_new, f_out = t_c,
events_var = events, nn_var = nn,
p_var = p_new, n_bins = 500,
by_vars = &by_vars.
) run ; quit ;
%esg_g_HosmerLemeshow(
f = t_new, f_out = t_HL,
events_var = events, nn_var = nn,
p_var = p_new, grps = 10,
by_vars = &by_vars.
) run ; quit ;
חישוב סטטיסטיקות המודל
השוות המודלים
C STATISTICהמודל
0.8758(עם שיטת הניתוח)מודל ארצי
0.8706מודל בסיסי
0.8792מודל בסיסי עם יחידה
0.8785נוסף PROC LOGISTIC+ מודל בסיסי
TWEAKING 0.8786+ מודל בסיסי
:בסיכום:אחד אחרי השניניתן ליישם השיטה על מספר משתנים
Proc Logistic
Tweak with var1
Update t_out
Tweak with var2
Update t_out
Tweak with var3
Update t_out
. . . Calculate additional statistics
המלצה
!!!תהיו בריאים
תודה רבהshulamit.gordon@moh.health.gov.il
Algebra
OR
ORp
p
pOR
11
bep
pOR
orig
orig
new
1
b
b
ep
p
ep
p
OR
ORp
orig
orig
orig
orig
new
newnew
11
1
1
origorig
orig
newpep
pep
b
b
1
Recommended