def reduced_chi_squareds(self, p=None):
if len(self._set_xdata)==<NUM_LIT:0> or len(self._set_ydata)==<NUM_LIT:0>: return None<EOL>if p is None: p = self.results[<NUM_LIT:0>]<EOL>r = self.studentized_residuals(p)<EOL>if r is None: return<EOL>N = <NUM_LIT:0><EOL>for i in range(len(r)): N += len(r[i])<EOL>dof_per_point = self.degrees_of_freedom()/N<EOL>for n in range(len(r)):<EOL><INDENT>r[n] = sum(r[n]**<NUM_LIT:2>)/(len(r[n])*dof_per_point)<EOL><DEDENT>return r<EOL>
Returns the reduced chi squared for each massaged data set. 

p=None means use the fit results.