public static double transformedRmse(double[] obs, double[] sim) {
        sameArrayLen(sim, obs);
        double error = 0;
        double z_pred = 0.;
        double z_val = 0.;
        for (int i = 0; i < sim.length; i++) {
            z_pred = (Math.pow((1.0 + sim[i]), 0.3) - 1.0) / 0.3;
            z_val = (Math.pow((1.0 + obs[i]), 0.3) - 1.0) / 0.3;
            error += (z_pred - z_val) * (z_pred - z_val);
        }
        return Math.sqrt(error / sim.length);
    }
public static double transformedRmse ( double [ ] obs , double [ ] sim ) { sameArrayLen ( sim , obs ) ; double error = 0 ; double z_pred = 0. ; double z_val = 0. ; for ( int i = 0 ; i < sim . length ; i ++ ) { z_pred = ( Math . pow ( ( 1.0 + sim [ i ] ) , 0.3 ) - 1.0 ) / 0.3 ; z_val = ( Math . pow ( ( 1.0 + obs [ i ] ) , 0.3 ) - 1.0 ) / 0.3 ; error += ( z_pred - z_val ) * ( z_pred - z_val ) ; } return Math . sqrt ( error / sim . length ) ; }
transformedRootMeanSquareError TRMSE

@param obs
@param sim
@return