Moyenne pondérée à l'aide de numpy.moyenne
J'ai un tableau:
In [37]: bias_2e13 # our array
Out[37]:
[1.7277990734072355,
1.9718263893212737,
2.469657573252167,
2.869022991373125,
3.314720313010104,
4.232269039271717]
L'erreur sur chaque valeur du tableau est:
In [38]: bias_error_2e13 # the error on each value
Out[38]:
array([ 0.13271387, 0.06842465, 0.06937965, 0.23886647, 0.30458249,
0.57906816])
Maintenant je partage l'erreur sur chaque valeur par 2:
In [39]: error_half # error divided by 2
Out[39]:
array([ 0.06635694, 0.03421232, 0.03468982, 0.11943323, 0.15229124,
0.28953408])
Maintenant, je calculer la moyenne de la matrice à l'aide de numpy.average
, mais à l'aide de la errors
comme weights
.
D'abord je suis en utilisant le plein d'erreur sur les valeurs, alors que je suis en utilisant la moitié de la
erreur, c'est à dire l'erreur divisé par 2.
In [40]: test = np.average(bias_2e13,weights=bias_error_2e13)
In [41]: test_2 = np.average(bias_2e13,weights=error_half)
Comment faire à la fois les moyennes de me donner le même résultat lorsqu'un tableau a des erreurs qui sont la moitié de celle de l'autre?
In [42]: test
Out[42]: 3.3604746813456936
In [43]: test_2
Out[43]: 3.3604746813456936
OriginalL'auteur ThePredator | 2016-07-07
Vous devez vous connecter pour publier un commentaire.
Parce que toutes les erreurs ont la même poids relatif. La fourniture d'une
weight
paramètre ne pas modifier les valeurs réelles vous êtes en moyenne, il indique juste le poids avec lequel chaque valeur de valeur contribue à la moyenne. En d'autres termes, après avoir multipliant chaque valeur transmise par son poids correspondant,np.average
divise par la somme des pondérations fournies.Efficacement, au moyen de la formule pour un
n
dimensions de la matrice comme conteneur estoù chaque poids est supposé être égal à 1 lorsqu'il n'est pas prévu pour
numpy.moyenne
.OriginalL'auteur miradulo
De scipy.org sur numpy moyenne: "Un tableau des poids associés avec les valeurs dans un. Chaque valeur dans un contribue à la moyenne en fonction de son poids."
Cela signifie que les erreurs de contribuer par rapport à la moyenne! Donc une multiplication des erreurs avec le même facteur ne change rien! Essayez de multiplier par exemple seule la première erreur avec 0,5 et vous obtiendrez un résultat différent.
OriginalL'auteur Scotty1-