# Tools to identify linear combination of prognostic factors which maximizes area under receiver operator curve

## Abstract

### Background

The linear combination of variables is an attractive method in many medical analyses targeting a score to classify patients. In the case of ROC curves the most popular problem is to identify the linear combination which maximizes area under curve (AUC). This problem is complete closed when normality assumptions are met. With no assumption of normality search algorithm are avoided because it is accepted that we have to evaluate AUC nd times where n is the number of distinct observation and d is the number of variables.

### Methods

For d = 2, using particularities of AUC formula, we described an algorithm which lowered the number of evaluations of AUC from n2 to n(n-1) + 1. For d > 2 our proposed solution is an approximate method by considering equidistant points on the unit sphere in Rd where we evaluate AUC.

### Results

The algorithms were applied to data from our lab to predict response of treatment by a set of molecular markers in cervical cancers patients. In order to evaluate the strength of our algorithms a simulation was added.

### Conclusions

In the case of no normality presented algorithms are feasible. For many variables computation time could be increased but acceptable.

## Background and previous results

In oncology one of the most used endpoint is treatment response. Let’s denote by D the associated variable. There are two possible values: D = 1 if the patient responds to treatment and D = 0 if the patient has no response.

Let’s suppose that there are two prognostic factors and let’s denote by X1 and X2 the random variable associated. X1 and X2 could be numeric or ordinal and the patient is getting better or worse as the value is smaller or bigger. For simplicity of the talk we suppose that both are numeric.

If X is one of X1 or X2 and c is a value from the range of X then the sensitivity (Se) or value "true positive" (TP) of variable X for c value is the probability that X > c for the patients which have a positive response to treatment:

$\mathit{S}{\mathit{e}}_{\mathit{X}}\left(\mathit{c}\right)=\mathit{T}{\mathit{P}}_{\mathit{X}}\left(\mathit{c}\right)=\mathit{P}\left(\mathit{X}>\mathit{c}\left|\mathit{D}=1\right)\right$

The specificity (Sp) is the probability that X ≤ c for the patients which have no response "true negative" (TN):

$\mathit{S}{\mathit{p}}_{\mathit{X}}\left(\mathit{c}\right)=\mathit{P}\left(\mathit{X}\le \mathit{c}\left|\mathit{D}=0\right)\right.$

A special importance has "false postive" (FP) value defined by

$\mathit{F}{\mathit{P}}_{\mathit{X}}\left(\mathit{c}\right)=1-\mathit{S}{\mathit{p}}_{\mathit{X}}\left(\mathit{c}\right)=\mathit{P}\left(\mathit{X}>\mathit{c}\left|\mathit{D}=0\right)\right.$

For a continuous variable X, "receiver operating characteristics" (ROC) curve  is the curve formed with the points

$\left(1-\mathit{S}{\mathit{P}}_{\mathit{X}}\left(\mathit{c}\right),\mathit{S}{\mathit{e}}_{\mathit{X}}\left(\mathit{c}\right)\right)$

that is

$\left(\mathit{F}{\mathit{P}}_{\mathit{X}}\left(\mathit{c}\right),\mathit{T}{\mathit{P}}_{\mathit{X}}\left(\mathit{c}\right)\right)$

for all possible values of c.

Area under curve (AUC) "measures" the potential influence of the random variable on treatment response. AUC values are between 0.5 and 1 and if they are in the proximity of 1 the variable is more important in the process of response prediction.

In the case of a discrete random variable with the numerical values c1 < c2 < … < c n , the ROC curve is formed by joining the points

$\left\{\left(0,0\right),\left(\mathit{\text{FP}}\left({\mathit{c}}_{1}\right),\mathit{\text{TP}}\left({\mathit{c}}_{1}\right)\right),\left(\mathit{\text{FP}}\left({\mathit{c}}_{2}\right),\mathit{\text{TP}}\left({\mathit{c}}_{2}\right)\right),\dots ,\left(\mathit{\text{FP}}\left({\mathit{c}}_{\mathit{n}}\right),\mathit{\text{TP}}\left({\mathit{c}}_{\mathit{n}}\right)\right),\left(1,1\right)\right\}$

For continuous variables with unknown distributions the simplest way to evaluate AUC is to take a random sample and to build the polygonal line as for discrete variables.

