Bioequivalence and Bioavailability Forum 02:04 CEST

Main page Policy/Terms of Use Abbreviations Latest Posts

 Log in |  Register |  Search

pkpdpkpd


2007-04-04 22:52

Posting: # 627
Views: 10,458
 

 assessment of steady state in WinNonLin [Software]

Is it possible to use WinNonLin to assess the achievement of steady state on the basis of pre-dose concentrations?

Regards,
PKPDPKPD
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2007-04-05 02:30

@ pkpdpkpd
Posting: # 628
Views: 9,645
 

 steady state in WinNonlin (example)

Dear PKPDPKPD!

» Is it possible to use WinNonLin to assess the achievement of steady state on the basis of pre-dose concentrations?

Yes.
Using the example of this post we have:
+-----+-------+
|  t  |   c   |
+-----+-------+
|  24 | 21.05 |
|  48 | 25.04 |
|  72 | 25.08 |
|  96 | 25.94 |
| 120 | 25.97 |
+-----+-------+


In WinNonlin (v5.2) open a new workbook and enter these values.
Use only the last three values:
Data > Exclude > Selection
Tools > PK/PD/NCA Wizard (or StrgF9)
Select 'Linear' > Next > Model 502 (Linear) > Next > Finish
Click on the 'Data Variables' icon
Drag the time variable to the 'X variable' field, drag the concentration variable to the 'Y variable' field > OK
Model > Start Modeling (or click the 'calculator' icon)
A new linear workbook opens, navigate to the 'Non-Transposed Final Parameters' tab.
There are two parameters, namely 'INT' and 'SLOPE'.
'INT' is the estimated Cmin, but we are interested in 'SLOPE', which should be zero in 'true' steady-state.
Now look at the 'Estimate'-column, which gives a value of 0.018542 for slope.
A common method for the assessment of SS-conditions is either doing a t-test (0.05,2-sided), or looking at the 95% confidence interval,* which should include zero.
WinNonlin gives you the confidence interval in the columns 'PlanarCI_Lower' and 'PlanarCI_Uper' with -0.279250 and 0.316334. Since zero is included in the CI, steady state conditions are reached.

I added a little noise to the data:
+-----+-------+
|  t  |   c   |
+-----+-------+
|  24 | 18.71 |
|  48 | 22.44 |
|  72 | 22.44 |
|  96 | 25.63 |
| 120 | 23.25 |
+-----+-------+

Now we get a slope of 0.016875 (95% CI -1.981561 to 2.015311); still in steady state.

I'm not sure when Pharsight introduced linear models in WinNonlin (maybe in v5.0), in older versions you may use the 'LinMix Wizard' (which is a little bit confusing for a beginner), or use this ASCII-model - which is pretty simple:
MODEL
  COMMANDS
    NFUNCTIONS 1
    NPARAMETERS 2
    PNAMES  'inter', 'slope'
  END
  FUNCTION 1
    F = inter + slope * X
  END
EOM



  • Weimann HJ. Drug concentrations and directly derived parameters. In: Cawello W, editor. Parameters for Compartment-Free Pharmacokinetics. Aachen: Shaker-Verlag; 2003. p. 23-38.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
pkpdpkpd


2007-04-05 16:33

@ Helmut
Posting: # 633
Views: 9,294
 

 steady state in WinNonlin (example)

Dear Helmut!

Thanks for your instructions. However, I have two problems:
  1. The version 5.01 of WinNonLin that I have do not have "Linear" function in the PK/PD/NCA Wizard.
  2. The approach I would like to use for the assessment of steady state is repeated measures ANOVA of log concentrations instead of linear regression you are describing, since I am comparing the pre-dose concentrations in several subjects on three consecutive days.
If I have one dependent variable (concentration) and subject as a random effect (??), and day as a fixed effect (???), how can I use Lin Mix to do the calculations.

PKPDPKPD

PS. In the linear regression while assessing the slope, should it be 95% or 90% CI?
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2007-04-05 17:16

@ pkpdpkpd
Posting: # 634
Views: 9,347
 

 steady state in WinNonlin (example)

Dear PKPDPKPD!

» Thanks for your instructions. However, I have two problems:
» 1. The version 5.01 of WinNonLin that I have do not have "Linear" function in the PK/PD/NCA Wizard.

