First of all, i don't know if the correct word is normalise or not, but I'll try to explain my issue.

I have a relationship between an object A and an object B equals 0.5 (max is 1)

you can consider this relationship as a vector that its length is 0.5

I have another vector between A and C and its value is 0.3

I have another vector between A and D and its value is 0.2

so these are the values that I have:

A -> B = 0.5
A -> C = 0.3
A -> D = 0.2

Now I want to give more weight to the relationships. In other words, I really care about A -> B a lot, but I don't care so much about A -> C

so I want to give weight to those numbers, the weights are as this:

the value of A -> B should be multiply by 4
the value of A -> C should be multiply by 1 (so no change)
the value of A -> D should be multiply by 2

my problem is that if i multiply A -> B by 4, then the result is 2, which is bigger than 1. all the values must be between 0 and 1.

my question is how (and what is the abstract equation) to normalise all these values in a correct way?


update 1

In the example I gave to you, it was co incidence that the sum of the values is 1, that's not necessary at all


You normalise back to a sum of $1.0$ by dividing each new weight by the sum of all the new weights:

$\begin{array}{rrrrrrr}A\rightarrow B&=0.5&~~~&0.5 \times 4 =& 2.0&&2.0/2.7=0.74074\\A\rightarrow C&=0.3&&0.3 \times 1 =&0.3&&0.3/2.7=0.11111\\A\rightarrow D&=0.2&&0.2\times2=&\underline{0.4}&&0.4/2.7=\underline{0.14815}\\&&&&\underline{2.7}&&\underline{1.00000}\end{array}$


Your question is still kind of vague but it seems to me that you are looking for one of these:

  • If it is important (and not just coincidence in your example) that all values sum up to $1$, you should take a look at Frentos answer.

  • If the values are independent of each other (i.e. several can be equal to $1$), then you should divide all factors by the biggest factor. In your case, instead of multiplying by $4,1,2$, you should multiply by $1, \frac{1}{4}, \frac{1}{2}$.

Both methods will yield values which between $0$ and $1$.

  • $\begingroup$ I didn't get this ` then you should divide all factors by the biggest factor. In your case that would mean to multiply by ...` could you make the example please ? $\endgroup$ – Marco Dinatsoli Feb 8 '16 at 15:02
  • $\begingroup$ @MarcoDinatsoli Sorry, that sentence was kind of confusing. I edited my answer and hope it is clearer now. $\endgroup$ – j4GGy Feb 9 '16 at 8:36
  • $\begingroup$ Your first method won't give a sum of 1, except in case the original weights are equal. $\endgroup$ – orion Feb 9 '16 at 8:38
  • $\begingroup$ @orion You are right, thanks. Obviously, Frentos had the right answer for that. $\endgroup$ – j4GGy Feb 9 '16 at 8:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.