Tidy data БЛОГ

Прогноз исхода обучения студентов

Возможно ли при помощи данных предсказать исход обучения студентов ВУЗа? Получит конкретный студент диплом или будет отчислен?
Строим прогностическую модель на основе реальных данных.
Сейчас Google способен определять развитие эпидемий по поисковым запросам, сервис онлайн знакомств Eharmony по анкетам пользователей определяем вероятность создания семьи, банки с высокой точностью определяют риск невозврата кредита по документам заявителя. Принимаем эстафету и пытаемся ответить на вопрос: с какой точностью возможно предсказать исход обучения студента в ВУЗе.
    1. Собираем исходные данные
    Блага автоматизации еще не дошли до некоторых даже ведущих вузов, поэтому исходные данные пришлось оцифровывать из бумажных анкет, журналов и архивов. При помощи ручного труда и автораспознавателя текста заносим данные в таблицы. В нашем распоряжении сотни записей о студентах. После внесения данных проверяем их на наличие ошибок, опечаток и выбросов.

    Итак, в нашем распоряжении аккуратные обезличенные данные о исходе обучения, поле, возрасте, кафедре, номере группы, оценках за сессию, форме оплаты, отметках о продлении сессии, наличии и размеру стипендии. Поехали!
      2. Разведочный анализ
      Первичный анализ позволяет взглянуть на проблему общим взглядом и выработать первоначальные гипотезы. Вот, что видно сразу:

      • Треть от числа поступивших на первый курс отчислят в течение обучения
      • Большинство студентов отчисляют на I курсе
      • Среди отчисленных больше мальчиков
      • Вероятность закончить ВУЗ очень сильно отличается на разных кафедрах (от 0.1 до 0.65)
      {эх, знать бы эти данные будучи абитуриентом. Какую бы кафедру вы выбрали?)
      P.S. Автор закончил ту, где вероятность отчисления 0.65. И не пожалел.
        Пример слайда отчета
        3. Отбор переменных и выбор математической модели
        Этот шаг - самый важный в интеллектуальном анализе данных. Аналитику нужно отобрать признаки, которые несут в себе сигналы об отчислении и выбрать модель, которая сможет продемонстрировать лучший результат, учитывая специфику данных (размер выборки, тип переменных и многое другое). После проведения статистических тестов выявлено, что о скором отчислении могут сообщить следующие признаки: средний балл на сессии, наличие стипендии, форма оплаты, кафедра и пол.
          4. Выбор точки прогнозирования
          Выбор точки прогнозирования подразумевает выбор того момента в процессе обучения студента, когда накопленных про него данных будет достаточно для осуществления точного прогноза. Очевидно, что прогнозирование отчисления студентов после окончания 3 курса не имеет практической ценности, а данных, полученных еще до начала обучения недостаточно для построения моделей.

          Оказалось, что модели построенные на данных после первого курса уступают в точности моделям, построенным на данных после 2 курcа лишь несколько процентов, но очевидно имеют гораздо большую практическую пользу.
            Выбор точки прогнозирования
            5. Обучающая и тестовая выборка
            Построение прогностических моделей происходит следующим образом. Имеющиеся данные о студентах и исходах их обучения разбиваются на две части: обучающую и тестовую выборку. Первая нужна для того, чтобы натренировать алгоритм. Современные математические модели способны чутко улавливать сочетания показателей, которые свидетельствуют от скором отчислении студентов.

            Например, получить диплом "Кафедры Пик" сама по себе сложная задача. Для молодых людей, которые учатся на коммерческой основе и имеют долю прогулов выше определенного порога - это практически нереально.

            После обучения алгоритма точность его прогнозов оценивается на тестовой выборке (часть исходных данных, которая не использовалась для "обучения").

            Алгоритм, который демонстрирует самую низкую ошибку по целому спектру индикаторов и выбирается в качестве рабочего. Часто самое точно решение дает не отдельная модель, а усредненный прогноз нескольких алгоритмов (это называется бэггинг). Так и получилось в нашем случае. На тестовых выборках ансамбль из нескольких моделей верно предсказывает исход обучения 88% студентов.
              Пример кода для модели Random Forest. Язык программирования R. Библиотека "Caret"
              
              library(caret)
              #RF, max SP
              cv_ctrl <- trainControl(method = "repeatedcv", repeats = 10,
                                      summaryFunction = twoClassSummary,
                                      classProbs = TRUE)
              
              rf.grid <- data.frame(.mtry = c(8, 12, 16))
              Random.forest <- train(EXPUL_all ~ ., 
                              data = df,
                              method = "rf",
                              metric = "Spec",
                              tuneGrid = rf.grid,
                              trControl = cv_ctrl)
              test$Random.forest <- predict(Random.forest, test)
              test$Random.forest_acc <-  ifelse(test$Random.forest==test$EXPUL_all, 1, 0)
              sum(test$Random.forest_acc)/nrow(test)
              
              6. Результат
              Итак, итоговая модель (точнее ансамбль моделей) в 88% случаев верно определяет исход обучения студентов по данным, которые имеются о них на момент окончания I курса. Фактическую точность прогнозов можно будет проверить в 2019 году, когда свои дипломы получат (или не получат) студенты из контрольной группы. На данный момент модель пророчит отчисление для трети из них.

              Пока в Вузе нет единой информационной системы, процесс прогнозирования нельзя автоматизировать, а жаль. Ведь модель могла бы дообучаться на основе вновь поступающих данных.

              Текущее решение может быть использовано в ручном режиме, при котором завуч готовит таблицу о студентах и их результатах после первого курса и загружает ее в программу. Рекомендации программы относительно вероятности отчисления можно использовать для проведения бесед со студентами из нижней части списка.
                7. И еще кое-что
                Пока ВУЗы не хранят школьные анкеты абитуриентов, поэтому данных для предсказания исхода обучения на этапе вступительных экзаменов слишком мало. Но грядет время, когда с высокой точностью можно будет оценить вероятность получения диплома ВУЗа еще по школьным оценкам будущих студентов в сочетании с другими фактами их биографии...
                Понравилась статья?