'Initial design matrix'

@property
def initial_design(self):

    design = np.r_[(([1] * self._k_diff), ((([0] * (self.seasonal_periods - 1)) + [1]) * self._k_seasonal_diff), ([1] * self.state_error), ([0] * (self._k_order - 1)))]
    if (len(design) == 0):
        design = np.r_[0]
    if self.state_regression:
        if (self._k_order > 0):
            design = np.c_[(np.reshape(np.repeat(design, self.nobs), (design.shape[0], self.nobs)).T, self.exog)].T[None, :, :]
        else:
            design = self.exog.T[None, :, :]
    return design
