В этом примере показано, как использовать Curve Fitting Toolbox™ для подгонки поверхностей ответа к некоторым данным анестезии для анализа эффектов взаимодействия с лекарственными средствами. Модели поверхности ответа обеспечивают хороший метод для понимания фармакодинамического взаимодействия комбинаций лекарств.
Эти данные основаны на результатах в этой статье: Kern SE, Xie G, White JL, Egan TD. Опиоидно-гипнотическая синергия: Поверхностный анализ реакции на фармакодинамическое взаимодействие пропофол-ремифентанил у добровольцев. Анестезиология 2004; 100: 1373-81.
Анестезия обычно представляет собой процесс с двумя лекарственными средствами, состоящий из опиоида и седативного гипнота. Этот пример использует Пропофол и Реминфентанил в качестве прототипов класса препарата. Их взаимодействие измеряется четырьмя различными показателями обезболивающего и седативного ответа на комбинацию препарата. Алгометрия, тетания, седация и лариингоскопия включают четыре меры суррогатных лекарственных эффектов при различных комбинациях концентраций пропофола и реминфентанила.
Следующий код, используя методы Curve Fitting Toolbox, воспроизводит интерактивное поверхностное создание с Аппроксимированием кривыми Инструмента, описанной в Surface Fitting to Biopharmaceutical Данных.
Загрузите данные из файла.
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 );
