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';

Figure contains 64 axes. Axes 1 with title ID 1 contains an object of type line. This object represents CONC. Axes 2 with title ID 9 contains an object of type line. Axes 3 with title ID 17 contains an object of type line. Axes 4 with title ID 25 contains an object of type line. Axes 5 with title ID 33 contains an object of type line. Axes 6 with title ID 41 contains an object of type line. Axes 7 with title ID 49 contains an object of type line. Axes 8 with title ID 57 contains an object of type line. Axes 9 with title ID 2 contains an object of type line. Axes 10 with title ID 10 contains an object of type line. Axes 11 with title ID 18 contains an object of type line. Axes 12 with title ID 26 contains an object of type line. Axes 13 with title ID 34 contains an object of type line. Axes 14 with title ID 42 contains an object of type line. Axes 15 with title ID 50 contains an object of type line. Axes 16 with title ID 58 contains an object of type line. Axes 17 with title ID 3 contains an object of type line. Axes 18 with title ID 11 contains an object of type line. Axes 19 with title ID 19 contains an object of type line. Axes 20 with title ID 27 contains an object of type line. Axes 21 with title ID 35 contains an object of type line. Axes 22 with title ID 43 contains an object of type line. Axes 23 with title ID 51 contains an object of type line. Axes 24 with title ID 59 contains an object of type line. Axes 25 with title ID 4 contains an object of type line. Axes 26 with title ID 12 contains an object of type line. Axes 27 with title ID 20 contains an object of type line. Axes 28 with title ID 28 contains an object of type line. Axes 29 with title ID 36 contains an object of type line. Axes 30 with title ID 44 contains an object of type line. Axes 31 with title ID 52 contains an object of type line. Axes 32 is empty. Axes 33 with title ID 5 contains an object of type line. Axes 34 with title ID 13 contains an object of type line. Axes 35 with title ID 21 contains an object of type line. Axes 36 with title ID 29 contains an object of type line. Axes 37 with title ID 37 contains an object of type line. Axes 38 with title ID 45 contains an object of type line. Axes 39 with title ID 53 contains an object of type line. Axes 40 is empty. Axes 41 with title ID 6 contains an object of type line. Axes 42 with title ID 14 contains an object of type line. Axes 43 with title ID 22 contains an object of type line. Axes 44 with title ID 30 contains an object of type line. Axes 45 with title ID 38 contains an object of type line. Axes 46 with title ID 46 contains an object of type line. Axes 47 with title ID 54 contains an object of type line. Axes 48 is empty. Axes 49 with title ID 7 contains an object of type line. Axes 50 with title ID 15 contains an object of type line. Axes 51 with title ID 23 contains an object of type line. Axes 52 with title ID 31 contains an object of type line. Axes 53 with title ID 39 contains an object of type line. Axes 54 with title ID 47 contains an object of type line. Axes 55 with title ID 55 contains an object of type line. Axes 56 is empty. Axes 57 with title ID 8 contains an object of type line. Axes 58 with title ID 16 contains an object of type line. Axes 59 with title ID 24 contains an object of type line. Axes 60 with title ID 32 contains an object of type line. Axes 61 with title ID 40 contains an object of type line. Axes 62 with title ID 48 contains an object of type line. Axes 63 with title ID 56 contains an object of type line. Axes 64 is empty.

Создайте модель 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,

где, для каждого i-ого младенца, 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 и извлеченной информации о дозах каждого младенца, и постройте результаты. I-ый запуск использует i-ое значение параметров в phi и информации о дозах i-ого младенца.

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

Figure contains 64 axes. Axes 1 with title Run 1 contains an object of type line. This object represents Drug_Central. Axes 2 with title Run 9 contains an object of type line. Axes 3 with title Run 17 contains an object of type line. Axes 4 with title Run 25 contains an object of type line. Axes 5 with title Run 33 contains an object of type line. Axes 6 with title Run 41 contains an object of type line. Axes 7 with title Run 49 contains an object of type line. Axes 8 with title Run 57 contains an object of type line. Axes 9 with title Run 2 contains an object of type line. Axes 10 with title Run 10 contains an object of type line. Axes 11 with title Run 18 contains an object of type line. Axes 12 with title Run 26 contains an object of type line. Axes 13 with title Run 34 contains an object of type line. Axes 14 with title Run 42 contains an object of type line. Axes 15 with title Run 50 contains an object of type line. Axes 16 with title Run 58 contains an object of type line. Axes 17 with title Run 3 contains an object of type line. Axes 18 with title Run 11 contains an object of type line. Axes 19 with title Run 19 contains an object of type line. Axes 20 with title Run 27 contains an object of type line. Axes 21 with title Run 35 contains an object of type line. Axes 22 with title Run 43 contains an object of type line. Axes 23 with title Run 51 contains an object of type line. Axes 24 with title Run 59 contains an object of type line. Axes 25 with title Run 4 contains an object of type line. Axes 26 with title Run 12 contains an object of type line. Axes 27 with title Run 20 contains an object of type line. Axes 28 with title Run 28 contains an object of type line. Axes 29 with title Run 36 contains an object of type line. Axes 30 with title Run 44 contains an object of type line. Axes 31 with title Run 52 contains an object of type line. Axes 32 is empty. Axes 33 with title Run 5 contains an object of type line. Axes 34 with title Run 13 contains an object of type line. Axes 35 with title Run 21 contains an object of type line. Axes 36 with title Run 29 contains an object of type line. Axes 37 with title Run 37 contains an object of type line. Axes 38 with title Run 45 contains an object of type line. Axes 39 with title Run 53 contains an object of type line. Axes 40 is empty. Axes 41 with title Run 6 contains an object of type line. Axes 42 with title Run 14 contains an object of type line. Axes 43 with title Run 22 contains an object of type line. Axes 44 with title Run 30 contains an object of type line. Axes 45 with title Run 38 contains an object of type line. Axes 46 with title Run 46 contains an object of type line. Axes 47 with title Run 54 contains an object of type line. Axes 48 is empty. Axes 49 with title Run 7 contains an object of type line. Axes 50 with title Run 15 contains an object of type line. Axes 51 with title Run 23 contains an object of type line. Axes 52 with title Run 31 contains an object of type line. Axes 53 with title Run 39 contains an object of type line. Axes 54 with title Run 47 contains an object of type line. Axes 55 with title Run 55 contains an object of type line. Axes 56 is empty. Axes 57 with title Run 8 contains an object of type line. Axes 58 with title Run 16 contains an object of type line. Axes 59 with title Run 24 contains an object of type line. Axes 60 with title Run 32 contains an object of type line. Axes 61 with title Run 40 contains an object of type line. Axes 62 with title Run 48 contains an object of type line. Axes 63 with title Run 56 contains an object of type line. Axes 64 is empty.

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

свернуть все

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

Если имя компонента модели или ковариационное имя не являются допустимым именем переменной 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