new regression rule for lambda_z in Phoenix: bug or new feature? [Software]
Dear all,
A quick question regarding the best fit regression method to determine \(\lambda_z\) in Phoenix.
I vaguely recall that in older WinNonlin and early version of Phoenix, the rule to determine the \(\lambda_z\) is more or less like this: starting from the last 3 points, do the regression and calculate \(R^2_\textrm{adj}\), then include last 4 points and repeat the regression and calculate \(R^2_\textrm{adj}\), if \(R^2_\textrm{adj}\) improves (more than some tolerance limit such as 0.0001), continue move forward by including 1 more early point, ..., until your \(R^2_\textrm{adj}\) does not improve or improves but within tolerance limit, then you stop. Even when there are more time points after \(t_\textrm{mx}\), we do not proceed forward. Those are what I remembered and there were examples of some R code in this forum to implement such approaches.
However, I noticed that in the recent Phoenix Certara changed the method to the following: starting from the last 3 points, do the regression and calculate \(R^2_\textrm{adj}\), and repeat it until you reach the point after \(t_\textrm{mx}\) (for oral dose). Then you compare all the \(R^2_\textrm{adj}\), the biggest \(R^2_\textrm{adj}\) is the winner. If there are more than 1 \(R^2_\textrm{adj}\) within tolerance limit (e.g., 0.0001), then the winner is the one including the most time points.
I paraphrased the new procedure and left some details that's irrelevant to my question below. You can read it in details here.
When I noticed the difference of PK values that I got from my R code and the results received from CRO using Phoenix, I thought I might have found a bug in Phoenix. But then I saw the manual of the new version of Phoenix, it seems they did it deliberately.
I think that the previous method (even though with its limitations) is better. To cite Helmut's word, the previous best fit method is "greedy" (compared to the eyes of pharmacokineticist). Now I don't have a word for the new method. "Greeeeeeedy"? Does anyone know why they changed it? Simon, are you still here? Is this a bug or new feature?
Edit: Category changed. [Helmut]
A quick question regarding the best fit regression method to determine \(\lambda_z\) in Phoenix.
I vaguely recall that in older WinNonlin and early version of Phoenix, the rule to determine the \(\lambda_z\) is more or less like this: starting from the last 3 points, do the regression and calculate \(R^2_\textrm{adj}\), then include last 4 points and repeat the regression and calculate \(R^2_\textrm{adj}\), if \(R^2_\textrm{adj}\) improves (more than some tolerance limit such as 0.0001), continue move forward by including 1 more early point, ..., until your \(R^2_\textrm{adj}\) does not improve or improves but within tolerance limit, then you stop. Even when there are more time points after \(t_\textrm{mx}\), we do not proceed forward. Those are what I remembered and there were examples of some R code in this forum to implement such approaches.
However, I noticed that in the recent Phoenix Certara changed the method to the following: starting from the last 3 points, do the regression and calculate \(R^2_\textrm{adj}\), and repeat it until you reach the point after \(t_\textrm{mx}\) (for oral dose). Then you compare all the \(R^2_\textrm{adj}\), the biggest \(R^2_\textrm{adj}\) is the winner. If there are more than 1 \(R^2_\textrm{adj}\) within tolerance limit (e.g., 0.0001), then the winner is the one including the most time points.
I paraphrased the new procedure and left some details that's irrelevant to my question below. You can read it in details here.
When I noticed the difference of PK values that I got from my R code and the results received from CRO using Phoenix, I thought I might have found a bug in Phoenix. But then I saw the manual of the new version of Phoenix, it seems they did it deliberately.
I think that the previous method (even though with its limitations) is better. To cite Helmut's word, the previous best fit method is "greedy" (compared to the eyes of pharmacokineticist). Now I don't have a word for the new method. "Greeeeeeedy"? Does anyone know why they changed it? Simon, are you still here? Is this a bug or new feature?

Edit: Category changed. [Helmut]
—
All the best,
Shuanghe
All the best,
Shuanghe
Complete thread:
- new regression rule for lambda_z in Phoenix: bug or new feature?Shuanghe 2025-11-10 15:55 [Software]
- new regression rule for lambda_z in Phoenix: bug or new feature? Helmut 2025-11-11 08:42
- new regression rule for lambda_z in Phoenix: no change in implementation SDavis 2025-11-11 14:24
- new regression rule for lambda_z in Phoenix: no change in implementation Shuanghe 2025-11-11 22:38
- Old User’s Guides Helmut 2025-11-11 23:20
- Misinterpretation Helmut 2025-11-12 12:16
- Misinterpretation Shuanghe 2025-11-12 21:24
- Misinterpretation Helmut 2025-11-15 09:38
- Misinterpretation billdenney 2026-02-27 14:20
- Clarification Helmut 2026-02-27 15:29
- Misinterpretation Shuanghe 2025-11-12 21:24
- Rewording appreciated Helmut 2025-11-12 10:30
- Reason for failing to calculate lambda and Kel in Phoenix jag009 2026-01-29 04:20
- Reason for failing to estimate λz Helmut 2026-01-29 11:04
- Reason for failing to calculate lambda and Kel in Phoenix jag009 2026-01-29 04:20
- new regression rule for lambda_z in Phoenix: no change in implementation Shuanghe 2025-11-11 22:38
