Если вы рассчитываете свою модель, используя код как
model = sm.Logit(y_data, x_data)
model_fit = model.fit()
, тогда вы можете получить доступ к p-значениям напрямую с помощью model_fit.pvalues
.
Для стандартной погрешности для коэффициентов вы можете позвонить
cov = model_fit.cov_params()
std_err = np.sqrt(np.diag(cov))
для расчета стандартной ошибки в виде квадратного корня из дисперсионных членов (диагональных элементов) оценки ковариационной матрицы модели.
Значение z определяется как каждый коэффициент, деленный на его стандартную ошибку, поэтому вы можете вычислить это как
z_values = model_fit.params / std_err
с использованием std_err
, определенным в строке выше.
Что касается вашего последнего вопроса, неясно, спрашиваете ли вы, как получить фактическую подстроку из вывода summary()
, или по отдельности получить все различные фрагменты данных, которые она печатает.
Если вы хотите получить их по отдельности, я советую подогнать вашу модель в интерактивном сеансе программирования с завершением табуляции, например, с помощью jupyter, чтобы вы могли видеть различные варианты степени свободы и другие данные, доступные для объекта model_fit
.
Если вы просто ищете строки, это так просто, как:
'\n'.join(str(model_fit.summary()).split('\n')[1:10])