Такие значения для баз данных. Многие базы данных давно и многие сегодня выделяют фиксированное количество цифр для целочисленных данных. Число, подобное -999, является наименьшим из четырех символов, -9999 - из пяти символов и т. Д.
(Само собой разумеется, что - по определению - числовое поле не может хранить буквенно-цифровые символы, такие как «NA». Некоторый числовой код должен использоваться для представления отсутствующих или недействительных данных.)
Зачем использовать самое отрицательное число, которое можно сохранить, чтобы обозначить пропущенное значение? Потому что, если вы ошибочно относитесь к нему как к действительному числу, вы хотите, чтобы результаты были резко неверными. Чем дальше ваши коды пропущенных значений получаются от реалистичности, тем вы безопаснее, потому что неправильный ввод обычно портит вывод. (Надежные статистические методы являются заметным исключением!)
Как могла произойти такая ошибка? Это происходит все время, когда данные обмениваются между системами. Система, которая предполагает, что -9999 представляет пропущенное значение, будет беспечно выводить это значение, когда вы записываете данные в большинстве форматов, таких как CSV. Система, которая считывает этот CSV-файл, может не «знать» (или не «говорить»), чтобы рассматривать такие значения как отсутствующие.
Другая причина заключается в том, что хорошие статистические данные и вычислительные платформы распознают много разных видов пропущенных значений: NaN, действительно пропущенные значения, переполнения, недополнения, неполучения ответов и т. Д. И т. Д. Посредством выделения наиболее отрицательных возможных значений (таких как -9999, - 9998, -9997 и т. Д.), Вы можете легко запросить все пропущенные значения из любой таблицы или массива.
Еще одним является то, что такие значения обычно отображаются на графических дисплеях как экстремальные выбросы. Из всех значений, которые вы могли бы выделить на графике, наиболее отрицательное из всех возможных дает наибольший шанс оказаться далеко от ваших данных.
Есть полезные последствия и обобщения:
Хорошее значение для использования для пропущенных данных в полях с плавающей запятой - это наиболее отрицательное действительное число, примерно равное - 10303для поплавков двойной точности. (Представьте себе эффект, который будет иметь место для любого среднего значения!). По тому же принципу многие старые программы, которые использовали числа с плавающей запятой одинарной точности, использовали несколько произвольных больших чисел, таких как 1E + 30, для пропущенных значений.
Примите стандартное правило этого типа, чтобы упростить изобретение кодов NoData в новых условиях (когда вы разрабатываете свое собственное программное обеспечение для баз данных).
Спроектируйте свое программное обеспечение и системы, чтобы резко потерпеть неудачу, если они вообще терпят неудачу. Худшие ошибки - это случайные, случайные или крошечные ошибки, потому что они могут остаться незамеченными и их трудно выследить.