Just looked it up in the release notes, linear models were introducted in v5.1 (23 Oct, 2006). If you have a valid license (which I assume), you may update at no costs.

» 2. The approach I would like to use for the assessment of steady state is repeated measures ANOVA of log concentrations instead of linear regression you are describing, since I am comparing the pre-dose concentrations in several subjects on three consecutive days.

» If I have one dependent variable (concentration) and subject as a random effect (??), and day as a fixed effect (???), how can I use Lin Mix to do the calculations.

OK, ANOVA is not included in WinNonlin; you will have to fight through a Linear Mixed Effects Model (which is always a little bit tricky). One hint: all effects are fixed!
Since I haven't done this myself yet, maybe another member of the forum can fill in the gap?
...or ask Pharsight's support - and be patient!

I know some colleagues are using repeated measures ANOVA; I never could understand why.
The outcome is always a yes/no result.
What if you get a significant result - would you really throw away the entire study?
If you are testing individual subjects, you have the option - providing you have stated such a procedure in the protocol - to exclude only these subjects from the evaluation since they did not reach steady state.

» In the linear regression while assessing the slope, should it be 95% or 90% CI?

95% since p = 1-alpha, where alpha=0.05. This is only a convention.

In BE we are only using a 90% CI, because in patients BA of the test can either be lower (5%) or higher (5%) then BA of the reference.
Therefore the individual patient's risk is kept at 5%.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
pkpdpkpd


2007-04-05 17:39

@ Helmut
Posting: # 635
Views: 9,270
 

 steady state in WinNonlin (example)

Dear Helmut,

Thanks once again.

» OK, ANOVA is not included in WinNonlin; you will have to fight through a Linear Mixed Effects Model (which is always a little bit tricky). One hint: all effects are fixed!
» Since I haven't done this myself yet, maybe another member of the forum can fill in the gap?
» ...or ask Pharsight's support - and be patient!

It's true. LinMix is a catastrophy and I am fighting through it. Till now not very succesfull. BEBAC members: please, help!!!

» I know some colleagues are using repeated measures ANOVA; I never could understand why.
» The outcome is always a yes/no result.
» What if you get a significant result - would you really throw away the entire study?
» If you are testing individual subjects, you have the option - providing you have stated such a procedure in the protocol - to exclude only these subjects from the evaluation since they did not reach steady state.

An interesting approach. Till now (I am pretty fresh) have not seen any protocols with individual assessment of the achievment of steady state. Is it because it is more time consuming???? And what is about multiple comparisons in this case?

» » In the linear regression while assessing the slope, should it be 95% or 90% CI?
»
» 95% since p = 1-alpha, where alpha=0.05. This is only a convention.
»
» In BE we are only using a 90% CI, because in patients BA of the test can either be lower (5%) or higher (5%) then BA of the reference.
» Therefore the individual patient's risk is kept at 5%.

Does it mean, that I use 95% CI when I assess steady state by subject and 90% CI when I assess by entire study?

PKPDPKPD
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2007-04-05 18:40

@ pkpdpkpd
Posting: # 637
Views: 9,343
 

 steady state in WinNonlin…

Dear PKPDPKPD!

» » ...or ask Pharsight's support - and be patient!

» It's true. LinMix is a catastrophy and I am fighting through it. Till now not very succesfull.

Full ACK, and the manual isn't very helpful either.
I guess Pharsight would call it 'steep learning curve' and want you to sign up in one of their courses... ;-)

I'm waiting for a correct implementation of a paired design (e.g., comparing steady state AUC with single dose AUC in the same subjects) since February 25th, 2007... :angry:

» » I know some colleagues are using repeated measures ANOVA; I never could understand why.
» » The outcome is always a yes/no result.
» » What if you get a significant result - would you really throw away the entire study?
» » If you are testing individual subjects, you have the option - providing you have stated such a procedure in the protocol - to exclude only these subjects from the evaluation since they did not reach steady state.

» An interesting approach. Till now (I am pretty fresh) have not seen any protocols with individual assessment of the achievment of steady state. Is it because it is more time consuming???? And what is about multiple comparisons in this case?

