arrays – Root mean square of a function in python

arrays – Root mean square of a function in python

Im going to assume that you want to compute the expression given by the following pseudocode:

ms = 0
for i = 1 ... N
    ms = ms + y[i]^2
ms = ms / N
rms = sqrt(ms)

i.e. the square root of the mean of the squared values of elements of y.

In numpy, you can simply square y, take its mean and then its square root as follows:

rms = np.sqrt(np.mean(y**2))

So, for example:

>>> y = np.array([0, 0, 1, 1, 0, 1, 0, 1, 1, 1])  # Six 1s
>>> y.size
10
>>> np.mean(y**2)
0.59999999999999998
>>> np.sqrt(np.mean(y**2))
0.7745966692414834

Do clarify your question if you mean to ask something else.

You could use the sklearn function

from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_actual,[0 for _ in y_actual], squared=False)

arrays – Root mean square of a function in python

Leave a Reply

Your email address will not be published. Required fields are marked *