Этот пример показывает, как использовать Curve Fitting Toolbox™, чтобы соответствовать поверхностям ответа к некоторым данным об анестезии, чтобы анализировать эффекты лекарственного взаимодействия. Модели поверхности ответа обеспечивают хороший метод для понимания фармакодинамического поведения взаимодействия сочетаний лекарств.
Эти данные основаны на результатах в данной статье: Используйте кернинг SE, Се Г, Белый JL, Игэн ТД. Гипнотические опиатом совместные действия: анализ поверхности ответа пропофола-remifentanil фармакодинамическое взаимодействие в волонтерах. Анестезиология 2004; 100: 1373-81.
Анестезия обычно является, по крайней мере, процессом 2D препарата, состоя из опиата и успокоительного снотворного средства. Этот пример использует Propofol и Reminfentanil как прототипы класса препарата. Их взаимодействие измеряется четырьмя различными мерами болеутоляющего и успокоительного ответа на сочетание лекарств. Альгометрия, Tetany, Успокоение и Laryingoscopy включают четыре меры суррогатного действия препарата в различных комбинациях концентрации Propofol и Reminfentanil.
Следующий код, с помощью методов Curve Fitting Toolbox, воспроизводит интерактивное создание поверхности с Инструментом Curve Fitting, описанным на Поверхности, Соответствующей к Биофармацевтическим Данным.
Загрузите данные из файла.
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 )
Success, but fitting stopped because change in residuals less than tolerance (TolFun). 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.174) IC50B = 9.044 (8.97, 9.117) alpha = 8.501 (8.315, 8.687) n = 8.29 (8.132, 8.447) 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
, чтобы создать поверхность ответа для tetany.
[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 );