0
$\begingroup$

Assume a game wherein a character's "power" is made up of several factors, like speed, weight, body build, etc. And let's say that each of these factors were scored 0, 1, 2 wherein 0 means average, 1 means slightly above average, and 2 means above average. If there were, say, 5 factors that affected power, it means the character could score a maximum of 10 points. If the scores of the individual factors were added, that could be used as the character's "power rating" (e.g. 7/10).

What if sometimes the score can be 0, -1, and -2 for a particular factor? Would the same formula apply to compute the character's power? The maximum score would no longer be 10 points (assuming some combination of factors that have 0 and positive values AND 0 and negative values).

I'm just looking for some way to fairly compute such a score.

$\endgroup$

2 Answers 2

1
$\begingroup$

Why not just use the sample average: $\bar{X} = \dfrac{1}{n}\sum_{i=1}^n X_i$. In your first example their average would be $7/5 = 1.4$. For 5 'factors' this average ranges from $-2$ to $2$.

This average does not distinguish the factors in any way (perhaps 'speed' should contribute more to 'power' than 'body build'?) In that case you can use a weighted average and weight your 'factors' according to your beliefs on how much they contribute to 'power'. The weights just have to sum to 1.

$\endgroup$
2
  • $\begingroup$ Would that mean that 0 = 0%, 2 = 100% and -2 = -100%? $\endgroup$ Oct 7, 2013 at 22:27
  • $\begingroup$ Sure you can think about it that way. $\endgroup$
    – bdeonovic
    Oct 8, 2013 at 0:04
0
$\begingroup$

Let's say you have 10 factors describing the power of a player.

5 of them give give scores between 0 and 2 (0, 1, 2).

5 others, give scores between -2 and 0 (-2, -1, 0).

As a result the mean combined score for a player is 0 (assuming the probability of receiving any score for any factor is uniform / identical).

The range of possible combined scores is [-1, +1].

You can "translate" the score in the range [-1, +1] to any other range such as [0, 10] to get a familiar player assessment like 7/10.

A sample R code:

> n <- 1e6
> 
> score <- matrix(NA,n,10)
> 
> for (i in 1:n) {
+ 
+  score[i,1:5] <- round(runif(5,0,2))
+  score[i,6:10]<- round(runif(5,-2,0))
+  
+ }
> 
> total.score <- sapply(1:n, function(i) sum(score[i,])/10)
> 
> mean(total.score)
[1] 0.0001154
> range(total.score)
[1] -1  1
> 
> (sample.total.scores <- c(-1,-0.1,0,0.5,1))
[1] -1.0 -0.1  0.0  0.5  1.0
> 
> (sample.total.scores+1)/diff(range(total.score))*10
[1]  0.0  4.5  5.0  7.5 10.0
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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