1. ホーム
  2. python

[解決済み] NumPyにおける加重標準偏差

2023-01-03 14:46:40

質問

numpy.average() にはweightsオプションがありますが numpy.std() にはありません。 どなたか回避策をご存知ですか?

どのように解決するのですか?

以下のような短いquot;manual calculation"はどうでしょうか?

def weighted_avg_and_std(values, weights):
    """
    Return the weighted average and standard deviation.

    values, weights -- Numpy ndarrays with the same shape.
    """
    average = numpy.average(values, weights=weights)
    # Fast and numerically precise:
    variance = numpy.average((values-average)**2, weights=weights)
    return (average, math.sqrt(variance))