exponenta event banner

sbiosampleparameters

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

Синтаксис

phi = sbiosampleparameters(covexpr,thetas,omega,ds)
phi = sbiosampleparameters(covexpr,thetas,omega,n)
[phi,covmodel] = sbiosampleparameters(_)

Описание

пример

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) и весом младенцев. Можно задать это ковариационное параметром отношение с помощью ковариационной модели, которая может быть описана как

журнал(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];

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

свернуть все

Ковариационные выражения, заданные как массив ячеек из символьных векторов или вектор строки, который задает ковариационные параметром отношения. Смотрите 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)]=[eta1      0           00         eta2       00            0         eta3]

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

    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.

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

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

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

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

Ссылки

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

Введенный в R2014a