Author: tlinnet Date: Sat Jan 17 17:25:20 2015 New Revision: 27219 URL: http://svn.gna.org/viewcvs/relax?rev=27219&view=rev Log: Added API function in relaxation dispersion to return error structure from the reduced chi2 distribution.
Task #7882 (https://gna.org/task/?7882): Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals.): Implement Monte-Carlo simulation, where errors are generated with width of standard deviation or residuals. Modified: trunk/specific_analyses/relax_disp/api.py Modified: trunk/specific_analyses/relax_disp/api.py URL: http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/api.py?rev=27219&r1=27218&r2=27219&view=diff ============================================================================== --- trunk/specific_analyses/relax_disp/api.py (original) +++ trunk/specific_analyses/relax_disp/api.py Sat Jan 17 17:25:20 2015 @@ -27,7 +27,7 @@ # Python module imports. import bmrblib from copy import deepcopy -from numpy import int32, zeros +from numpy import int32, sqrt, zeros from re import match, search import string import sys @@ -1035,6 +1035,44 @@ # Return the error list. return errors + + + def return_error_red_chi2(self, data_id=None): + """Return the standard deviation data structure, where standard deviation is from the overall gauss distribution described by the STD_fit of the goodness of fit, where STD_fit = sqrt(chi2/(N-p)) + + @param data_id: The tuple of the spin container and the exponential curve identifying key, as yielded by the base_data_loop() generator method. + @type data_id: SpinContainer instance and float + @return: The standard deviation data structure. + @rtype: list of float + """ + + # Get the errors structure as above. + errors = self.return_error(data_id=data_id) + + # Unpack the data. + spin, spin_id = data_id + + # Loop over the spin groupings for the model. + for spin_ids in self.model_loop(): + # If the spin of interest is in the returned spin cluster. + if spin_id in spin_ids: + # Get the statistics + k, n, chi2 = self.model_statistics(model_info=spin_ids) + + # Calculate degrees of freedom. + dof = n - k + + # Calculate reduced chi2, or named as the variance of the squared residuals. + red_chi2 = chi2 / float(dof) + + # Calculated the standard deviation. + std_red_chi2 = sqrt(red_chi2) + + # Replace values with the stored value. + for id in errors: + errors[id] = std_red_chi2 + + return errors def return_value(self, spin, param, sim=None, bc=False): _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-commits mailing list relax-commits@gna.org 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