def testEvalNormalCdf(self): p = thinkstats2.EvalNormalCdf(0) self.assertAlmostEqual(p, 0.5) p = thinkstats2.EvalNormalCdf(2, 2, 3) self.assertAlmostEqual(p, 0.5) p = thinkstats2.EvalNormalCdf(1000, 0, 1) self.assertAlmostEqual(p, 1.0) p = thinkstats2.EvalNormalCdf(-1000, 0, 1) self.assertAlmostEqual(p, 0.0) x = thinkstats2.EvalNormalCdfInverse(0.95, 0, 1) self.assertAlmostEqual(x, 1.64485362695) x = thinkstats2.EvalNormalCdfInverse(0.05, 0, 1) self.assertAlmostEqual(x, -1.64485362695)
def Prob(self, x): """Cumulative probability of x. x: numeric """ return thinkstats2.EvalNormalCdf(x, self.mu, self.sigma)
print(r"mean interarrival time = 1/$\lambda$: {:.1f} minutes".format( -1.0 / lr.coef_[0])) print("score: {:.3f} ".format(lr.score(X, ys))) #%% [markdown] # ## 5.2 Normal distribution #%% import scipy.stats scipy.stats.norm.cdf(0) #%% # plot normal cdf x = np.linspace(-1, 4, 100) for mu, sigma in zip([1, 2, 3], [0.5, 0.4, 0.3]): p = thinkstats2.EvalNormalCdf(x, mu=mu, sigma=sigma) thinkplot.plot(x, p, label=(r"$\mu$={} $\sigma$={}".format(mu, sigma))) thinkplot.Config(xlabel='x', ylabel='CDF') #%% import nsfg preg = nsfg.ReadFemPreg() live = preg[preg.outcome == 1] #%% # without trimming totalwgt_lb = live.totalwgt_lb.dropna() cdf = thinkstats2.Cdf(totalwgt_lb) mu = totalwgt_lb.mean() sigma = totalwgt_lb.std()