It's not time consuming (just ran 24 subjects on a 2x2.8GHz Xeon, 2GB RAM in <10 seconds). Whether you apply model 502 (v5.2) or an ASCII-model of the linear regression, you'll end up with a nice table listing the estimated slopes and their CIs for all subjects.
What do you mean with multiple comparisons?

» Does it mean, that I use 95% CI when I assess steady state by subject and 90% CI when I assess by entire study?

If you mean assessment of steady state I would always use the 95% CI (the 90% CI used in bioequivalence is a rare exception).

You also may opt for a multivariate analysis based on the one-sample Hotelling T2 statistic. Such an approach would not only give you information whether steady state was reached or not, but also when.
Since this test is not included (and I guess will never be) in WinNonlin, you have to go for alternatives.
The cheapest commercial package I know, supporting Hotelling's T2 is NCSS 2007; if you are familiar with the R-language, you may misuse this package under the GPL.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
pkpdpkpd


2007-04-05 21:37

@ Helmut
Posting: # 638
Views: 9,270
 

 steady state in WinNonlin…

Thank you, Helmut.
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2007-04-06 00:23

@ Helmut
Posting: # 639
Views: 9,503
 

 Paired Design in WinNonlin

» I'm waiting for a correct implementation of a paired design (e.g., comparing steady state AUC with single dose AUC in the same subjects) since February 25th, 2007... :angry:

Does Pharsight monitor this site?

Just received the model specification from their support after 40 days of useless e-mails (RTFM); in case somebody needs it (a paired design is neither given in the manual, nor the support site):

Bioequivalence Wizard > Type of Study > Parallel/Other
Choose Treatment and Reference value > Next
Drag 'subject' from the 'Variable Collection' to 'Classification Variables'
Model Specification:
subject+treatment > Next and proceed as usual

WinNonlin's results are identical with NCSS 2001 and EquivTest/PK.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
apapanas
Junior

Greece,
2018-01-03 14:44

@ Helmut
Posting: # 18136
Views: 3,566
 

 steady state in WinNonlin (example)

Dear Helmut,

For your information, I discovered a defect in the calculation of univariate confidence intervals using WNL. I have already contacted Certara, who recognised the issue and shall proceed to relevant update. So, I would not recommend using the linear model 502 for confirmation of steady-state achievement for the time being.

Kindest regards,
Antigoni
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2018-01-04 17:11

@ apapanas
Posting: # 18141
Views: 3,475
 

 steady state in WinNonlin (example)

Hi Antigoni,

» […] I discovered a defect in the calculation of univariate confidence intervals using WNL. I have already contacted Certara, who recognised the issue and shall proceed to relevant update. So, I would not recommend using the linear model 502 for confirmation of steady-state achievement for the time being.

Interesting. How did you discovered that? Using my example data in R:

t <- c(24, 48, 72, 96, 120)
c <- c(18.71, 22.24, 22.44, 25.63, 23.25)
m <- lm(c[3:5] ~ t[3:5]) # use only the last 3
summary(m)

Call:
lm(formula = c[3:5] ~ t[3:5])

Residuals:
      1       2       3
-0.9283  1.8567 -0.9283

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.15333    6.56431   3.375    0.183
t[3:5]       0.01687    0.06700   0.252    0.843

Residual standard error: 2.274 on 1 degrees of freedom
Multiple R-squared:  0.05966,   Adjusted R-squared:  -0.8807
F-statistic: 0.06344 on 1 and 1 DF,  p-value: 0.8429


anova(m)

Analysis of Variance Table

Response: c[3:5]
          Df Sum Sq Mean Sq F value Pr(>F)
t[3:5]     1 0.3280  0.3280  0.0634 0.8429
Residuals  1 5.1708  5.1708


confint(m, level=0.95)[2, ]
     2.5 %     97.5 %
-0.8343986  0.8681486


In Phoenix/WinNonlin 8.0:

Linear Model 502
Estimate        0.016875
StdError        0.066996687
UnivarCI_Lower -1.0886159
UnivarCI_Upper  1.1223659


Linear Mixed Effects
Estimate    0.016875
StdError    0.066996687
Conf_Level 95
Lower_CI   -0.74019547
Upper_CI    0.77394547


