# Can the variable that is responsible for bad performance of a predictive model be identified?

In the context of pharmacokinetics, we try to predict an experimental variable $E$ (obtained from an expensive in vivo study that can only be run on few molecules), by a theoretical model that uses (much cheaper to obtain) experimental variables $u$ and $f$, and has the form $P = \frac{Q \cdot u \cdot f} {Q + u \cdot f}$, where $Q$ is a constant (value = 5.1).
$P$ is the predicted value of $E$. All these variables are positive, and $f$ can't be greater than 1. See below the R code for a dataset E_vs_P containing actual values of these variables. Each record corresponds to a different molecule.

E_vs_P <- structure(list(E = c(3, 0.136, 0.143, 0.609, 0.1, 0.009, 2.8,
0.119, 3.68, 0.038, 0.055, 0.149, 0.007, 0.001, 0.02, 0.023,
0.35, 2.32, 0.061, 0.0204, 0.442, 0.061, 0.06, 0.12, 0.045, 0.004,
0.211, 0.276, 0.129, 0.0659, 0.038, 0.024, 0.06, 0.065, 0.362,
0.08, 0.788, 0.18, 0.122, 0.0464, 0.142, 0.931, 4.7, 2.64, 2.22,
1.26, 0.064, 0.102, 0.027, 0.054, 0.498, 0.25, 0.027, 0.238,
1.28, 3.14, 0.0694, 0.365, 1.38, 0.298, 0.103, 0.612, 0.204,
0.365, 4.26, 0.06, 0.162, 0.192, 0.093, 0.111, 0.487, 2.06, 2.17,
0.369, 0.453, 2.37, 0.669, 0.399, 0.327, 0.485, 2.91, 1.8, 3.95,
0.262, 2.37, 1.14, 1.71, 0.49, 0.072, 0.437, 1.52, 0.5, 0.196,
0.197, 0.466, 0.268, 0.399, 1.31, 3.3, 2.16, 0.382, 0.277, 1.62,
0.766, 1.03, 0.216, 0.844, 0.817, 0.25, 2.79, 2.51, 3.37, 0.286,
0.897, 0.589, 0.655, 2.19, 1.43, 0.882, 0.373, 0.638, 0.86, 0.596,
0.143, 0.196, 0.721, 0.37, 1.63, 0.127, 1.5, 0.431, 0.26, 0.781,
2.129, 0.052, 0.0848, 0.645, 1.29, 1.54, 0.155, 0.082, 1, 2.56,
2.01, 2.86, 0.173, 0.871, 2.59, 0.351, 0.24, 0.2, 0.658, 0.444,
0.218, 0.724, 1.94, 0.706, 0.0526, 0.049, 1.06, 0.74, 0.0564,
3.24, 0.145, 2.59, 0.933, 1.93, 4.66, 0.399, 0.516, 0.639, 1.22,
0.337, 1.44, 1.36, 1.885, 1.53, 1.92, 3.59, 0.371, 1.67, 0.0631,
3.58, 1.15, 0.842, 0.839, 0.806, 1.53, 1.74, 1.18, 1.09, 1.1,
2.5, 0.068, 0.05, 3.4, 1.7, 3.2, 2.1, 1.5, 1.8, 2.795, 2.8, 3.3,
2.5, 3.4, 0.5, 2.915, 1.3, 4.2, 2.34, 2.6, 1.005, 3.8, 4.3, 0.3,
0.3675, 4.71, 0.183, 1.92, 3.07, 0.123, 0.201, 0.69, 1.97, 2.25,
3.63, 0.39, 0.993, 0.814, 2.79, 0.104, 3.08, 2.66, 4.35, 0.218,
0.122, 0.251, 0.415, 2.435, 2.56, 2.3, 3.98, 3.777, 4.73, 0.029,
3.77, 0.384, 2.11, 3.543, 0.529, 0.638, 0.22, 1.22, 0.025, 0.167,
0.718, 2.33, 0.045, 3.86, 0.065, 1.78, 0.111, 1.95, 0.07, 0.107,
0.833, 0.907, 0.079, 0.952, 4.02, 1.27, 0.627, 1.79, 1.4, 0.526,
0.069, 0.894, 0.551, 0.304, 0.1205, 0.045, 0.787, 1.22, 0.213,
0.149, 1.41, 0.303, 0.051, 0.1755, 1.18, 1.31, 1.05, 1.47, 0.434,
0.455, 0.594, 0.495, 0.67, 1.87, 0.252, 0.26, 0.857, 0.216, 3.86,
0.799, 1.23, 2.08, 0.132, 0.796, 2.12, 0.073, 2.04, 0.177, 0.064,
1.07, 0.01, 0.241, 0.036, 0.535, 0.279, 0.008, 0.571, 1.27, 0.0246,
0.037, 0.018, 3.05, 0.176, 0.369, 0.143, 0.126, 1.86, 1.11, 2.87,
0.906), f = c(0.0245, 0.0025, 0.004, 0.006, 0.0095, 5e-04, 0.002,
0.09, 0.023, 0.002, 0.007, 0.0095, 0.005, 0.002, 0.0015, 0.001,
0.003, 0.013, 0.003, 0.001, 0.007, 0.001, 0.001666667, 0.0065,
0.005, 5e-04, 0.198, 0.16575, 0.0205, 0.0205, 0.0195, 5e-04,
0.002, 0.0065, 0.037, 0.001, 0.187, 0.0015, 0.0195, 0.01, 0.008,
0.0015, 0.0105, 0.021, 0.0075, 0.012, 0.0145, 0.0595, 0.0045,
0.004, 0.0165, 0.001, 0.0225, 0.02, 0.048, 0.018, 0.0055, 0.022,
0.008, 0.051, 0.01, 0.011, 0.012, 0.08, 0.0235, 0.0095, 0.01,
0.014571429, 0.002, 0.009, 0.022333333, 0.0345, 0.139, 0.0025,
0.0195, 0.02, 0.1945, 0.059833333, 0.0164, 0.0075, 0.0045, 0.0015,
0.2465, 0.019, 0.045, 0.1435, 0.076, 5e-04, 0.008, 0.059, 0.001,
0.0015, 0.006333333, 0.007, 0.097375, 0.001, 0.001, 0.005, 0.0025,
0.0015, 0.0015, 0.0072, 0.002, 0.364, 0.1165, 0.0275, 0.1538,
0.0625, 0.0155, 0.004, 0.146, 0.057, 0.012, 0.006, 0.0145, 0.0445,
0.051666667, 0.051666667, 0.121, 0.006, 0.036666667, 0.036666667,
0.039, 0.0235, 0.0165, 0.1295, 0.01175, 0.0655, 0.0016, 0.014,
0.2015, 0.009, 0.002, 0.045, 0.0055, 0.003, 0.013125, 0.002,
0.189375, 0.001833333, 0.002, 0.029, 0.0485, 0.023833333, 0.078166667,
0.001, 0.0145, 0.059333333, 0.01975, 0.002, 0.0125, 0.015166667,
0.020166667, 0.020166667, 0.020166667, 0.049, 0.01, 0.0045, 0.00325,
0.052625, 0.0795, 0.0045, 0.373, 0.0075, 0.098, 0.17, 0.128,
0.853666667, 0.0415, 0.02825, 0.02825, 0.047, 0.013, 0.203666667,
0.254333333, 0.254333333, 0.1155, 0.1915, 0.148, 0.015333333,
0.0745, 0.007, 0.108, 0.176, 0.120833333, 0.104666667, 0.074,
0.088, 0.1, 0.0625, 0.11, 0.42125, 0.0105, 0.001, 0.001, 0.3435,
0.0185, 0.2235, 0.196, 0.0605, 0.3965, 0.01175, 0.2675, 0.0185,
0.1075, 0.298, 0.032, 0.1355, 0.03, 0.148, 0.058, 0.5525, 0.0215,
0.1, 0.089, 0.008, 0.0085, 0.021, 0.0055, 0.079666667, 0.47625,
0.012, 0.103, 0.025, 0.006, 0.1615, 0.3165, 0.00625, 0.1195,
0.0384, 0.0865, 0.00875, 0.138, 0.1915, 0.165, 0.00475, 0.0055,
0.0155, 0.004, 0.133, 0.117, 0.005, 0.286, 0.08, 0.6095, 5e-04,
0.531, 0.001, 0.0995, 0.313, 0.125333333, 0.125333333, 0.0195,
0.014, 0.005333333, 0.008666667, 0.094166667, 0.305, 0.004, 0.2365,
0.011, 0.0735, 0.0315, 0.065, 0.055, 0.013, 0.02, 0.2175, 0.034666667,
0.0665, 0.047, 0.0785, 0.002, 0.0175, 0.0545, 0.020166667, 0.0015,
0.014, 0.0025, 0.0615, 0.074666667, 0.0145, 0.0025, 0.0325, 0.0075,
0.0195, 0.003, 0.002, 5e-04, 0.065666667, 0.045, 0.0595, 0.002,
0.0025, 0.0045, 0.001, 0.038, 0.001, 0.0305, 0.1065, 0.001, 0.0025,
0.079, 0.1105, 0.155, 0.099, 0.0225, 0.1285, 0.079, 0.0035, 0.1445,
5e-04, 0.142, 0.0055, 0.0075, 0.001, 0.001, 0.004, 0.0135, 0.0145,
0.0225, 0.002, 0.0895, 0.001, 0.000333333, 0.001, 0.001666667,
0.005, 0.010333333, 0.0035, 0.0135, 0.0065, 0.0055, 0.0035, 0.031,
0.093), u = c(78.8, 1.86, 4.73, 3.49, 4, 16, 6.23, 187.177885,
1.97, 16, 12.3, 3.46, 2.14, 1.64, 9.72, 11.4, 3.024, 1.78, 3.6288,
2.68, 2.91, 16.4, 7.62, 4.48, 3.53, 9.35, 1.69, 3.73, 2.29, 1.79,
2.37, 30.24, 9.59, 3.43, 3.46, 4.94, 8.65, 82.7, 1.62, 1.65,
1.84, 65.1, 16.6, 5.23, 23.3, 11.5, 2.37, 1.42, 4.86, 2.5, 5.77,
2.93, 5.52, 6.89, 1.61, 13.6, 2.09, 9.71, 19.3, 1.86, 5.68, 4.01,
3.38, 1.61, 1.79, 3.16, 2.05, 2.06, 2.7216, 1.58, 3.12, 5.43,
2.68, 43, 3.16, 8.42, 4.74, 4.5, 4.94, 18.5, 44.3, 99.2, 4.92,
4.87, 1.37, 6.65, 8.2, 3.56, 2.45, 1.59, 69.5, 4.536, 5.11, 3.19,
2.22, 12.96, 54.432, 6.39, 25.2, 10.1, 28.6, 2.21, 3.2, 3.02,
4.73, 2.75, 1.6, 3.6, 1.79, 1.88, 6.13, 9.34, 3.06, 3.888, 2.09,
5.59, 7.63, 7.63, 2.08, 20.9, 6.8, 6.8, 6.21, 10.5, 3.402, 4.02,
1.99, 1.4175, 2.14, 25.6, 5.22, 6.55, 2.37, 0.994, 2.52, 2.39,
1.74, 3.73, 3.8, 0.393, 23.6, 1.46, 21.9, 0.735, 1.44, 26.3,
4.96, 1.42, 11.1, 51.8, 2.71, 1.35, 6.46, 6.46, 6.46, 1.45, 2.81,
1.83, 3.35, 4.01, 2.747839343, 1.46, 1.67, 12.6, 10.9, 1.62,
1.35, 1.95, 1.54, 2.83, 2.83, 1.42, 7.73, 1.6, 1.91, 1.91, 6.4,
1.68, 2.8, 2.43, 10.5, 1.41, 7, 2.6, 5.45, 6.07, 4.19, 5.54,
3.77, 2.34, 11.5, 2.7, 2.99, 3.48, 3.48, 4.48, 6.54, 1.7, 5.59,
7.722178618, 4.02, 47.4, 11.6, 35.3, 3.62, 4.33, 4.97, 6.5, 21.9,
2.83, 5.2, 1.37, 9, 4.67, 10.4, 12.6, 14.5, 5.66, 3.07, 1.74,
1.46, 1.32, 1.48, 3.24, 10.5, 1.77, 1.81, 3.73, 1.09, 1.38, 4.67,
6.103643666, 1.03, 3.71, 5.29, 4.46, 4.72, 2.99, 7.46, 3.4, 3.73,
4.536, 1.8, 9.74, 1.47, 3.08, 1.47, 12.2, 4.59, 9.67, 2.04, 2.04,
2.81, 29.3, 1.58, 2.57, 1.91, 1.93, 3.78, 1.83, 5.23, 3.2, 1.59,
3.6, 1.72, 4.12, 3.76, 5.18, 2.46, 1.73, 1.8, 3.45, 1.71, 3.78,
5.46, 8.2, 31.8, 9.32, 16.8, 1.59, 1.5552, 3.45, 22.4, 5.32,
27.1, 5.92, 7.56, 2.835, 54.9, 1.45, 3.38, 3.63, 4.39, 5.92,
2.39, 8.33, 7.19, 5.14, 9.04, 17.8, 2.9, 2.268, 2.54, 2.93, 12.8,
2.24, 7.61, 3.67, 1.93, 1.52, 6.27, 2.14, 2.85, 1.88, 2.23, 41.5,
2.62, 5.46, 1.39, 17.6, 2.06, 5.92, 5.87, 15.12, 17.01, 54.432,
90.72, 4.7, 5.54, 2.45, 4.32, 2.7216, 17.9, 8.505, 2.05, 3.28
), P = c(1.400985788, 0.004656019, 0.01886394, 0.020830577, 0.03774098,
0.007992162, 0.012431607, 3.914818711, 0.044960119, 0.031819057,
0.084684042, 0.032637124, 0.010695577, 0.003276929, 0.014538437,
0.011346558, 0.009055891, 0.023020326, 0.010863212, 0.00267549,
0.020292811, 0.016336252, 0.012665537, 0.028946228, 0.017611698,
0.004672172, 0.314092614, 0.551168792, 0.046457617, 0.036443498,
0.045705523, 0.015075306, 0.0191076, 0.022221537, 0.124905248,
0.004939717, 1.228015893, 0.121109078, 0.031395532, 0.01644137,
0.014669037, 0.095869086, 0.168372126, 0.107514569, 0.168656402,
0.134581883, 0.034086472, 0.083396438, 0.021776617, 0.009968002,
0.093526898, 0.002926979, 0.121184874, 0.134129862, 0.076145753,
0.233648446, 0.011488523, 0.205119623, 0.150016839, 0.093329819,
0.056197134, 0.043784464, 0.040215668, 0.125658819, 0.041682277,
0.029887998, 0.020391067, 0.029867689, 0.005437397, 0.014201275,
0.068758262, 0.180686076, 0.347268852, 0.105301197, 0.060908674,
0.162933124, 0.781254464, 0.255570462, 0.079817865, 0.135005161,
0.191705786, 0.144642731, 0.979684935, 0.090903633, 0.061113342,
0.803700574, 0.555120313, 0.001780969, 0.019539982, 0.09193299,
0.068600613, 0.006794935, 0.032186955, 0.022261116, 0.20765442,
0.01292715, 0.053857185, 0.03173942, 0.062230373, 0.015054429,
0.042561664, 0.015881706, 0.006395734, 0.903659722, 0.497076486,
0.074495711, 0.234227494, 0.215275006, 0.027602948, 0.007504671,
0.761864615, 0.482146531, 0.036433582, 0.023221781, 0.030176689,
0.237115985, 0.366025991, 0.366025991, 0.239530234, 0.122227265,
0.237573087, 0.237573087, 0.231191414, 0.235435478, 0.0555219,
0.471845107, 0.023235842, 0.091186192, 0.003426484, 0.334699033,
0.872625932, 0.058293108, 0.004728829, 0.044356154, 0.013822435,
0.007152061, 0.022795728, 0.007445553, 0.630980876, 0.000721,
0.046712527, 0.042083402, 0.877480458, 0.017453876, 0.11012938,
0.026140255, 0.070868819, 0.083166644, 0.209932609, 0.101491948,
0.033711639, 0.020352906, 0.127088657, 0.127088657, 0.127088657,
0.069962223, 0.0279856, 0.008207398, 0.010850222, 0.2024318,
0.209480353, 0.006576026, 0.555018509, 0.09313298, 0.881637928,
0.261290323, 0.166816866, 1.254346607, 0.063022978, 0.078636276,
0.078636276, 0.066103265, 0.098539126, 0.307160915, 0.443289381,
0.443289381, 0.645471135, 0.302839045, 0.382734054, 0.036954115,
0.676209987, 0.009852019, 0.658287109, 0.41943152, 0.582993249,
0.564573129, 0.292115171, 0.444926723, 0.350915279, 0.142368446,
1.014610169, 0.929719472, 0.031210897, 0.003478206, 0.003478206,
1.182994155, 0.118143363, 0.352886143, 0.902461537, 0.427985652,
1.215150223, 0.501931344, 1.929752941, 0.579629532, 0.361378203,
1.030450806, 0.154165196, 0.75110335, 0.581058568, 0.386790489,
0.284744051, 0.657627545, 0.186403767, 0.427541373, 0.783746309,
0.09872642, 0.120041664, 0.116139542, 0.016849458, 0.135300419,
0.612863233, 0.015804849, 0.147542036, 0.079733642, 0.062042109,
0.27039102, 0.513937588, 0.023195393, 0.126792353, 0.052329061,
0.374253353, 0.052853405, 0.138723306, 0.62365547, 0.745168111,
0.021105086, 0.025816438, 0.04585979, 0.029670865, 0.415000858,
0.402076717, 0.022579587, 0.468389236, 0.67563559, 0.761416455,
0.001539699, 0.678472788, 0.012133159, 0.418978378, 1.899173183,
0.243580092, 0.243580092, 0.054131853, 0.379746433, 0.008425129,
0.022155408, 0.173452858, 0.527633962, 0.015075306, 0.398252321,
0.056929647, 0.224733632, 0.049566443, 0.2237733, 0.092723353,
0.053049656, 0.074023307, 0.922726641, 0.083762689, 0.11272987,
0.083327958, 0.257052815, 0.0034211, 0.065246765, 0.281398096,
0.160180899, 0.047305433, 0.127224236, 0.041556623, 0.096038873,
0.113536494, 0.049468881, 0.055456129, 0.167314432, 0.195264485,
0.112819961, 0.022579587, 0.005663703, 0.027308568, 0.093323448,
0.147867441, 0.207029148, 0.008764268, 0.01474853, 0.010720575,
0.008319065, 0.259392448, 0.005129929, 0.261571738, 1.381643091,
0.002893676, 0.005663703, 0.192957708, 0.304075961, 1.425566619,
0.212397449, 0.165727451, 0.431283381, 0.14805991, 0.005316017,
0.769062575, 0.001071271, 0.37542071, 0.010302456, 0.016676439,
0.041186792, 0.002615581, 0.021738363, 0.018677064, 0.242957066,
0.045972729, 0.011805652, 0.476566029, 0.015075306, 0.005663703,
0.053857185, 0.146846435, 0.023377221, 0.056583295, 0.008567206,
0.057660634, 0.017629249, 0.096644098, 0.029594762, 0.062707984,
0.28751961)), .Names = c("E", "f", "u", "P"), row.names = c(NA,
-336L), class = c("tbl_df", "tbl", "data.frame"), spec = structure(list(
cols = structure(list(E = structure(list(), class = c("collector_double",
"collector")), f = structure(list(), class = c("collector_double",
"collector")), u = structure(list(), class = c("collector_double",
"collector")), P = structure(list(), class = c("collector_double",
"collector"))), .Names = c("E", "f", "u", "P")), default = structure(list(), class = c("collector_guess",
"collector"))), .Names = c("cols", "default"), class = "col_spec"))


