Для 1-D массивов numpy эти два выражения должны дать тот же результат (теоретически):
(a*b).sum()/a.sum()
dot(a, b)/a.sum()
Последний использует dot()
и быстрее. Но какой из них более точен? Почему?
Ниже приведен контекст.
Я хотел вычислить взвешенную дисперсию образца с помощью numpy.
Я нашел выражение dot()
в другом ответе с комментарием о том, что он должен быть более точным. Однако никаких объяснений здесь нет.