The theory is similar if the signs > and < are changed each other in previous definitions. In practice it is chosen an increasing sequence c1 < c2 < … < c n or a decreasing sequence c1 > c2 > … > c n so that AUC > 0.5.

Major interest is to test equality of AUC with 0.5.

If we have a unique random variable from all studied variables which has AUC > 0.5, at chosen significance level, than we can use this variable as prediction instrument.

If exists multiple variables with AUC > 0.5 emerges the problem of multivariate prediction counting on all variables.

Let’s suppose first that we have only two random variables. First natural variant is to choose a linear combination of the two variables as a global instrument of response prediction.

In formal terms the problem can be stated as an algorithm to find a pair of real numbers (α1, α2) so that global random variable

$\mathit{Z}={\mathit{\alpha }}_{1}{\mathit{X}}_{1}+{\mathit{\alpha }}_{2}{\mathit{X}}_{2}$

induces a maximal AUC.

For a clear presentation let’s suppose that for the pair (X1, X2) there are n distinct observed values denoted by

$\left({\mathit{x}}_{1\mathit{i}},{\mathit{x}}_{2\mathit{i}}\right),\mathit{i}=1,\dots ,\mathit{n}$
(1)

Also

$\left({\mathit{n}}_{0\mathit{i}},{\mathit{n}}_{1\mathit{i}}\right),\mathit{i}=1,\dots ,\mathit{n}$
(2)

denote the number of patients that have no response, have response respectively for observation groups i;

${\mathit{n}}_{0}=\sum _{\mathit{i}=1}^{\mathit{n}}{\mathit{n}}_{0\mathit{i}},{\mathit{n}}_{1}=\sum _{\mathit{i}=1}^{\mathit{n}}{\mathit{n}}_{1\mathit{i}}$
(3)

denote the whole number of patients without response, with response respectively.

The ideea to solve frontal the problem without supplementary hyoptheses was generally rejected because at first sight the algorithms that evaluate AUC for all possible cases are complicated and this needs longer times to solve even for lower values of n and even with the help of computers.

Usually this problem is solved adding supplementary conditions or hypoteses to variables X1 and X2 . In [9, 10] there are two comprehensive surveys. The problem is completly solved only when normality is supposed for variables X1 and X2. As sofware we have to mention SAS solution of  for normality case.

Present paper for a pair of variables (X1, X2) shows a reasonable algorithm which evaluates AUC for at most n(n - 1) + 1 times where n is the number of distinct values of the sample. For more than two variables it is proposed an algorithm which produces well aproximate solutions.

Firstly we prove some properties of linear combinations of two variables which are the basis of our algorithm. Next paragraph introduces an approximate solution for the case of two and extends the algorithm to more than two variables. An example occured in the cancer reaserch of our lab is presented subsequently. The example is solved with programs showed in Additional file 1. For each program short explanations or comments are inserted. The paper end with a summary of a simmulation on 20 studies with 200 observations each in order to evaluate the reliability of altgorithms.

## Results

### Properties of AUC evaluated for variables formed by linear combinations of two variables

The algorithm from next section is based on some elementary proprieties derived from the calculus formula of AUC.

Let’s suppose that there are two real values α1, α2 fixed and we try to evaluate AUC for the linear combination

Z = α1X1 + α2X2 with the observations shown at (1) and (2).

Let’s denote

${\mathit{z}}_{\mathit{i}}={\mathit{\alpha }}_{1}{\mathit{x}}_{1\mathit{i}}+{\mathit{\alpha }}_{2}{\mathit{x}}_{2\mathit{i}},\mathit{i}=1,\dots ,\mathit{n}$
(4)

the sample values of Z variable.

From [1, 9, 10, 12] the formula to evaluate AUC for random variable Z is

$\text{AUC}=\frac{1}{{\mathit{n}}_{0}{\mathit{n}}_{1}}\sum _{\mathit{i},\mathit{j}=1}^{\mathit{n}}{\mathit{n}}_{1\mathit{i}}{\mathit{n}}_{0\mathit{j}}\mathit{\psi }\left({\mathit{z}}_{\mathit{i}},{\mathit{z}}_{\mathit{j}}\right)$
(5)

