#####
# what i think you're doing currently...
# -- estimate mortality/prevalence ratios from observed data
set.seed(123)
df <- data.frame(
mort1 = runif(n = 1000, min = 0.03, max = 0.05),
prev1 = runif(n = 1000, min = 0.19, max = 0.21)
)
df$mp_ratio <- df$mort1 / df$prev1
df$mp_ratio_logit <- qlogis(df$mp_ratio)
fit1 <- lm(mp_ratio_logit ~ 1, data = df)
plogis(fit1$coefficients) # gives a MP ratio of about 0.2
## (Intercept)
## 0.1983003
# -- apply the predicted ratio to mortality to get an estimate of prevalence
df_pred <- data.frame(mort2 = seq(0.02, 0.24, by = 0.02))
df_pred$logit_mp_pred <- predict(fit1, newdata = df_pred)
df_pred$prev2 <- df_pred$mort2 / plogis(df_pred$logit_mp_pred) # uh oh, some prevalence are >1
df_pred
## mort2 logit_mp_pred prev2
## 1 0.02 -1.396952 0.1008571
## 2 0.04 -1.396952 0.2017143
## 3 0.06 -1.396952 0.3025714
## 4 0.08 -1.396952 0.4034285
## 5 0.10 -1.396952 0.5042857
## 6 0.12 -1.396952 0.6051428
## 7 0.14 -1.396952 0.7059999
## 8 0.16 -1.396952 0.8068571
## 9 0.18 -1.396952 0.9077142
## 10 0.20 -1.396952 1.0085713
## 11 0.22 -1.396952 1.1094285
## 12 0.24 -1.396952 1.2102856
#####
# what i'd suggest
# -- this will work as long as mortality is always >0 and <1
df$logit_diff <- qlogis(df$mort1) - qlogis(df$prev1)
fit2 <- lm(logit_diff ~ 1, data = df)
#-- the predictions are now answering the question,
# how much do i need to adjust a logit-space mortality observations to
#. turn it into logit-space prevalence
#-- it's no longer interpretable as a MP ratio
df_pred$logitscale_adjustment_pred <- predict(fit2, newdata = df_pred)
df_pred$prev3 <- plogis(qlogis(df_pred$mort2) - df_pred$logitscale_adjustment_pred)
df_pred
## mort2 logit_mp_pred prev2 logitscale_adjustment_pred prev3
## 1 0.02 -1.396952 0.1008571 -1.803096 0.1101976
## 2 0.04 -1.396952 0.2017143 -1.803096 0.2018200
## 3 0.06 -1.396952 0.3025714 -1.803096 0.2791988
## 4 0.08 -1.396952 0.4034285 -1.803096 0.3454159
## 5 0.10 -1.396952 0.5042857 -1.803096 0.4027238
## 6 0.12 -1.396952 0.6051428 -1.803096 0.4528074
## 7 0.14 -1.396952 0.7059999 -1.803096 0.4969515
## 8 0.16 -1.396952 0.8068571 -1.803096 0.5361538
## 9 0.18 -1.396952 0.9077142 -1.803096 0.5711999
## 10 0.20 -1.396952 1.0085713 -1.803096 0.6027177
## 11 0.22 -1.396952 1.1094285 -1.803096 0.6312143
## 12 0.24 -1.396952 1.2102856 -1.803096 0.6571043