В этом примере показано, как использовать Curve Fitting Toolbox™ для подгонки поверхностей реакции на некоторые данные анестезии для анализа эффектов взаимодействия лекарств. Модели поверхности ответа обеспечивают хороший метод для понимания поведения фармакодинамического взаимодействия комбинаций лекарств.
Эти данные основаны на результатах этой работы: Kern SE, Xie G, White JL, Egan TD. Опиоидно-гипнотическая синергия: анализ поверхности ответа фармакодинамического взаимодействия пропофол-ремифентанил у добровольцев. Анестезиология 2004; 100: 1373-81.
Анестезия обычно представляет собой, по меньшей мере, процесс с двумя лекарственными средствами, состоящий из опиоида и седативного гипноза. В этом примере в качестве прототипов для классов лекарственных средств используются пропофол и реминфентанил. Их взаимодействие измеряется четырьмя различными показателями анальгетического и седативного ответа на комбинацию лекарств. Алгометрия, тетания, седация и ларьингоскопия включают четыре показателя суррогатного лекарственного действия при различных комбинациях концентраций пропофола и реминфентанила.
Следующий код с использованием методов панели инструментов «Фитинг кривой» воспроизводит интерактивное построение поверхности с помощью инструмента «Фитинг кривой», описанного в разделе «Фитинг поверхности к биофармацевтическим данным».
Загрузите данные из файла.
data = importdata( 'OpioidHypnoticSynergy.txt' );
Propofol = data.data(:,1);
Remifentanil = data.data(:,2);
Algometry = data.data(:,3);
Tetany = data.data(:,4);
Sedation = data.data(:,5);
Laryingoscopy = data.data(:,6);Вы можете использовать fittype для определения модели из документа, где CA и CB - концентрации лекарственного средства, и IC50A, IC50B, alpha, и n - коэффициенты, подлежащие оценке. Создайте тип подгонки модели.
ft = fittype( 'Emax*( CA/IC50A + CB/IC50B + alpha*( CA/IC50A ) * ( CB/IC50B ) )^n /(( CA/IC50A + CB/IC50B + alpha*( CA/IC50A ) * ( CB/IC50B ) )^n + 1 )', ... 'independent', {'CA', 'CB'}, 'dependent', 'z', 'problem', 'Emax' )
ft =
General model:
ft(IC50A,IC50B,alpha,n,Emax,CA,CB) = Emax*( CA/IC50A + CB/IC50B + alpha*(
CA/IC50A ) * ( CB/IC50B ) )^n /(( CA/IC50A + CB/IC50B
+ alpha*( CA/IC50A ) * ( CB/IC50B ) )^n + 1 )
Принять Emax = 1 поскольку выходные данные эффекта нормализованы.
Emax = 1;
Задайте параметры посадки для надежного фитинга, границ и начальных точек.
opts = fitoptions( ft );
opts.Lower = [0, 0, -5, -0];
opts.Robust = 'LAR';
opts.StartPoint = [0.0089, 0.706, 1.0, 0.746];[f, gof] = fit( [Propofol, Remifentanil], Algometry, ft,... opts, 'problem', Emax )
Fitting stopped because the number of iterations or function evaluations exceeded the specified maximum.
General model:
f(CA,CB) = Emax*( CA/IC50A + CB/IC50B + alpha*( CA/IC50A ) * ( CB/IC50B
) )^n /(( CA/IC50A + CB/IC50B + alpha*( CA/IC50A )
* ( CB/IC50B ) )^n + 1 )
Coefficients (with 95% confidence bounds):
IC50A = 4.148 (4.123, 4.173)
IC50B = 9.042 (8.969, 9.116)
alpha = 8.498 (8.312, 8.683)
n = 8.299 (8.141, 8.457)
Problem parameters:
Emax = 1
gof = struct with fields:
sse: 0.0842
rsquare: 0.9991
dfe: 393
adjrsquare: 0.9991
rmse: 0.0146
plot( f, [Propofol, Remifentanil], Algometry );

Повторно использовать то же самое fittype для создания ответной поверхности для тетани.
[f, gof] = fit( [Propofol, Remifentanil], Tetany, ft, opts, 'problem', Emax ) General model:
f(CA,CB) = Emax*( CA/IC50A + CB/IC50B + alpha*( CA/IC50A ) * ( CB/IC50B
) )^n /(( CA/IC50A + CB/IC50B + alpha*( CA/IC50A )
* ( CB/IC50B ) )^n + 1 )
Coefficients (with 95% confidence bounds):
IC50A = 4.544 (4.522, 4.567)
IC50B = 21.22 (21.04, 21.4)
alpha = 14.94 (14.67, 15.21)
n = 6.132 (6.055, 6.209)
Problem parameters:
Emax = 1
gof = struct with fields:
sse: 0.0537
rsquare: 0.9993
dfe: 393
adjrsquare: 0.9993
rmse: 0.0117
plot( f, [Propofol, Remifentanil], Tetany );

[f, gof] = fit( [Propofol, Remifentanil], Sedation, ft, opts, 'problem', Emax ) General model:
f(CA,CB) = Emax*( CA/IC50A + CB/IC50B + alpha*( CA/IC50A ) * ( CB/IC50B
) )^n /(( CA/IC50A + CB/IC50B + alpha*( CA/IC50A )
* ( CB/IC50B ) )^n + 1 )
Coefficients (with 95% confidence bounds):
IC50A = 1.843 (1.838, 1.847)
IC50B = 13.7 (13.67, 13.74)
alpha = 1.986 (1.957, 2.015)
n = 44.27 (42.56, 45.98)
Problem parameters:
Emax = 1
gof = struct with fields:
sse: 0.0574
rsquare: 0.9994
dfe: 393
adjrsquare: 0.9994
rmse: 0.0121
plot( f, [Propofol, Remifentanil], Sedation );

[f, gof] = fit( [Propofol, Remifentanil], Laryingoscopy, ft, opts, 'problem', Emax ) General model:
f(CA,CB) = Emax*( CA/IC50A + CB/IC50B + alpha*( CA/IC50A ) * ( CB/IC50B
) )^n /(( CA/IC50A + CB/IC50B + alpha*( CA/IC50A )
* ( CB/IC50B ) )^n + 1 )
Coefficients (with 95% confidence bounds):
IC50A = 5.192 (5.177, 5.207)
IC50B = 37.77 (37.58, 37.97)
alpha = 19.67 (19.48, 19.86)
n = 37 (35.12, 38.87)
Problem parameters:
Emax = 1
gof = struct with fields:
sse: 0.1555
rsquare: 0.9982
dfe: 393
adjrsquare: 0.9982
rmse: 0.0199
plot( f, [Propofol, Remifentanil], Laryingoscopy );
