sbiosampleparameters

Сгенерируйте параметры путем выборки ковариационной модели (требует программного обеспечения Statistics and Machine Learning Toolbox),

Описание

пример

phi = sbiosampleparameters(covexpr,thetas,omega,ds) генерирует матричный phi содержа произведенные значения параметров с помощью ковариационной модели, заданной ковариационным выражением covexpr, фиксированные эффекты thetas, ковариационная матрица omega, и ковариационные данные ds.

пример

phi = sbiosampleparameters(covexpr,thetas,omega,n) использует скалярный n это задает количество строк в phi когда параметры не зависят ни от какого коварианта.

пример

[phi,covmodel] = sbiosampleparameters(_) возвращает матричный phi и ковариационный объект модели covmodel использование любого из входных параметров от предыдущих синтаксисов.

Примеры

свернуть все

Этот пример использует данные, собранные по 59 недоношенным детям, данным фенобарбитал в течение первых 16 дней после рождения. Каждый младенец получил начальную дозу, сопровождаемую одной или несколькими дозами поддержки внутривенным администрированием шарика. В общей сложности между 1 и 6 концентрациями измерения получались от каждого младенца время от времени кроме времен дозы для в общей сложности 155 измерений. Младенческие веса и баллы APGAR (мера новорожденного здоровья) были также зарегистрированы. Данные были описаны в [1], исследование, финансируемое NIH/NIBIB, предоставляют P41-EB01975.

Загрузите данные.

load pheno.mat ds

Визуализируйте данные.

t = sbiotrellis(ds,'ID','TIME','CONC','marker','o','markerfacecolor',[.7 .7 .7],'markeredgecolor','r','linestyle','none');
t.plottitle = 'States versus Time';

Создайте модель PK с одним отсеком с болюсным введением и линейным разрешением, чтобы смоделировать такие данные.

pkmd = PKModelDesign;
pkmd.addCompartment('Central','DosingType','Bolus','EliminationType','linear-clearance',...
                    'HasResponseVariable',true,'HasLag',false);
onecomp = pkmd.construct;

Предположим, что существует корреляция между объемом центрального отсека (Central) и вес младенцев. Можно задать это ковариационное параметром отношение с помощью ковариационной модели, которая может быть описана как

log(Vi)=θV+θVWEIGHTWEIGHTi+ηV,i,

где, для каждого ith младенца, V объем, θs (thetas) являются зафиксированными эффектами, η (ЭТА) представляет случайные эффекты и WEIGHT ковариант.

covM = CovariateModel;
covM.Expression = {'Central = exp(theta1+theta2*WEIGHT+eta1)'};

Задайте фиксированные и случайные эффекты. Имена столбцов каждой таблицы должны иметь имена фиксированных эффектов и случайных эффектов, соответственно.

thetas = table(1.4,0.05,'VariableNames',{'theta1','theta2'});
eta1 = table(0.2,'VariableNames',{'eta1'});

Измените метку ID группы в GROUP как требуется sbiosampleparameters функция.

ds.Properties.VariableNames{'ID'} = 'GROUP';

Сгенерируйте значения параметров для объемов центральных отсеков, Центральных на основе ковариационной модели для всех младенцев в наборе данных.

phi = sbiosampleparameters(covM.Expression,thetas,eta1,ds);

Можно затем симулировать модель с помощью произведенных значений параметров. Для удобства используйте подобный функции интерфейс, обеспеченный объектом SimFunction.

Во-первых, создайте объект SimFunction с помощью createSimFunction метода, задав объем (Центральный) как параметр и концентрация препарата в отсеке (Drug_Central) как выход объекта SimFunction и дозируемые разновидности.

f = createSimFunction(onecomp,covM.ParameterNames,'Drug_Central','Drug_Central');

Набор данных ds содержит информацию о дозировании для каждого младенца, и объект groupedData обеспечивает удобный способ извлечь такую информацию о дозировании. Преобразуйте ds в объект groupedData и извлечение, дозирующее информацию.

grpData = groupedData(ds);
doses = createDoses(grpData,'DOSE');

Симулируйте модель с помощью произведенных значений параметров от phi и извлеченной информации о дозировании каждого младенца, и постройте результаты. ith запускаются, использует ith значение параметров в phi и информации о дозировании ith младенца.

t = sbiotrellis(f(phi,200,doses.getTable),[],'TIME','Drug_Central');
% Resize the figure.
t.hFig.Position(:) = [100 100 1280 800];

Входные параметры

свернуть все

Ковариационные выражения в виде массива ячеек из символьных векторов или вектора строки, который задает ковариационные параметром отношения.

