Недостаток ранга в этом контексте говорит о том, что в ваших данных недостаточно информации для оценки желаемой модели. Это происходит из многих источников. Я расскажу здесь о моделировании в довольно общем контексте, а не в явной логистической регрессии, но все еще относится к конкретному контексту.
Недостаток может быть вызван просто слишком маленькими данными. В общем, вы не можете однозначно оценить n параметров с менее чем n точками данных. Это не означает, что все, что вам нужно, это n баллов, так как если в процессе есть какой-либо шум, вы получите довольно плохие результаты. Вам нужно больше данных, чтобы помочь алгоритму выбрать решение, которое будет представлять все данные в минимальном смысле ошибки. Вот почему мы используем инструменты наименьших квадратов. Сколько данных вам нужно? Мне всегда задавали этот вопрос в прошлой жизни, и ответ был больше, чем у вас, или столько, сколько вы можете получить. :)
Иногда у вас может быть больше данных, чем вам нужно, но некоторые (слишком много) точек являются копиями. Репликация ХОРОША в том смысле, что она помогает уменьшить шум, но не помогает увеличить числовой ранг. Итак, предположим, у вас есть только две точки данных. Вы не можете оценить уникальную квадратичную модель через точки. Миллион копий каждой точки по-прежнему не позволит вам уместиться больше, чем по прямой линии, через которую все еще остается только пара точек. По сути, репликация не добавляет информационного контента. Все, что он делает, это уменьшает шум в местах, где у вас уже есть информация.
Иногда у вас есть информация в неправильных местах. Например, вы не можете подогнать двумерную квадратичную модель, если все, что у вас есть, это точки, которые все лежат на одной прямой в двух измерениях. То есть предположим, что у вас есть точки, рассеянные только вдоль линии x = y на плоскости, и вы хотите подобрать модель для поверхности z (x, y). Даже имея миллионы точек (даже не повторяющихся), у вас будет достаточно информации, чтобы разумно оценить больше, чем постоянную модель. Удивительно, но это общая проблема, которую я видел в выборочных данных. Пользователь задается вопросом, почему он не может построить хорошую модель. Проблема встроена в те самые данные, которые они выбрали.
Иногда это просто выбор модели. Это можно рассматривать как «недостаточно данных», но с другой стороны. Вы хотите оценить сложную модель, но предоставили недостаточно данных для этого.
Во всех вышеперечисленных случаях ответ заключается в том, чтобы получить больше данных, интеллектуально выбранных из мест, которые предоставят информацию о процессе, который вам не хватает в настоящее время. Планирование экспериментов - хорошее место для начала.
Однако даже хорошие данные иногда неадекватны, по крайней мере, численно. (Почему плохие вещи случаются с хорошими данными?) Проблема может быть связана с моделью. Это может быть не более чем плохой выбор единиц. Это может быть связано с компьютерным программированием, выполненным для решения проблемы. (Тьфу! С чего начать?)
Во-первых, давайте поговорим о единицах и масштабировании. Предположим, я пытаюсь решить проблему, когда одна переменная на МНОГО порядков больше другой. Например, предположим, что у меня есть проблема, связанная с моим ростом и размером обуви. Я буду измерять мой рост в нанометрах. Таким образом, мой рост будет примерно 1,78 миллиарда (1,78e9) нанометров. Конечно, я выберу размер своей обуви в килопарсеках, так что 9,14e-21 килопарсеков. Когда вы делаете регрессионное моделирование, линейная регрессия - это все о линейной алгебре, которая включает в себя линейные комбинации переменных. Проблема здесь в том, что эти числа отличаются на огромное количество порядков (и даже не одинаковыми единицами). Математика потерпит неудачу, когда компьютерная программа попытается сложить и вычесть числа, которые различаются на столько порядков (для двойной точности). номер,
Хитрость заключается в том, чтобы использовать общие единицы, но в некоторых случаях проблема возникает даже тогда, когда переменные изменяются на слишком много порядков. Более важным является масштабирование ваших чисел, чтобы они были похожи по величине.
Далее вы можете увидеть проблемы с большими числами и небольшими отклонениями в этих числах. Таким образом, предположим, что вы пытаетесь построить полиномиальную модель умеренно высокого порядка с данными, где все ваши входные данные лежат в интервале [1,2]. Квадрат, кубирование и т. Д. Числа порядка 1 или 2 не вызовут проблем при работе с арифметикой двойной точности. Или добавьте 1e12 к каждому номеру. Теоретически математика позволит это. Все, что он делает, это смещает любую полиномиальную модель, которую мы строим на оси X. Он будет иметь точно такую же форму, но будет переведен на 1e12 вправо. На практике линейная алгебра потерпит неудачу из-за проблем с рангом. Вы ничего не сделали, кроме перевода данных, но внезапно вы начинаете видеть, как появляются особые матрицы.
Обычно сделанный комментарий будет предложением «центрировать и масштабировать ваши данные». Фактически это говорит о смещении и масштабировании данных так, чтобы они имели среднее значение около нуля и стандартное отклонение, равное примерно 1. Это значительно улучшит кондиционирование большинства полиномиальных моделей, уменьшая проблемы дефицита ранга.
Существуют и другие причины недостаточного ранга. В некоторых случаях он встроен непосредственно в модель. Например, предположим, что я предоставляю производную функции, могу ли я однозначно вывести саму функцию? Конечно, нет, поскольку интеграция включает в себя константу интеграции, неизвестный параметр, который обычно определяется знанием значения функции в некоторой точке. Фактически, это иногда возникает и в задачах оценки, где особенность системы вытекает из фундаментальной природы исследуемой системы.
Я, конечно, не учел некоторые из многих причин недостаточного ранга в линейной системе, и я слишком долго болтал. Надеюсь, мне удалось объяснить те, о которых я рассказывал, простыми терминами и способом облегчить проблему.