2010-10-22 15 views
10

Powiedzmy, jesteśmy obliczenia średnie wyniki testów:Ogólne - Czy istnieje sposób obliczania średniej na podstawie istniejącej średniej i nowych parametrów dla średniej wynikowej?

Począwszy wyniki testów: 75, 80, 92, 64, 83, 99, 79

średni = 572/7 = 81,714 ...

Dany teraz 81,714, czy istnieje sposób na dodanie nowego zestawu wyników testów, aby "wydłużyć" tę średnią, jeśli nie znasz początkowych wyników testu? wyniki

Nowy test: 66, 89, 71

średni = 226/3 = 75,333 ...

Normal Średnia byłoby: 798/10 = 79,8

Próbowałam :

Avg = (OldAvg + sumOfNewScores)/(numOfNewScores + 1) 

(81.714 + 226)/(3 + 1) = 76.9285 

Avg = (OldAvg + NewAvg)/2 

(81.714 + 79.8)/2 = 80.77 

I nie podają dokładnej średniej, że "powinno" być. Czy jest to matematycznie możliwe, biorąc pod uwagę, że nie znasz początkowych wartości?

Odpowiedz

19

Musisz znać liczbę wyników testów w oryginalnym zestawie i starą Średnia:

newAve = ((oldAve*oldNumPoints) + x)/(oldNumPoints+1) 
4

Say, masz 2 bloki punktów:

1st: n scores with average = a1 
2nd: m scores with average = a2 

następnie średnia całkowitej punktacji wynosi:

a1*(1.0*n/(m+n))+a2*(1.0*m/(m+n)) 

W przypadku, gdy chcesz po prostu dodać 1 wynik (a2) istniejącego zestawu formuły staje

a1*(n/(n+1))+ a2/(n+1) 
2

Standardowym podejściem jest przechowywanie liczby i sumy wartości.

Można je łatwo aktualizować, a od nich można obliczyć średnią bez utraty precyzji.

Powiązane problemy