Если имя компонента модели или ковариационное имя не являются допустимым именем переменной MATLAB®, окружите его квадратными скобками при обращении к нему в выражении. Например, если имя разновидности является полимеразой ДНК +, запишите [DNA polymerase+]. Если само ковариационное имя содержит квадратные скобки, вы не можете использовать его в выражении.

Смотрите CovariateModel object узнать больше о ковариационных выражениях.

Фиксированные эффекты в виде таблицы, набора данных или числового вектора, содержащего значения для фиксированных параметров эффекта, задали в ковариационных выражениях covexpr. Фиксированные названия параметра эффекта должны запуститься с 'theta'.

  • Если thetas таблица, thetas.Properties.VariableNames должен совпадать с именами фиксированных эффектов.

    Например, предположите, что у вас есть три thetas: thetaOne = 0.1, theta2 = 0.2, и theta3 = 0.3. Можно составить соответствующую таблицу.

    thetas = table(0.1,0.2,0.3);
    thetas.Properties.VariableNames = {'thetaOne','theta2','theta3'}
    thetas =
    
      1×3 table
    
        thetaOne    theta2    theta3
        ________    ______    ______
    
          0.1        0.2       0.3  

  • Если thetas набор данных, thetas.Properties.VarNames должен совпадать с именами фиксированных эффектов.

  • Если thetas числовой вектор, порядок значений в векторе должен быть тем же возрастающим лексикографическим порядком ASCII как фиксированные имена эффекта.

    Используйте sort функционируйте, чтобы отсортировать массив ячеек из символьных векторов, чтобы видеть порядок.

    sort({'thetaOne','theta2','theta3'})
    ans =
    
      1×3 cell array
    
        {'theta2'}    {'theta3'}    {'thetaOne'}

    Затем задайте значение каждого theta в том же порядке.

    thetas = [0.2 0.3 0.1];

Ковариационная матрица случайных эффектов в виде таблицы, набора данных или матрицы. Случайные названия параметра эффекта должны запуститься с 'eta'.

  • Если omega таблица, omega.Properties.VariableNames должен совпадать с именами случайных эффектов. Определение имен строки (RowNames) является дополнительным, но если вы делаете, они должны также совпадать с именами случайных эффектов.

    Предположим, что вы хотите задать диагональную ковариационную матрицу тремя случайными параметрами эффекта eta1, eta2, и eta3 со значениями 0.1, 0.2, и 0.3, соответственно.

    [Cov(η1,η1)Cov(η,1η2)Cov(η1,η3)Cov(η2,η1)Cov(η2,η2)Cov(η2,η3)Cov(η3,η1)Cov(η3,η2)Cov(η3,η3)]=[eta1000eta2000eta3]

    Можно создать соответствующую таблицу.

    eta1 = [0.1;0;0];
    eta2 = [0;0.2;0];
    eta3 = [0;0;0.3];
    omega = table(eta1,eta2,eta3,'VariableNames',{'eta1','eta2','eta3'})
    omega =
    
      3×3 table
    
        eta1    eta2    eta3
        ____    ____    ____
    
        0.1       0       0 
          0     0.2       0 
          0       0     0.3 

  • Если omega набор данных, omega.Properties.VarNames должен совпадать с именами случайных эффектов. Определение имен строки (ObsNames) является дополнительным, но если вы делаете, они должны также совпадать с именами случайных эффектов.

  • Если omega матрица, строки и столбцы должны иметь тот же возрастающий лексикографический порядок ASCII как случайные имена эффекта.

    Используйте sort функционируйте, чтобы отсортировать массив ячеек из символьных векторов, чтобы видеть порядок.

    sort({'eta1','eta2','eta3'})
    ans =
    
      1×3 cell array
    
        {'eta1'}    {'eta2'}    {'eta3'}

Ковариационные данные в виде набора данных или таблицы, содержащей ковариационные данные для всех групп.

ds должен иметь столбец под названием 'Group' или 'GROUP' определение меток группы, а также столбца каждый для всех ковариантов используется в ковариационной модели. Имена столбцов должны совпадать с именами соответствующих ковариантов, используемых в ковариационных выражениях.

Количество строк в phiВ виде скаляра.

Выходные аргументы

свернуть все

Выбранные значения параметров, возвращенные как матрица размера S-by-P, где S количество групп, заданных в ds или заданный n и P количество параметров, которое равно числу элементов в covexpr.

Ковариационная модель, возвращенная как a CovariateModel object который представляет модель, заданную covexpr.

Вопросы совместимости

развернуть все

Предупреждает запуск в R2018b

Ссылки

[1] Грэзела младший, T.H., Донн, S.M. (1985) Неонатальная фармакокинетика населения фенобарбитала выведена из стандартных клинических данных. Фармакол Dev Там. 8 (6), 374–83.

Введенный в R2014a
Для просмотра документации необходимо авторизоваться на сайте