where

$\mathit{\psi }\left({\mathit{z}}_{\mathit{i}},{\mathit{z}}_{\mathit{j}}\right)=\left\{\begin{array}{l}1\phantom{\rule{0.25em}{0ex}}\text{for}\phantom{\rule{0.25em}{0ex}}{\mathit{z}}_{\mathit{i}}>{\mathit{z}}_{\mathit{j}}\\ 0.5\phantom{\rule{0.25em}{0ex}}\text{for}\phantom{\rule{0.25em}{0ex}}{\mathit{z}}_{\mathit{i}}={\mathit{z}}_{\mathit{j}}\\ 0\phantom{\rule{0.25em}{0ex}}\text{for}\phantom{\rule{0.25em}{0ex}}{\mathit{z}}_{\mathit{i}}<{\mathit{z}}_{\mathit{j}}\end{array}\right\$
(6)

with z1, z2, …, z n sorted ascending. In practice it is chosen ascending or descending order of z1, z2, …, z n so that AUC ≥ 0.5 but the results are similar.

#### Property 1

For (α1, α2) fixed, ROC curve depends only by the order (increasing or decreasing) in which values z1, z2, …, z n are.

Proof For fixed α1, α2 let’s denote T(α1, α2) = {z i  = α1x1i + α2x2i|i = 1, …, n}

If T(α1, α2) has m distinct elements t1 < t2 < … < t m and if I t denotes the set of indexes so that the variable Z takes value t: I t  = {i|z i  = t} then from (5) and (6) ROC curve depends only by the set $\mathit{M}\left({\mathit{\alpha }}_{1},{\mathit{\alpha }}_{2}\right)=\left\{{\mathit{I}}_{{\mathit{t}}_{1}},\dots ,{\mathit{I}}_{{\mathit{t}}_{\mathit{m}}}\right\}$.

#### Property 2

Each point located on a line through origin determines same ROC curves.

Proof For a fixed pairα1, α2, {(λα1, λα2)|λ real, λ ≠ 0} is the line through origin. It produces same ROC curve due to fact that M(λα1, λα2) = M(α1, α2) for any λ.

#### Property 3

Each pair of values i1 ≠ i2 with ${\mathit{z}}_{{\mathit{i}}_{1}}={\mathit{z}}_{{\mathit{i}}_{2}}$ determines a line trough origin and the points of this line generate same ROC curve.

Proof Let’s suppose that at least two values from the set T(α1, α2) are equal. Let’s denote i1, i2 two indexes with i1 ≠ i2 and ${\mathit{z}}_{{\mathit{i}}_{1}}={\mathit{z}}_{{\mathit{i}}_{2}}$ that is

${\mathit{\alpha }}_{1}{\mathit{x}}_{1{\mathit{i}}_{1}}+{\mathit{\alpha }}_{2}{\mathit{x}}_{2{\mathit{i}}_{1}}={\mathit{\alpha }}_{1}{\mathit{x}}_{1{\mathit{i}}_{2}}+{\mathit{\alpha }}_{2}{\mathit{x}}_{2{\mathit{i}}_{2}}$

and further

${\mathit{\alpha }}_{1}\left({\mathit{x}}_{1{\mathit{i}}_{1}}-{\mathit{x}}_{1{\mathit{i}}_{2}}\right)+{\mathit{\alpha }}_{2}\left({\mathit{x}}_{2{\mathit{i}}_{1}}-{\mathit{x}}_{2{\mathit{i}}_{2}}\right)=0$
(7)

In the plane α10α2, (7) is the equation of a line that passes through origin.

#### Property 4

The set of points (α1, α2) where ROC curve has same value is convex.

Proof The forth property shows that if $\mathit{M}\left({\mathit{\alpha }}_{1},{\mathit{\alpha }}_{2}\right)=\mathit{M}\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)$ for $\left({\mathit{\alpha }}_{1},{\mathit{\alpha }}_{2}\right)\ne \left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)$ then $\mathit{M}\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)=\mathit{M}\left({\mathit{\alpha }}_{1},{\mathit{\alpha }}_{2}\right)=\mathit{M}\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)$ for any point $\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)$ located on the segment determined by (α1, α2) and $\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)$. The proof comes from the observation that for any point $\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)$ on the segment (α1, α2) and $\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)$ there is a real number λ [0, 1] so that ${\mathit{\alpha }}_{{}_{1}}^{"}=\mathit{\lambda }{\mathit{\alpha }}_{1}+\left(1-\mathit{\lambda }\right){\mathit{\alpha }}_{{}_{1}}^{\text{'}}$ and ${\mathit{\alpha }}_{{}_{2}}^{"}=\mathit{\lambda }{\mathit{\alpha }}_{2}+\left(1-\mathit{\lambda }\right){\mathit{\alpha }}_{{}_{2}}^{\text{'}}$. We show that the order of values z1, z2, …, z n remains unchanged also for $\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)$.

Indeed, for two distinct indexes i, j with z i  < z j for both (α1, α2) and $\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)$ we compute the values of z i and z j for $\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)$:

