Планируется ли реализовать комплексный дизайн обследования в пакете MLLIB от Spark? - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над реализацией логистической регрессии в Pyspark, которая в настоящее время написана в SAS с использованием proc surveylogistic. Внедрение SAS позволяет учесть сложный дизайн обследования, включающий веса кластеров / слоев / выборки.

Есть несколько способов, как минимум, получить модель в Python: например, я смог получить точное совпадение как коэффициентов, так и стандартных ошибок, используя пакет statsmodels из этого исследовательского проекта на Github.

Однако мои данные большие, поэтому я хотел бы воспользоваться распределенными возможностями Spark через пакет MLLIB. Например, текущая настройка для запуска logit в Spark:

import pyspark.ml.feature as ft
featuresCreator = ft.VectorAssembler(
                  inputCols = X_features_list,
                  outputCol = "features")

glm_binomial = GeneralizedLinearRegression(family="binomial", link="logit",  maxIter=25, regParam = 0,                                   
    labelCol='df',
    weightCol='wgt_panel')

from pyspark.ml import Pipeline
pipeline = Pipeline(stages=[featuresCreator, glm_binomial])
model = pipeline.fit(encoded_df_nonan)

«weightcol» работает только для простых выборочных весов, но мне интересно, знает ли кто-нибудь о способе реализации более сложной схемы взвешивания в Spark (обратите внимание, что приведенное выше будет соответствовать логистической процедуре, а не обзорной логистике) ). Для сравнения, метод, использованный для расчета ковариационной матрицы в опросе: здесь .

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