You can see that $E$ and $P$ are somewhat correlated, especially if you plot both axes in log scale.

plot(E_vs_P$P,E_vs_P$E,log="xy")
cor(log(E_vs_P$P),log(E_vs_P$E))


However, the 'concordance correlation coefficient' is quite low, i.e. the values don't match.

ccc <- 2*cov(log(E_vs_P$P),log(E_vs_P$E))/(var(log(E_vs_P$E))+var(log(E_vs_P$P))+(mean(log(E_vs_P$E))-mean(log(E_vs_P$P)))^2)
ccc
m1 <- lm(log(E)~log(P),data=E_vs_P)
summary(m1)
plot(log(E_vs_P$P),log(E_vs_P$E))
abline(reg = m1, untf = FALSE,col=2)
abline(a=0,b=1, untf = FALSE,col=4)


So we may be able to rank the molecules more or less satisfactorily based on their $P$, but the absolute prediction of $E$ is off the mark and in particular it's biased ($P$ underestimates $E$ most of the time), which is bad because $P$ is used in other calculations that strongly depend on its accuracy.

A rather rough approach that is sometimes used is to multiply $P$ by a factor 5, which provides a nicer-looking plot, but has no theoretical justification (and more importantly may lead to predicted values of $E$ greater than $Q$, which is instead impossible when the original model is applied, and is not acceptable, for other reasons that would be too long to explain).