$\begin{array}{l}{\mathit{z}}_{\mathit{i}}\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)={\mathit{\alpha }}_{{}_{1}}^{"}{\mathit{x}}_{1\mathit{i}}+{\mathit{\alpha }}_{{}_{2}}^{"}{\mathit{x}}_{2\mathit{i}}=\\ =\left(\mathit{\lambda }{\mathit{\alpha }}_{1}+\left(1-\mathit{\lambda }\right){\mathit{\alpha }}_{{}_{1}}^{\text{'}}\right){\mathit{x}}_{1\mathit{i}}+\left(\mathit{\lambda }{\mathit{\alpha }}_{2}+\left(1-\mathit{\lambda }\right){\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right){\mathit{x}}_{2\mathit{i}}=\\ =\mathit{\lambda }\left({\mathit{\alpha }}_{1}{\mathit{x}}_{1\mathit{i}}+{\mathit{\alpha }}_{2}{\mathit{x}}_{2\mathit{i}}\right)+\left(1-\mathit{\lambda }\right)\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}}{\mathit{x}}_{1\mathit{i}}+{\mathit{\alpha }}_{{}_{2}}^{\text{'}}{\mathit{x}}_{2\mathit{i}}\right)=\\ =\mathit{\lambda }{\mathit{z}}_{\mathit{i}}\left({\mathit{\alpha }}_{1},{\mathit{\alpha }}_{2}\right)+\left(1-\mathit{\lambda }\right){\mathit{z}}_{\mathit{i}}\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)\\ \phantom{\rule{1em}{0ex}}<\mathit{\lambda }{\mathit{z}}_{\mathit{j}}\left({\mathit{\alpha }}_{1},{\mathit{\alpha }}_{2}\right)+\left(1-\mathit{\lambda }\right){\mathit{z}}_{\mathit{j}}\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}},{\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right)=\\ =\mathit{\lambda }\left({\mathit{\alpha }}_{1}{\mathit{x}}_{1\mathit{j}}+{\mathit{\alpha }}_{2}{\mathit{x}}_{2\mathit{j}}\right)+\left(1-\mathit{\lambda }\right)\left({\mathit{\alpha }}_{{}_{1}}^{\text{'}}{\mathit{x}}_{1\mathit{j}}+{\mathit{\alpha }}_{{}_{2}}^{\text{'}}{\mathit{x}}_{2\mathit{j}}\right)=\\ =\left(\mathit{\lambda }{\mathit{\alpha }}_{1}+\left(1-\mathit{\lambda }\right){\mathit{\alpha }}_{{}_{1}}^{\text{'}}\right){\mathit{x}}_{1\mathit{j}}+\left(\mathit{\lambda }{\mathit{\alpha }}_{2}+\left(1-\mathit{\lambda }\right){\mathit{\alpha }}_{{}_{2}}^{\text{'}}\right){\mathit{x}}_{2\mathit{j}}=\\ ={\mathit{\alpha }}_{{}_{1}}^{"}{\mathit{x}}_{1\mathit{j}}+{\mathit{\alpha }}_{{}_{2}}^{"}{\mathit{x}}_{2\mathit{j}}={\mathit{z}}_{\mathit{j}}\left({\mathit{\alpha }}_{1}^{"},{\mathit{\alpha }}_{2}^{"}\right).\end{array}$

