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)
Beispiel #2
0
    def Prob(self, x):
        """Cumulative probability of x.

        x: numeric
        """
        return thinkstats2.EvalNormalCdf(x, self.mu, self.sigma)
Beispiel #3
0
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()