Even in bloody M$-Excel 2000 (!) I got an agreement with R up to the fifth significant digit:

 0.016875
 0.066996687
-0.834394981
 0.868144981


:confused:

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
mittyri
Senior

Russia,
2018-01-04 23:13

@ Helmut
Posting: # 18144
Views: 3,412
 

 qt in WinNonlin

Hi Antigoni and Helmut,

That's really weird.
As I see the problem is in quantile function, looks like approximation is not correct for low DF.

R:
qt(0.025, 1:7)
[1] -12.706205  -4.302653  -3.182446  -2.776445  -2.570582
[6]  -2.446912  -2.364624

WNL 502:
-16.50068
-4.327589
-3.18348
-2.7764075
-2.5705446
-2.4469136
-2.3646432


For compliance the same solution could be implemented as R did:
For central qt, a C translation of
Hill, G. W. (1970) Algorithm 396: Student's t-quantiles. Communications of the ACM, 13(10), 619–620.
altered to take account of
Hill, G. W. (1981) Remark on Algorithm 396, ACM Transactions on Mathematical Software, 7, 250–1.

Kind regards,
Mittyri
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2018-01-05 00:37

@ mittyri
Posting: # 18147
Views: 3,407
 

 ‘Deep’ bug

Hi Mittyri,

» As I see the problem is in quantile function, looks like approximation is not correct for low DF.

Wow!

R:
for (df in 1:7) cat(sprintf("%9.6f", qt(0.025, df, lower.tail=FALSE)), "\n")
12.706205
 4.302653
 3.182446
 2.776445
 2.570582
 2.446912
 2.364624


Spreadsheets:
M$-Excel 2000   OO Calc 4.1.1   Gnumeric 1.12.15
  12.706150       12.706205         12.706205
   4.302656        4.302653          4.302653
   3.182449        3.182446          3.182446
   2.776451        2.776445          2.776445
   2.570578        2.570582          2.570582
   2.446914        2.446912          2.446912
   2.364623        2.364624          2.364624


tinv(x, y) was introduced as a custom function in PHX/WNL v6.4. Hence, no checking possible in earlier versions. However:
   v6.4       v7.0       v8.0  
12.706205  12.706205  12.706205
 4.302653   4.302653   4.302653
 3.1824
35   3.182435   3.182435
 2.776445   2.776445   2.776445
 2.570582   2.570582   2.570582
 2.446912   2.446912   2.446912
 2.364624   2.364624   2.364624


Since in my example both the estimate and its standard error are correct, something must be wrong ‘behind the curtains’ in PHX/WNL when calculating the CI.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
Helmut
Hero
avatar
Homepage
Vienna, Austria,
2018-01-08 00:40

@ mittyri
Posting: # 18148
Views: 3,268
 

 Workarounds for v6.3+

Hi Mittyri and Antigoni,

» As I see the problem is in quantile function, looks like approximation is not correct for low DF

Confirmed. I checked the 64bit-versions of PHX/WNL 6.3, 6.4, 7.0, and 8.0 (Linear Mixed Effects and WNL Linear Model 502, 1–7 degrees of freedom). The critical t-value is not reported in Model 502. But we can ­calculate it from the confidence limit(s), the estimate, and its standard error as    (UnivarCI_Upper – Estimate) / StdError or (Estimate – UnivarCI_Lower) / StdError.
 Interesting  Scary that the reported critical t-value in Linear Mixed Effects is also wrong! I didn’t expect that… Results are identical (full numeric precision) in all versions of PHX/WNL. The custom function tinv(0.025, df) introduced in v6.4 is practically correct.

df   R/OO/Gnumeric    LME (rep’d)      %RE     502 (calc)       %RE  tinv(0.025, df)    %RE 
 1 12.706204736175 11.300117888951 –11.0661 16.500679825590 +29.8632 12.706204736175 ±0.0000
 2  4.302652729749  4.270551416408  –0.7461  4.327589042282  +0.5796  4.302652729750 +0.0000
 3  3.182446305284  3.178617037716  –0.1203  3.183479996442  +0.0325  3.182434925786 –0.0004
 4  2.776445105198  2.775582256369  –0.0311  2.776407538431  –0.0014  2.776445033314 –0.0000
 5  2.570581835636  2.570308254272  –0.0106  2.570544577883  –0.0014  2.570581685935 –0.0000
 6  2.446911851145  2.446804416220  –0.0044  2.446913617243  +0.0001  2.446911763977 –0.0000
 7  2.364624251593  2.364575396335  –0.0021  2.364643234749  +0.0008  2.364624210734 –0.0000


