Hi,

The errors from the covariance matrix estimate, via
scipy.optimize.leastsq() should be similar or even identical to the
Monte Carlo simulation errors, not double.  Is this still the case?

Regards,

Edward

On 25 August 2014 01:32,  <[email protected]> wrote:
> Author: tlinnet
> Date: Mon Aug 25 01:32:13 2014
> New Revision: 25238
>
> URL: http://svn.gna.org/viewcvs/relax?rev=25238&view=rev
> Log:
> Modified systemtest Relax_disp.test_estimate_r2eff.
>
> This is to compare against errors simulated with 2000 MC.
>
> The paramaters are comparable, but not equal.
> Mostly, it seems that the errors from scipy.optimize.leastsq, are twice as 
> high than the Monte Carlo simulations.
> This affect model fitting, and the calculated chi2 value.
>
> Left column is 2000 Monte Carlo, right column is scipy.optimize.leastsq.
>
> Optimised parameters for spin: 52V @N
> Model: No Rex
> Parameter: r1     Value: 1.46138806 - 1.46328102
> Parameter: r2     Value: 11.48392438 - 11.48040934
> Parameter: chi2   Value: 848.42015672 - 3363.95829122
>
> Model: DPL94
> Parameter: r1     Value: 1.44845743 - 1.45019848
> Parameter: r2     Value: 10.15688373 - 10.16304892
> Parameter: phi_ex Value: 0.07599563 - 0.07561937
> Parameter: kex    Value: 4460.43707304 - 4419.03906628
> Parameter: chi2   Value: 179.47041255 - 710.24767560
>
> Model: TP02
> Parameter: r1     Value: 1.54354392 - 1.54352369
> Parameter: r2     Value: 9.72654895 - 9.72772727
> Parameter: pA     Value: 0.88827039 - 0.88807488
> Parameter: dw     Value: 1.08875836 - 1.08765645
> Parameter: kex    Value: 4921.28597928 - 4904.70134941
> Parameter: chi2   Value: 29.33882481 - 114.47142772
>
> Model: TAP03
> Parameter: r1     Value: 1.54356410 - 1.54354368
> Parameter: r2     Value: 9.72641885 - 9.72759371
> Parameter: pA     Value: 0.88828925 - 0.88809317
> Parameter: dw     Value: 1.08837248 - 1.08726695
> Parameter: kex    Value: 4926.42974479 - 4909.86896567
> Parameter: chi2   Value: 29.29050624 - 114.27987534
>
> Model: MP05
> Parameter: r1     Value: 1.54356415 - 1.54354372
> Parameter: r2     Value: 9.72641730 - 9.72759220
> Parameter: pA     Value: 0.88828927 - 0.88809322
> Parameter: dw     Value: 1.08837250 - 1.08726707
> Parameter: kex    Value: 4926.44228958 - 4909.88128236
> Parameter: chi2   Value: 29.29054252 - 114.28002272
>
> Model: NS R1rho 2-site
> Parameter: r1     Value: 1.41359226 - 1.41321968
> Parameter: r2     Value: 9.34531364 - 9.34602793
> Parameter: pA     Value: 0.94504369 - 0.94496541
> Parameter: dw     Value: 1.56001843 - 1.55833321
> Parameter: kex    Value: 5628.66529504 - 5610.20221435
> Parameter: chi2   Value: 34.44010458 - 134.14368365
>
> task #7822(https://gna.org/task/index.php?7822): Implement user function to 
> estimate R2eff and associated errors for exponential curve fitting.
>
> Modified:
>     trunk/test_suite/system_tests/relax_disp.py
>
> Modified: trunk/test_suite/system_tests/relax_disp.py
> URL: 
> http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/relax_disp.py?rev=25238&r1=25237&r2=25238&view=diff
> ==============================================================================
> --- trunk/test_suite/system_tests/relax_disp.py (original)
> +++ trunk/test_suite/system_tests/relax_disp.py Mon Aug 25 01:32:13 2014
> @@ -2679,7 +2679,7 @@
>          self.setup_r1rho_kjaergaard(cluster_ids=cluster_ids, read_R1=False)
>
>          # The dispersion models.
> -        MODELS = [MODEL_NOREX, MODEL_DPL94]
> +        MODELS = [MODEL_NOREX, MODEL_DPL94, MODEL_TP02, MODEL_TAP03, 
> MODEL_MP05, MODEL_NS_R1RHO_2SITE]
>
>          # The grid search size (the number of increments per dimension).
>          GRID_INC = None
> @@ -2723,6 +2723,9 @@
>
>          # Run the analysis.
>          relax_disp.Relax_disp(pipe_name=ds.pipe_name, 
> pipe_bundle=ds.pipe_bundle, results_dir=result_dir_name, models=MODELS, 
> grid_inc=GRID_INC, mc_sim_num=MC_NUM, modsel=MODSEL)
> +
> +        # Verify the data.
> +        self.verify_r1rho_kjaergaard_missing_r1(models=MODELS, 
> result_dir_name=result_dir_name, do_assert=False)
>
>
>      def test_exp_fit(self):
> @@ -7343,7 +7346,7 @@
>          w_eff_file.close()
>
>
> -    def verify_r1rho_kjaergaard_missing_r1(self, models=None, 
> result_dir_name=None):
> +    def verify_r1rho_kjaergaard_missing_r1(self, models=None, 
> result_dir_name=None, do_assert=True):
>          """Verification of test_r1rho_kjaergaard_missing_r1."""
>
>          # Check the kex value of residue 52
> @@ -7382,35 +7385,36 @@
>                              # Print value.
>                              print("%-10s %-6s %-6s %3.8f" % ("Parameter:", 
> param, "Value:", value))
>
> -                            # Compare values.
> -                            if spin_id == ':52@N':
> -                                if param == 'r1':
> -                                    if model == MODEL_NOREX:
> -                                        self.assertAlmostEqual(value, 
> 1.46328102)
> -                                    elif model == MODEL_DPL94:
> -                                        self.assertAlmostEqual(value, 
> 1.45019848)
> -                                    elif model == MODEL_TP02:
> -                                        self.assertAlmostEqual(value, 
> 1.54352369)
> -                                    elif model == MODEL_TAP03:
> -                                        self.assertAlmostEqual(value, 
> 1.54354367)
> -                                    elif model == MODEL_MP05:
> -                                        self.assertAlmostEqual(value, 
> 1.54354372)
> -                                    elif model == MODEL_NS_R1RHO_2SITE:
> -                                        self.assertAlmostEqual(value, 
> 1.41321968, 6)
> -
> -                                elif param == 'r2':
> -                                    if model == MODEL_NOREX:
> -                                        self.assertAlmostEqual(value, 
> 11.48040934)
> -                                    elif model == MODEL_DPL94:
> -                                        self.assertAlmostEqual(value, 
> 10.16304887, 6)
> -                                    elif model == MODEL_TP02:
> -                                        self.assertAlmostEqual(value, 
> 9.72772726, 6)
> -                                    elif model == MODEL_TAP03:
> -                                        self.assertAlmostEqual(value, 
> 9.72759374, 6)
> -                                    elif model == MODEL_MP05:
> -                                        self.assertAlmostEqual(value, 
> 9.72759220, 6)
> -                                    elif model == MODEL_NS_R1RHO_2SITE:
> -                                        self.assertAlmostEqual(value, 
> 9.34602793, 5)
> +                            if do_assert:
> +                                # Compare values.
> +                                if spin_id == ':52@N':
> +                                    if param == 'r1':
> +                                        if model == MODEL_NOREX:
> +                                            self.assertAlmostEqual(value, 
> 1.46328102)
> +                                        elif model == MODEL_DPL94:
> +                                            self.assertAlmostEqual(value, 
> 1.45019848)
> +                                        elif model == MODEL_TP02:
> +                                            self.assertAlmostEqual(value, 
> 1.54352369)
> +                                        elif model == MODEL_TAP03:
> +                                            self.assertAlmostEqual(value, 
> 1.54354367)
> +                                        elif model == MODEL_MP05:
> +                                            self.assertAlmostEqual(value, 
> 1.54354372)
> +                                        elif model == MODEL_NS_R1RHO_2SITE:
> +                                            self.assertAlmostEqual(value, 
> 1.41321968, 6)
> +
> +                                    elif param == 'r2':
> +                                        if model == MODEL_NOREX:
> +                                            self.assertAlmostEqual(value, 
> 11.48040934)
> +                                        elif model == MODEL_DPL94:
> +                                            self.assertAlmostEqual(value, 
> 10.16304887, 6)
> +                                        elif model == MODEL_TP02:
> +                                            self.assertAlmostEqual(value, 
> 9.72772726, 6)
> +                                        elif model == MODEL_TAP03:
> +                                            self.assertAlmostEqual(value, 
> 9.72759374, 6)
> +                                        elif model == MODEL_MP05:
> +                                            self.assertAlmostEqual(value, 
> 9.72759220, 6)
> +                                        elif model == MODEL_NS_R1RHO_2SITE:
> +                                            self.assertAlmostEqual(value, 
> 9.34602793, 5)
>
>                      # For all other parameters.
>                      else:
> @@ -7420,57 +7424,58 @@
>                          # Print value.
>                          print("%-10s %-6s %-6s %3.8f" % ("Parameter:", 
> param, "Value:", value))
>
> -                        # Compare values.
> -                        if spin_id == ':52@N':
> -                            if param == 'phi_ex':
> -                                if model == MODEL_DPL94:
> -                                    self.assertAlmostEqual(value, 0.07561937)
> -
> -                            elif param == 'pA':
> -                                if model == MODEL_TP02:
> -                                    self.assertAlmostEqual(value, 0.88807487)
> -                                elif model == MODEL_TAP03:
> -                                    self.assertAlmostEqual(value, 0.88809318)
> -                                elif model == MODEL_MP05:
> -                                    self.assertAlmostEqual(value, 0.88809321)
> -                                elif model == MODEL_NS_R1RHO_2SITE:
> -                                    self.assertAlmostEqual(value, 
> 0.94496541, 6)
> -
> -                            elif param == 'dw':
> -                                if model == MODEL_TP02:
> -                                    self.assertAlmostEqual(value, 
> 1.08765638, 6)
> -                                elif model == MODEL_TAP03:
> -                                    self.assertAlmostEqual(value, 
> 1.08726698, 6)
> -                                elif model == MODEL_MP05:
> -                                    self.assertAlmostEqual(value, 
> 1.08726706, 6)
> -                                elif model == MODEL_NS_R1RHO_2SITE:
> -                                    self.assertAlmostEqual(value, 
> 1.55833321, 5)
> -
> -                            elif param == 'kex':
> -                                if model == MODEL_DPL94:
> -                                    self.assertAlmostEqual(value, 
> 4419.03917195, 2)
> -                                elif model == MODEL_TP02:
> -                                    self.assertAlmostEqual(value, 
> 4904.70144883, 3)
> -                                elif model == MODEL_TAP03:
> -                                    self.assertAlmostEqual(value, 
> 4909.86877150, 3)
> -                                elif model == MODEL_MP05:
> -                                    self.assertAlmostEqual(value, 
> 4909.88110195, 3)
> -                                elif model == MODEL_NS_R1RHO_2SITE:
> -                                    self.assertAlmostEqual(value, 
> 5610.20221435, 2)
> -
> -                            elif param == 'chi2':
> -                                if model == MODEL_NOREX:
> -                                    self.assertAlmostEqual(value, 
> 3363.95829122)
> -                                elif model == MODEL_DPL94:
> -                                    self.assertAlmostEqual(value, 
> 710.24767560)
> -                                elif model == MODEL_TP02:
> -                                    self.assertAlmostEqual(value, 
> 114.47142772)
> -                                elif model == MODEL_TAP03:
> -                                    self.assertAlmostEqual(value, 
> 114.27987534)
> -                                elif model == MODEL_MP05:
> -                                    self.assertAlmostEqual(value, 
> 114.28002272)
> -                                elif model == MODEL_NS_R1RHO_2SITE:
> -                                    self.assertAlmostEqual(value, 
> 134.14368365)
> +                        if do_assert:
> +                            # Compare values.
> +                            if spin_id == ':52@N':
> +                                if param == 'phi_ex':
> +                                    if model == MODEL_DPL94:
> +                                        self.assertAlmostEqual(value, 
> 0.07561937)
> +
> +                                elif param == 'pA':
> +                                    if model == MODEL_TP02:
> +                                        self.assertAlmostEqual(value, 
> 0.88807487)
> +                                    elif model == MODEL_TAP03:
> +                                        self.assertAlmostEqual(value, 
> 0.88809318)
> +                                    elif model == MODEL_MP05:
> +                                        self.assertAlmostEqual(value, 
> 0.88809321)
> +                                    elif model == MODEL_NS_R1RHO_2SITE:
> +                                        self.assertAlmostEqual(value, 
> 0.94496541, 6)
> +
> +                                elif param == 'dw':
> +                                    if model == MODEL_TP02:
> +                                        self.assertAlmostEqual(value, 
> 1.08765638, 6)
> +                                    elif model == MODEL_TAP03:
> +                                        self.assertAlmostEqual(value, 
> 1.08726698, 6)
> +                                    elif model == MODEL_MP05:
> +                                        self.assertAlmostEqual(value, 
> 1.08726706, 6)
> +                                    elif model == MODEL_NS_R1RHO_2SITE:
> +                                        self.assertAlmostEqual(value, 
> 1.55833321, 5)
> +
> +                                elif param == 'kex':
> +                                    if model == MODEL_DPL94:
> +                                        self.assertAlmostEqual(value, 
> 4419.03917195, 2)
> +                                    elif model == MODEL_TP02:
> +                                        self.assertAlmostEqual(value, 
> 4904.70144883, 3)
> +                                    elif model == MODEL_TAP03:
> +                                        self.assertAlmostEqual(value, 
> 4909.86877150, 3)
> +                                    elif model == MODEL_MP05:
> +                                        self.assertAlmostEqual(value, 
> 4909.88110195, 3)
> +                                    elif model == MODEL_NS_R1RHO_2SITE:
> +                                        self.assertAlmostEqual(value, 
> 5610.20221435, 2)
> +
> +                                elif param == 'chi2':
> +                                    if model == MODEL_NOREX:
> +                                        self.assertAlmostEqual(value, 
> 3363.95829122)
> +                                    elif model == MODEL_DPL94:
> +                                        self.assertAlmostEqual(value, 
> 710.24767560)
> +                                    elif model == MODEL_TP02:
> +                                        self.assertAlmostEqual(value, 
> 114.47142772)
> +                                    elif model == MODEL_TAP03:
> +                                        self.assertAlmostEqual(value, 
> 114.27987534)
> +                                    elif model == MODEL_MP05:
> +                                        self.assertAlmostEqual(value, 
> 114.28002272)
> +                                    elif model == MODEL_NS_R1RHO_2SITE:
> +                                        self.assertAlmostEqual(value, 
> 134.14368365)
>
>
>          # Print the final pipe.
> @@ -7524,7 +7529,7 @@
>
>                  # Assign the split of the line.
>                  mol_name, res_num, res_name, spin_num, spin_name, val, 
> sd_error = line_split
> -                print mol_name, res_num, res_name, spin_num, spin_name, val, 
> sd_error
> +                print(mol_name, res_num, res_name, spin_num, spin_name, val, 
> sd_error)
>
>                  if res_num == '52':
>                      # Assert that the value is not None.
>
>
> _______________________________________________
> relax (http://www.nmr-relax.com)
>
> This is the relax-commits mailing list
> [email protected]
>
> To unsubscribe from this list, get a password
> reminder, or change your subscription options,
> visit the list information page at
> https://mail.gna.org/listinfo/relax-commits

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to