Как наилучшим образом получить одномерную статистическую статистику регрессии c для каждого столбца (кроме y var) в Python фрейме данных? - PullRequest
0 голосов
/ 06 апреля 2020

Я пытался от l oop до pandas столбцов данных для создания однофакторной логистики c Сводная статистика регрессии (коэффициент, стандартная ошибка, значение t и значение p) для каждого столбца в зависимости от установленной зависимой переменной , Sci-Kit learn, похоже, не имеет простого способа генерировать эту статистику, что привело меня к statsmodel.api, который имеет отличную сводную статистику. Я могу сгенерировать необходимую статистику для одного столбца, однако, когда я пытаюсь l oop по столбцам, как показано ниже:

import statsmodels.api as sm
from patsy import dmatrices

univar_list = []

for var in X_col_list:
    y, X = dmatrices('dependent_var ~ ' + var, data = my_df, return_type = 'dataframe')
    glm_binom = sm.GLM(y, X, family=sm.families.Binomial())
    res = glm_binom.fit()
    univar_list.append([var, res.params[1], res.bse[1], res.tvalues[1], res.pvalues[1]])

Это приводит к этой ошибке:

MemoryError: Невозможно выделить 7,28 ТиБ для массива с формой (999999, 999999) и типом данных float64

Я не совсем понимаю, почему я могу запустить это для каждой отдельной переменной по одному столбцу за раз, но не могу oop. Если есть какой-то более простой способ получить приведенную выше сводную статистику, это было бы здорово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...