plot(log(5*E_vs_P$P),log(E_vs_P$E))
abline(a=0,b=1, untf = FALSE,col=4)


Several complicated theories have been put forward to explain the 'disconnect' between $E$ and $P$. Many of these argue that there is an error in either $u$ or $f$, not so much in their value (which is measured quite accurately), but in their application to the model, due to complex physiological mechanisms that were not taken into account when the $P$ model was originally developed.
For instance, some researcher suggested that $f$, in the context of the calculation of $P$, should be multiplied by a certain factor. Other researchers proposed instead that it's the value of $u$ that should be corrected by a given factor. Of course both groups carefully selected their data in order to support their own hypothesis, so in their papers everything seemed to 'make sense'.

But I wanted to look at my own data and determine which correction was actually most beneficial. And then I found that I could not discriminate between correcting $u$ and correcting $f$, if we assume that the 'correction' is simply multiplying either of them by a constant factor, valid for all molecules. They appear both at the numerator and denominator of the function that defines $P$, in both cases as a product $u \cdot f$.

Am I missing something? Would you be able to suggest a way to study the impact of correcting $f$ as opposed to the impact of correcting $u$?

Thanks

EDIT: in response to whuber's post.

E_vs_P["r"] <- with(E_vs_P,E*5.1/(5.1-E))
m3 <- lm(log(r)~log(u)+log(f)+0,data=E_vs_P)
summary(m3)

