code: def _initial_proposal_distribution(self, parameters, theta, size,
          default_std=1e-4):
          
  
          missing_parameters = set(parameters).difference(theta)
          if missing_parameters:
              raise ValueError("cannot create initial proposal distribution "\
                  "because the following parameters are missing: {}".format(
                      ", ".join(missing_parameters)))
  
          std = np.ones(len(parameters), dtype=float)
          
          initial_proposal_stds \
              = self._configuration.get("initial_proposal_stds", {})
  
          p0 = np.array([theta[p] for p in parameters])
          std = np.array(map(float, [initial_proposal_stds.get(p, default_std) \
              for p in parameters]))
  
          return np.vstack([p0 + std * np.random.normal(size=len(p0)) \
              for i in range(size)])
docs: Generate an initial proposal distribution around the point theta.