Python
Machine learning
Comments 4
0
Замена пропусков на нули в самом начале работы с массивом без какого-либо обоснования — это причина, например, рецензенту в научном журнале прекратить чтение и вернуть статью автору на доработку. Просто потому что такая операция вносит в массив информацию, ранее в нем отсутствующую и искажает статистические распределения переменных, средние, дисперсии и пр.

Ну чем вам помешали пропуски при вычислении матрицы корреляций?
0

Спасибо за Ваш вопрос. Сперва попробую пояснить почему заполнено 0.
О природе исходных данных
Как уже было упомянуто — датасет основан на на PDF отчете (также известном как Enron Statement of Financial Affairs). Компания, которая производила проверку счетов сотрудников/движений по ним — просто не нашла данных по некоторым из них. И поэтому приняла за основу что таких данных и не существует, и посчитала итоговые суммы.
Почему не заполнить средним/чем то еще? Потому что некоторые столбцы содержат очень мало данных (например данные о займах — loan advance) и заполнять пробелы на их основе — просто нелогично(не не может что у 140 человек были займы в одинаковую сумму). Также есть столбцы которые связаны с определенными людьми(director fees — жалованье для управленцев) — среднее по которым не может быть перенесена на всех людей, т.к среди них есть и рядовые сотрудники. Также есть и другие столбцы заполнение которых подобным образом внесет еще большую сумятицу в исходные данные, а как следствие придется перерассчитывать итоговые суммы, поскольку они также не будут совпадать. Иными словами — используя привычное заполнение средним/медианой — мы только исказим исходные данные, а не приблизимся к настоящим значениям.


Может возникнуть резонный вопрос — "А почему значения по email — признакам заполнены средним?" Тут дело в том что данные по ним — как раз неполные. Enron email dataset это только часть всех email сотрудников. Но часть email всё равно отсутствует. Поэтому и использовано среднее значение по всем сотрудникам.
Иными словами, тут используется принцип — "платежи, акции — мы доверяем источнику. поскольку у нас нет причин не доверять и способов доказать это", "email — мы знаем что данные неполные(в текущий момент вроде бы версия 2) — поэтому заполняем средним"


Матрица корреляций и NaN.
Да, можно попытаться посчитать корреляцию на основе данных что есть.Но в тех же финансах нет не одной строчки что не содержит пропусков.
image
Возможно ли при этом посчитать корреляцию? Что она будет показывать?


Исходя из этого всего и было заменено на 0, дабы сохранить изначальный строй датасета, а не исказить его.

0
Возможно ли при этом посчитать корреляцию?

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


Но в тех же финансах нет не одной строчки что не содержит пропусков.

Это нормально, чем больше показателей, тем эта ситуация вероятней.


P.S. Посмотрел я на pdf по ссылке, вот например параметер "Loan Advances" просто подлежит исключению из рассмотрения — там одни пропуски за мелкими исключениями.


P.P.S. Глядя на pdf-файл, я не вижу в нем нулей. Положительные числа вижу, некоторые из них в скобках, а вот нолей нет. Т.е., может быть, это просто такое форматирование вывода для улучшения читабельности? Но это надо проверять. Авторов файла спрашивать, рисовать статистические распределения и смотреть, вписываются ли сюда пропуски, как нули или нет.

Only those users with full accounts are able to leave comments. , please.