Coefficients:
Estimate Std. Error t value Pr(>|t|)
log(u)  0.67087    0.09118   7.358 1.46e-12 ***
log(f)  0.41686    0.03761  11.082  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.615 on 334 degrees of freedom
Multiple R-squared:  0.2905,    Adjusted R-squared:  0.2863
F-statistic: 68.39 on 2 and 334 DF,  p-value: < 2.2e-16


EDIT 2: in response to whuber's post #2.

m2 <- lm(log(r)~log(u)+log(f),data=E_vs_P)
summary(mr2)

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)  1.74333    0.21215   8.217 4.68e-15 ***
log(u)       0.44641    0.08763   5.094 5.87e-07 ***
log(f)       0.70426    0.04902  14.366  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.474 on 333 degrees of freedom
Multiple R-squared:  0.3827,    Adjusted R-squared:  0.379
F-statistic: 103.2 on 2 and 333 DF,  p-value: < 2.2e-16


EDIT 3: in response to whuber's post #3.

More 'direct' approach:

E_vs_P["log10_E"] <- log10(E_vs_P$E) m_nls <- nls(log10_E ~ log10(5.1*f*u*10^(ps)/(5.1+f*u*10^(ps))),start=c(ps=0),data=E_vs_P) summary(m_nls) Formula: log10_E ~ log10(5.1 * f * u * 10^(ps)/(5.1 + f * u * 10^(ps))) Parameters: Estimate Std. Error t value Pr(>|t|) ps 0.9337 0.0377 24.77 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.5649 on 335 degrees of freedom Number of iterations to convergence: 5 Achieved convergence tolerance: 1.917e-06  which seems to pay off: ccc <- function(x,y) {2*cov(x,y)/(var(x)+var(y)+(mean(x)-mean(y))^2)} ccc(E_vs_P$log10_E,predict(m_nls))
[1] 0.6045152
cor(E_vs_P$log10_E,predict(m_nls)) [1] 0.6083353  • (1) Can you explain the outlier where u is 187? (2) Consider modeling$\log(EQ/(Q-E))$in terms of$\log(u)$and$\log(f).$– whuber Jun 11 '18 at 21:37 • Thank you @whuber ; I tried your suggestion (assuming I understood what you meant) and added it to the edited section at the end of the OP. Trouble is, I don't know how to interpret the coefficients. And no, at the moment I have no hypothesis to explain the outlier. – user6376297 Jun 12 '18 at 11:05 • Please do not remove the intercept term--it is needed in your model. Including it will greatly improve the fit. – whuber Jun 12 '18 at 12:49 • OK, done. The intercept (1.74) looks like a correction factor for$u$and/or$f$, but I still don't know to which one it applies (conceptually). And the fact that now$u$and$f\$ are raised to non-1 exponents makes the theoretical interpretation even harder. So I suppose this would be an empirical model that fits the data a bit better, not one that can be justified theoretically. – user6376297 Jun 13 '18 at 6:14
• Well, you have a conundrum: your theoretical model is a lousy description of the data and a better description (which still isn't great) doesn't fit the model. There are several ways you can go from here. The constructive ones will include deeper examinations of how (and possibly why) the data deviate from the predictions. In light of this, though, I'm not quite sure what your question amounts to. – whuber Jun 13 '18 at 12:50