A deficiência de classificação nesse contexto diz que não há informações suficientes contidas em seus dados para estimar o modelo desejado. Decorre de muitas origens. Vou falar aqui sobre modelagem em um contexto bastante geral, em vez de regressão explicitamente logística, mas tudo ainda se aplica ao contexto específico.
A deficiência pode resultar de poucos dados. Em geral, você não pode estimar exclusivamente n parâmetros com menos de n pontos de dados. Isso não significa que tudo o que você precisa são n pontos, como se houvesse algum ruído no processo, você obteria resultados bastante ruins. Você precisa de mais dados para ajudar o algoritmo a escolher uma solução que represente todos os dados, em um sentido mínimo de erro. É por isso que usamos ferramentas de mínimos quadrados. De quantos dados você precisa? Sempre me fizeram essa pergunta em uma vida passada, e a resposta foi mais do que você tem, ou o máximo que pode obter. :)
Às vezes, você pode ter mais dados do que precisa, mas alguns pontos (demais) são replicados. A replicação é BOM no sentido de ajudar a reduzir o ruído, mas não ajuda a aumentar a classificação numérica. Portanto, suponha que você tenha apenas dois pontos de dados. Você não pode estimar um modelo quadrático único através dos pontos. Um milhão de repetições de cada ponto ainda não permitirá que você ajuste mais do que uma linha reta, através do que ainda são efetivamente apenas um par de pontos. Essencialmente, a replicação não adiciona conteúdo informativo. Tudo o que faz é diminuir o ruído em locais onde você já possui informações.
Às vezes você tem informações nos lugares errados. Por exemplo, você não pode ajustar um modelo quadrático bidimensional se tudo o que você tem são pontos que estão todos em uma linha reta em duas dimensões. Ou seja, suponha que você tenha pontos espalhados apenas ao longo da linha x = y no plano e deseje ajustar um modelo para a superfície z (x, y). Mesmo com zilhões de pontos (nem mesmo réplicas), você terá informações suficientes para estimar de forma inteligente mais do que um modelo constante. Surpreendentemente, esse é um problema comum que eu já vi em dados amostrados. O usuário se pergunta por que não pode construir um bom modelo. O problema está embutido nos próprios dados que eles amostraram.
Às vezes, é simplesmente a escolha do modelo. Isso pode ser visto como "dados insuficientes", mas do outro lado. Você deseja estimar um modelo complicado, mas forneceu dados insuficientes para isso.
Em todos os casos acima, a resposta é obter mais dados, amostrados de forma inteligente em locais que fornecerão informações sobre o processo que você não possui atualmente. O projeto de experimentos é um bom lugar para começar.
No entanto, mesmo bons dados às vezes são inadequados, pelo menos numericamente. (Por que coisas ruins acontecem com bons dados?) O problema aqui pode estar relacionado ao modelo. Pode estar em nada mais do que uma má escolha de unidades. Pode resultar da programação do computador feita para resolver o problema. (Ugh! Por onde começar?)
Primeiro, vamos falar sobre unidades e dimensionamento. Suponha que eu tente resolver um problema em que uma variável seja MUITAS ordens de magnitude maiores que outra. Por exemplo, suponha que eu tenha um problema que envolva minha altura e meu tamanho de sapato. Vou medir minha altura em nanômetros. Portanto, minha altura seria de aproximadamente 1,78 bilhão (1,78e9) de nanômetros. Obviamente, escolherei medir o tamanho do meu sapato em quilo-parsecs, então 9.14e-21 quilo-parsecs. Quando você faz a modelagem de regressão, a regressão linear é toda sobre álgebra linear, que envolve combinações lineares de variáveis. O problema aqui é que esses números são diferentes por imensas ordens de magnitude (e nem mesmo pelas mesmas unidades). A matemática falhará quando um programa de computador tentar adicionar e subtrair números que variam em tantas ordens de magnitude (para uma precisão dupla). número,
O truque geralmente é usar unidades comuns, mas em alguns problemas até isso é um problema quando as variáveis variam em muitas ordens de magnitude. Mais importante é escalar seus números para serem similares em magnitude.
Em seguida, você poderá encontrar problemas com grandes números e pequenas variações nesses números. Portanto, suponha que você tente construir um modelo polinomial de ordem moderadamente alta com dados em que todas as suas entradas estejam no intervalo [1,2]. Quadrados, cubos etc., números da ordem de 1 ou 2 não causarão problemas ao trabalhar com aritmética de precisão dupla. Como alternativa, adicione 1e12 a cada número. Em teoria, a matemática permitirá isso. Tudo o que faz é mudar qualquer modelo polinomial que construímos no eixo x. Teria exatamente a mesma forma, mas seria traduzida por 1e12 para a direita. Na prática, a álgebra linear falhará miseravelmente devido a problemas de deficiência de classificação. Você não fez nada além de traduzir os dados, mas de repente começa a ver matrizes singulares aparecendo.
Normalmente, o comentário feito será uma sugestão para "centralizar e dimensionar seus dados". Efetivamente, isso diz mudar e escalar os dados para que tenham uma média próxima de zero e um desvio padrão que seja aproximadamente 1. Isso melhorará bastante o condicionamento da maioria dos modelos polinomiais, reduzindo os problemas de deficiência de classificação.
Existem outras razões para a deficiência de classificação. Em alguns casos, é incorporado diretamente no modelo. Por exemplo, suponha que eu forneça a derivada de uma função, posso deduzir exclusivamente a própria função? É claro que não, pois a integração envolve uma constante de integração, um parâmetro desconhecido que geralmente é inferido pelo conhecimento do valor da função em algum momento. De fato, isso às vezes também surge em problemas de estimativa, onde a singularidade de um sistema é derivada da natureza fundamental do sistema em estudo.
Eu certamente deixei de fora algumas das muitas razões para a deficiência de classificação em um sistema linear, e eu tenho discutido por muito tempo agora. Espero que eu tenha conseguido explicar aqueles que cobri em termos simples e uma maneira de aliviar o problema.