Given that, use only LME (map time as Regressor, concentration as Dependent, drag time from Regressors/Covariates to Model Specification). After execution I suggest these workarounds:
  • In v6.3 (might work in earlier versions as well; untested!).
    • Data > New > Worksheet; rename to tcrit
      Two columns: Denom_DF and tinv
      To get the critical t-values:
      R-code
      for (df in 1:28) {
        cat(sprintf("%i %17.14f", df, qt(0.025, df, lower.tail=FALSE)), "\n")
      }

      Open Office Calc, Gnumeric, or current version of M$-Excel
      column A: integer degrees of freedom starting with 1
      name column A as df
      column B: =TINV(0.05, df): drag down to the maximum DFs
      or enter them manually from UsableStats.
    • Navigate to Linear Mixed Effects > Output Data > Final Fixed Parameters > Send To > Data > Merge Worksheets
      Sort: Denom_DF
      Included Column: Effect_Level, Estimate, StdError
      Worksheet 2: tcrit
      Sort: Denom_DF
      Included Column: tinv
      Execute.
    • Output Data > Result > Send To > Data > Data Wizard
      Add a filter: Action: Exclude, Find: NULL, Column: Effect_Level
      Add a filter: Action: Exclude, Find: int, Column: Effect_Level
      Add > Transformation >
      Transformation Type: Custom
      New Column Name: CL_lo
      Formula: Estimate-tinv*StdError
      Add > Transformation >
      Transformation Type: Custom
      New Column Name: CL_hi
      Formula: Estimate+tinv*StdError

  • In ≥6.4:
    • Results > Final Fixed Parameters > Send To > Data > Data Wizard > Add > Transformation >
      Transformation Type: Custom
      New Column Name: CL_lo
      Formula: Estimate-tinv(0.025, Denom_DF)*StdError
      Add another one named CL_hi, Formula: Estimate+tinv(0.025, Denom_DF)*StdError
In BE we don’t need the CI of fixed effects and the degrees of freedom are generally high. However, I’m dumbfounded by such defects in commercial software. Even for high degrees of freedom tinv(x, y) is three orders of magnitude “better” than what is given by LME/BE. Why is it not used?
df   R/OO/Gnumeric       LME = BE        %RE        tinv(0.025, 28)   %RE
28 2.04840714179524  2.04840711367364 –1.37·10–6  2.04840714175209 –2.11·10–9


If you don’t trust in the open source software I used, below an excerpt of R.A. Fisher’s Statistical Methods for Research Workers (1934), the Geigy tables (1980), WolframAlpha, and UsableStats:
df             t(p 0.025)
 1  12.706 12.7062 12.706 12.70620474
 2   4.303  4.3027  4.303  4.30265273
 3   3.182  3.1824  3.182  3.18244912
 4   2.776  2.7764  2.776  2.77644504
 5   2.571  2.5706  2.571  2.57058169
 6   2.447  2.4469  2.447  2.44691177
 7   2.365  2.3646  2.365  2.36462421
28   2.048  2.0484  2.048  2.04840714

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. ☼
Science Quotes
apapanas
Junior

Greece,
2018-01-10 12:47

@ Helmut
Posting: # 18157
Views: 3,000
 

 Workarounds for v6.3+

Dear Helmut,
Thank you for investigating the issue further and for providing recommendations!
Antigoni
Back to the forum Activity
 Thread view
Bioequivalence and Bioavailability Forum |  Admin contact
18,779 posts in 4,000 threads, 1,255 registered users;
online 12 (0 registered, 12 guests [including 9 identified bots]).

I have stopped reading Stephen King novels.
Now I just read C code instead.    Richard A. O'Keefe

The BIOEQUIVALENCE / BIOAVAILABILITY FORUM is hosted by
BEBAC Ing. Helmut Schütz
HTML5 RSS Feed