Changeset 95d58d3 in sasview for src/sans/fit/ParkFitting.py
- Timestamp:
- Apr 10, 2014 8:05:28 PM (10 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 90f49a8
- Parents:
- 6fe5100
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sans/fit/ParkFitting.py
r6fe5100 r95d58d3 93 93 94 94 95 class Model(park.Model):95 class ParkModel(park.Model): 96 96 """ 97 97 PARK wrapper for SANS models. … … 391 391 return fitpars 392 392 393 def all_results(self, result):393 def extend_results_with_calculated_parameters(self, result): 394 394 """ 395 395 Extend result from the fit with the calculated parameters. … … 439 439 # dividing residuals by N in order to be consistent with Scipy 440 440 m.chisq = numpy.sum(m.residuals**2/N) 441 resid.append(m.weight*m.residuals /math.sqrt(N))441 resid.append(m.weight*m.residuals) 442 442 self.residuals = numpy.hstack(resid) 443 443 N = len(self.residuals) 444 444 self.degrees_of_freedom = N-k if N>k else 1 445 445 self.chisq = numpy.sum(self.residuals**2) 446 return self.chisq 446 return self.chisq/self.degrees_of_freedom 447 447 448 448 class ParkFit(FitEngine): … … 505 505 return 506 506 for item in fitproblems: 507 parkmodel = item.get_model() 507 model = item.get_model() 508 parkmodel = ParkModel(model.model, model.data) 508 509 if reset_flag: 509 510 # reset the initial value; useful for batch … … 554 555 localfit = SansFitSimplex() 555 556 localfit.ftol = ftol 556 557 localfit.xtol = 1e-6 558 557 559 # See `park.fitresult.FitHandler` for details. 558 560 fitter = SansFitMC(localfit=localfit, start_points=1) … … 563 565 try: 564 566 result = fit.fit(self.problem, fitter=fitter, handler=handler) 565 self.problem. all_results(result)567 self.problem.extend_results_with_calculated_parameters(result) 566 568 567 569 except LinAlgError: … … 592 594 name += '.' + name_split[2].strip() 593 595 small_result.param_list.append(name) 596 # normalize chisq by degrees of freedom 597 small_result.fitness /= len(small_result.residuals)-len(small_result.pvec) 594 598 result_list.append(small_result) 595 599 if q != None:
Note: See TracChangeset
for help on using the changeset viewer.