Further if the order of z1, z2, …, z n is unchanged for $\left({\mathit{\alpha }}_{{}_{1}}^{"},{\mathit{\alpha }}_{{}_{2}}^{"}\right)$, the ROC curves are identical.

### Algorithm to identify the linear combination of two variables which maximizes AUC

We have to identify in plane (α1, α2) the regions where AUCs are constants. From previous section we know that these regions are infinite triangles with the peak in origin. These triangles can be defined by the lines coming from (7). The whole number of them is ${\mathit{C}}_{\mathit{n}}^{2}=\frac{\mathit{n}\left(\mathit{n}-1\right)}{2}$ and they divide the plane in maximum C n 2 + 1 distinct regions. From the last property M(α1, α2) is constant if (α1, α2) are in the same region. Now we have to compute AUC for a point from each region and for a point from each line through origin that split two regions. The maximum number of AUC evaluations are n(n - 1) + 1.

To finish we need a strategy to chose the points where AUC will be evaluated. Our proposition consists of building up an auxiliary line that intersects all lines (7). The intersections with lines (7) generates maximum C n 2 - 1 finite segments and two infinite segments. For the finite segments we have chosen the margins and the middles as points to evaluate AUC. For the infinite segments we have chosen points located at distance of one unit from the fixed margin.

The authors have a program in Additional file 1 by which they solved the problem from above. In this program they have chose for auxiliary line the slope equal with

$\underset{\mathit{i},\mathit{j}=1,\dots ,\mathit{n}}{\text{min}}\left\{\frac{{\mathit{x}}_{1\mathit{j}}-{\mathit{x}}_{1\mathit{i}}}{{\mathit{x}}_{2\mathit{j}}-{\mathit{x}}_{2\mathit{i}}}\left|\mathit{i}\ne \mathit{j},{\mathit{x}}_{2\mathit{j}}\ne {\mathit{x}}_{2\mathit{i}}\right\right\}-1$
(8)

and the line passes through the point (0, 1). This slope is lower than all slopes derived from equations (7) so that the intersection points are certain.

Supplementary the points where we evaluate AUC can be chosen normalized conform to second property on the unity circle so that α12 + α22 = 1.

### Approximate methods to identify the linear combination with maximal AUC

In  the evaluation of (α1, α2) with α2 ≠ 0 in the expression α1X1 + α2X2 is reduced at the identification of α [ - 1, 1] in X1 + αX2 and then the interval [ - 1, 1] is divided in 201 equal segments. The maximal value is from the set of AUC on each segment extremity. Our proposition is to consider on unity circle all the points where AUC is evaluated. Supplementary from symmetry we need to evaluate AUC only in quadrant I and IV. More exactly we evaluate AUC for (α1, α2) with

$\begin{array}{ll}\phantom{\rule{5pt}{0ex}}{\mathit{\alpha }}_{1}& =sin\mathit{\theta },{\mathit{\alpha }}_{2}=cos\mathit{\theta }\phantom{\rule{0.12em}{0ex}}\mathrm{for}\phantom{\rule{0.12em}{0ex}}\mathit{\theta }\\ =-\frac{\mathit{\pi }}{2},-\frac{\mathit{\pi }}{2}+\frac{\mathit{\pi }}{200},-\frac{\mathit{\pi }}{2}+2\frac{\mathit{\pi }}{200},\dots ,-\frac{\mathit{\pi }}{2}+200\frac{\mathit{\pi }}{200}.\end{array}$

The precision can be improved by dividing quadrant I and IV in more and more regions subsequently. Practically we divide the quadrant I and IV till the divisions are smaller than an apriori limit.

This view permits easy extension when we have more than two prognostic factors.

For X1, X2, …, X f prognostic factors, with f > 2, extension consists in a method to highlight or to move on the unit sphere in space with f dimensions. Our proposal is to consider for α1, α2, …, α f the following values:

