'Initial selection matrix'

@property
def initial_selection(self):

    if (not (self.state_regression and self.time_varying_regression)):
        if (self.k_posdef > 0):
            selection = np.r_[(([0] * self._k_states_diff), ([1] * (self._k_order > 0)), ([0] * (self._k_order - 1)), ([0] * ((1 - self.mle_regression) * self.k_exog)))][:, None]
            if (len(selection) == 0):
                selection = np.zeros((self.k_states, self.k_posdef))
        else:
            selection = np.zeros((self.k_states, 0))
    else:
        selection = np.zeros((self.k_states, self.k_posdef))
        if (self._k_order > 0):
            selection[(0, 0)] = 1
        for i in range(self.k_exog, 0, (-1)):
            selection[((- i), (- i))] = 1
    return selection