$\left\{\begin{array}{l}{\mathit{\alpha }}_{1}=cos{\mathit{\theta }}_{1}\\ {\mathit{\alpha }}_{2}=sin{\mathit{\theta }}_{1}cos{\mathit{\theta }}_{2}\\ {\mathit{\alpha }}_{3}=sin{\mathit{\theta }}_{1}sin{\mathit{\theta }}_{2}cos{\mathit{\theta }}_{3}\\ \dots \\ {\mathit{\alpha }}_{\mathit{f}-1}=sin{\mathit{\theta }}_{1}sin{\mathit{\theta }}_{2}\dots cos{\mathit{\theta }}_{\mathit{f}-1}\\ {\mathit{\alpha }}_{\mathit{f}}=sin{\mathit{\theta }}_{1}sin{\mathit{\theta }}_{2}\dots sin{\mathit{\theta }}_{\mathit{f}-1}\end{array}\right\$
(9)

with

${\mathit{\theta }}_{1},\dots ,{\mathit{\theta }}_{\mathit{f}-1}\in \left\{-\frac{\mathit{\pi }}{2},-\frac{\mathit{\pi }}{2}+\frac{\mathit{\pi }}{200},-\frac{\mathit{\pi }}{2}+2\frac{\mathit{\pi }}{200},\dots ,-\frac{\mathit{\pi }}{2}+200\frac{\mathit{\pi }}{200}\right\}.$
(10)

Of course if we want to increase the precision we can increase the number points inside the interval $\left[-\frac{\mathit{\pi }}{2},+\frac{\mathit{\pi }}{2}\right]$.

The authors have a program in Additional file 1 which was used to solve the example from next section.

### Example

In  there is an interim result of a study for several molecular markers in relation to response to treatment for cervix cancers. Endpoint was considered the patient status found at 30 days after the end of treatment. We have D = 1 or D = 0 as the patient presented complete remission or residual tumor at 30 days. It were 14 patients with D = 1 and 12 patients with D = 0.

From univariate analysis were retained: Vascular Endothelial Growth Factor Receptor (VEGFR) (AUC = 0.74, p = 0.02), dimesion of tumor (AUC = 0.73, p = 0.001) and age (AUC = 0.67, p = 0.06). Logistic model for multivariate analysis  did not validate any linear combination of these factors.

Due to this failure we built a program associated to the method described in paragraph 3 (see Additional file 1).

We started by dividing quadrant I and IV in 50 parts. Linear combination that maximizes the AUC for this division has solution:

{0.998027, -0.0608178, 0.0156154}

and AUC = 0.815476.

Dividing the I-st and IV-th quadrant in 100 parts yields the following solution

{0.998027, -0.0602973, 0.017518},

{0.998027, -0.0608178, 0.0156154},

{0.995562, -0.0939226, 0.00590911}

and AUC = 0.815476.

For 150 parts the solution is

{0.998027, -0.0604775, 0.0168856},

{0.998027, -0.0608178, 0.0156154},

{0.996493, -0.0835127, 0.00525418}

and AUC = 0.815476

For 200 parts the solution is

{0.996917, -0.0753438, 0.0218894},

{0.996917, -0.0756783, 0.0207032}

and AUC = 0.821429.

For 300 parts the solution is

{0.997314, -0.0694128, 0.02336},

{0.997314, -0.0696537, 0.0226318},

{0.997314, -0.0698868, 0.0219012},

{0.997314, -0.0701124, 0.0211682},

{0.997314, -0.0714744, 0.0159764},

{0.997314, -0.0716378, 0.0152271}

and AUC = 0.821429.

As can be seen increased number of divisions for 50, 100 and 150 does not change the maximum of AUC but increases the number of points where maximum AUC value is reached.

For 200 and 300 divisions the same area under the curve with very small increase for AUC of 0.00595238 makes us believe that we are close to global solution.

Figure 1 shows the ROC curves for the two linear combinations that give the two AUC values outlined above. We used firstly the score:

$\begin{array}{ll}\phantom{\rule{5pt}{0ex}}0.998027& ×\mathrm{VEGFR}-0.0608178×\mathrm{dimension}\phantom{\rule{0.25em}{0ex}}\mathrm{of}\phantom{\rule{0.25em}{0ex}}\mathrm{tumor}\\ +0.0156154×\mathrm{age}\end{array}$

resulting from algorithm with 150 divisions then the score

$\begin{array}{ll}\phantom{\rule{5pt}{0ex}}0.996917& ×\mathrm{VEGFR}-0.0753438×\mathrm{dimension}\phantom{\rule{0.25em}{0ex}}\mathrm{of}\phantom{\rule{0.25em}{0ex}}\mathrm{tumor}\\ +0.0218894×\mathrm{age}\end{array}$

resulting from algorithm with 300 divisions.

Note that both scores have the values of p highly significant, and we propose the solution that has higher AUC.

Although computer times were acceptable (between 37 seconds to 50 divisions and 1 hour and 13 minutes to 300 divisions) we do not believe that would be necessary to go further with the number of divisions and we believe that a good solution could be

$\begin{array}{ll}\phantom{\rule{5pt}{0ex}}0.996917& ×\mathrm{VEGFR}-0.0753438×\mathrm{dimension}\phantom{\rule{0.25em}{0ex}}\mathrm{of}\phantom{\rule{0.25em}{0ex}}\mathrm{tumor}\\ +0.0218894×\mathrm{age}.\end{array}$

Furthermore criteria of classification from ROC curve analysis  tells us for this choice that patients with score higher than 1.425782 are patients from whom we expect a better result (Se = 0.71, Sp = 0.92).

### Simulation

As previous example has a small number of observations we have made a simulation for 20 studies with 200 observations each with three prognostic factors. For the first factor, cases were selected from a pseudonormal variable with mean 1 and standard deviation of 3 and controls from a pseudonormal variable with mean 3 and standard deviation 3.5. The second and third prognostic factor, also come from a pseudonormal variable with standard deviation of 3 and 3.5 respectively for cases and controls and with averages of 4 and 6 for controls respectively 6 and 6.5 for cases.

The simulation was made on a Lenovo computer with operating system Windows 7 Ultimate on 64-bit with an i7 processor at 1.37 Gz in parallel with the current work of the author i.e. text editing, Internet browsing and reading emails. The result of the simulation for the algorithm presented before for 50, 100 and 200 segments are shown in Table 1. It is noted that the jump from 50 to 100 segments produces a change in AUC only to the third decimal place (the maximum value of 0.0012 to simulation 15). Jump from 100 segments to 200 segments changes AUC only at the fourth decimal place (the maximum value of 0.0008 to simulation 14). We believe that in practice there is no need to move beyond 200 divisions only for outstanding situations.

Average execution time for 50, 100 and 200 segments was 18 minutes, 1 hour and 18 minutes, 5 hours and 40 minutes which is an acceptable time for a practical problem.

## Discussions and conclusions

Multivariate analysis is used largely in any medical paper. However testing the hypotheses in modeling is not a very simple task and this is the reason for trying a lot of potential models and choose the model best suited to observations. The papers of [4, 6, 1519] prove that there is a large basis to use linear combinations of variables in ROC analysis. If we do not have solid condition to apply for example one of the cited models, the method from our paper produces always a score for which we have maximal AUC or an approximate.

On the other hand in a classical model of regression it is known that the numerical methods used to identify the model parameters not always provide a global maximum and depends heavily on the initial values of the algorithm. The solution presented we believe could be used there as a baseline for these algorithms.

The main advantage of presented algorithms is that it always provides a solution. However for many prognostic factors and observations, time of the calculation could be a problem.

Certainly, approximate method is more appropriate in this last case despite the fact that it does not guarantee a global solution. However it is guaranteed to yield a solution with AUC higher than each variable taken separately.

Our algorithm can be used in any medical paper as an alternate method for multivariate analysis.

The presented algorithms have major advantage to provide always a solution with no supplementary constraints.

For many variables computation time is high but not high enough as not to accept this cost.

## References

1. Bamber D: The area above the ordinal dominance graph and the area below the receiver operating characteristics graph. J Math Psychol. 1975, 12: 387-415. 10.1016/0022-2496(75)90001-2.

2. Jin H, Lu Y: A procedure for determining whether a simple combination of diagnostic tests may be noninferior to the theoretical optimum combination. Med Decis Mak. 2008, 28: 909-916. 10.1177/0272989X08318462.

3. Ma S, Huang J: Combining multiple markers for classification using ROC. Biometrics. 2007, 63: 751-757. 10.1111/j.1541-0420.2006.00731.x.

4. Xiong C, McKeel DW, Miller JP, Morris JC: Combining correlated diagnostic tests: application to neuropathologic diagnosis of alzheimer’s disease. Med Decis Mak. 2004, 24: 659-669. 10.1177/0272989X04271046.

5. Pepe MS, Thompson ML: Combining diagnostic test results to increase accuracy. Biostatistics. 2000, 1: 123-140. 10.1093/biostatistics/1.2.123.

6. Pepe MS: An interpretation for ROC curve and inference using GLIM procedures. Biometrics. 2000, 56: 352-359. 10.1111/j.0006-341X.2000.00352.x.

7. Metz CE, Herman BA, Shen JH: Maximum likelihood estimation of receiver operating characteristics (ROC) curves from continuously distributed data. Stat Med. 1998, 17: 1033-1053. 10.1002/(SICI)1097-0258(19980515)17:9<1033::AID-SIM784>3.0.CO;2-Z.

8. Su JQ, Liu JS: Linear combinations of multiple diagnostic markers. J Am Stat Assoc. 1993, 88: 1350-1355. 10.1080/01621459.1993.10476417.

9. Zou KH, Liu A, Bandos A, Ohno-Machado L, Rockette HE: Statistical Evaluation of Diagnostic Performance: Topics in ROC Analysis. 2011, Boca Raton, FL: Chapman & Hall/CRC Biostatistics Series, Taylor & Francis

10. Krzanowski WJ, Hand DJ: ROC Curves for Continuous Data. 2009, Boca Raton, FL: Chapman & Hall/CRC

11. Gönen M: Analyzing Receiver Operating Characteristic Curves with SAS. 2007, Cary, NC: SAS Institute Inc.

12. Zhou XH, Obuchowski NA, McClish DK: Statistical Methods in Diagnostic Medicine. 2002, New York: JohnWiley

13. Nagy VM, Buiga R, Brie I, Todor N, Tudoran O, Ordeanu C, Virag P, Tarta O, Rus M, Balacesu O: Expression of VEGF, VEGFR, EGFR, COX-2 and MDV in cervical carcinoma, in relation with response to radio-chemotherapy. Rom J Morphol Embryol. 2011, 52: 53-59. http://www.rjme.ro/RJME/resources/files/520111053059.pdf,

14. Hosmer DW, Stanley L: Applied Logistic Regression. 2000, New York, Chichester: Wiley, 2

15. Liu C, Liu A, Halabi S: A min-max combination of biomarkers to improve diagnostic accuracy. Stat Med. 2011, 30: 2005-2014. 10.1002/sim.4238.

16. Pepe MS, Janes H, Longton G, Leisering W, Newcomb P: Limitations of the odds ratio in gauging the performance of a diagnostic, prognostic, or screening marker. Am J Epidemiol. 2004, 159: 882-890. 10.1093/aje/kwh101.

17. Thomson ML: Assessing the diagnostic accuracy of a sequence of tests. Biostatistics. 2003, 4: 341-351. 10.1093/biostatistics/4.3.341.

18. Pepe MS: Three approaches to regression analysis of receiver operating characteristic curves for continuous test result. Biometrics. 1998, 54: 124-135. 10.2307/2534001.

19. Pepe MS: A regression modeling framework for receiver operating characteristic curves in medical diagnostic testing. Biometrika. 1997, 84: 595-608. 10.1093/biomet/84.3.595.

## Acknowledgements

The authors thank to Nagy Viorica for the data comming from his cited study. The authors thank to Company for Applied Informatics with his executive director Nas Sorin for their’s upport of research.

## Author information

Authors

### Corresponding author

Correspondence to Nicolae Todor.

### Competing interests

The authors declare that they have no competing interests.

### Authors’ contributions

Authors have equal contributions but main responsibilities were as follows. NT has the idea of the study, and participated in its design and coordination. IT carried out the medical data, performed the statistical analysis and drafted the manuscript. SG carried out programming and design of the algotithms. All authors read and approved the final manuscript.

Nicolae Todor, Irina Todor and Gavril Săplăcan contributed equally to this work.

## Electronic supplementary material

### 13336_2014_91_MOESM1_ESM.doc

Additional file 1: AUC evaluation, Maximum AUC evaluation for a pair of variables, Maximum AUC evaluation for more than two variables.(DOC 43 KB)

## Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

## Rights and permissions 