Como eu manejo variáveis preditoras de diferentes distribuições na regressão logística?
8
Eu estou usando regressão logística para prever y dado x1 e x2:
z = B0 + B1 * x1 + B2 * x2
y = e^z / (e^z + 1)
Como a regressão logística deve lidar com casos em que minhas variáveis têm escalas muito diferentes? As pessoas constroem modelos de regressão logística com coeficientes de ordem superior para variáveis? Estou imaginando algo assim (para duas variáveis):
Claro que você pode normalizar seus parâmetros, isso também aumentaria a velocidade do algoritmo de aprendizado.
Para ter comparável no final da execução do algoritmo , calcule para cada recurso sua média e seu intervalo . Então você altera cada valor de , ou seja, o valor do recurso para um registro , com:
Agora seus valores de estão no intervalo [- 1,1], para que você possa comparar seu com mais confiança e, portanto, seu odds ratio. Isso também reduz o tempo para encontrar o melhor conjunto deβxiμiri=maxi−minir[xi]xir
r[xi]−μiri
r[xi]ββse você estiver usando descida gradiente. Lembre-se de normalizar seus recursos se desejar prever a classe de um novo registro .r′
Você também pode adicionar recursos de ordem superior, mas isso leva ao ajuste excessivo. Normalmente, contanto que você adicione mais parâmetros, é melhor adicionar regularização, que tenta evitar o excesso de ajustes diminuindo a magnitude do seu . Isso é obtido adicionando esse termo à função de custo de regressão logística
que o poder da regularização.β
só para esclarecer, quando você diz para normalizar um novo registro r ', você usa e derivados dos dados originais, correto? Obrigadomuiri
FMZ 26/11/11
Sim, ele é. Você deve usar e computados no conjunto de treinamento para normalizar os valores de um novo registro. Ps: você também pode usar o desvio padrão do seu recurso vez de . μirixiri
Simone
6
O @Simone faz alguns pontos positivos, então vou dar alguns petiscos complementares. Embora a normalização possa ajudar em questões como velocidade, a regressão logística não faz suposições sobre as distribuições de suas variáveis preditoras. Assim, você não precisa normalizar. Segundo, a adição de um termo ao quadrado pode levar ao sobreajuste (e você precisa ter cuidado com isso); é permitido. O que isso significa é que a probabilidade de sucesso é maior no meio do alcance de um preditor do que nos extremos (ou vice-versa).
Em teoria, a escala de suas entradas é irrelevante para a regressão logística. Você pode "teoricamente" multiplicar por e a estimativa para será ajustada de acordo. Será vezes menor que o original , devido à propriedade de invariância dos MLEs.X110101010β110−101010β1
Mas tente fazer com que R faça a regressão ajustada acima - ela surtará (nem será capaz de construir a matriz X).
É um pouco como o algoritmo de decomposição de Cholesky para calcular uma raiz quadrada de matriz. Sim, na matemática exata , a decomposição de Cholesky nunca envolve obter raiz quadrada de número negativo, mas arredondar erros e a aritmética de ponto flutuante pode levar a esses casos.
Você pode usar qualquer combinação linear de suas variáveis X e os valores previstos serão os mesmos.
Se seguirmos o conselho de @ simone, e usar as variáveis X redimensionadas para ajustar o modelo . Mas podemos usar a propriedade invariância do MLE para obter a versão beta desejada, depois de usar variáveis de entrada X numericamente estáveis. Pode ser que a versão beta na escala original seja mais fácil de interpretar do que a versão beta na transformada pela @ simone. Então, nós temos o transformou ( th observação para a th variável), chamá-lo de , definido por:xijijx~ij
x~ij=ajxij+bj
A escolha de @ simone corresponde a e (usando para denotar a estatística de ordem da variável ésima, ou seja,aj=1x[N]j−x[1]jbj=x¯¯¯jx[N]j−x[1]jx[i]jijx[N]j≥x[N−1]j≥⋯≥x[1]j) oaj e bjpode ser pensado como parâmetros do algoritmo (escolhido para tornar o algoritmo mais estável e / ou executar mais rápido). Em seguida, ajustamos uma regressão logística usandox~ije obtenha estimativas de parâmetros β~j. Assim, escrevemos o preditor linear:
zi=β~0+∑jx~ijβ~j
Agora substitua a equação por x~ij e você obtém:
zi=β~0+∑j(ajxij+bj)β~j=β0+∑jxijβj
Onde
β0=β~0+∑jbjβ~jβj=ajβ~j
Você pode ver que, teoricamente, os parâmetros aj,bj não faz nenhuma diferença: qualquer escolha (além de aj=0) levará à mesma probabilidade, porque o preditor linear não é alterado. Até funciona para transformações lineares mais complicadas, como representar a matriz X por seus principais componentes (o que envolve rotações). Assim, podemos transformar os resultados de volta para obter os betas que queremos para interpretação.
Boa prova teórica. Sem normalização, as razões de chances têm um significado realmente prático. No entanto, às vezes os profissionais usam essas razões de chances para avaliar a importância desse recurso, e isso é de alguma forma enganoso, porque um recurso pode ser significativo, mas também pode variar em um amplo intervalo e, portanto, ter um baixo índice de chances. Com a normalização, eles são imediatamente comparáveis, mesmo se perdendo seu significado prático. Obviamente, um teste estatístico deve ser feito para avaliar a importância de um recurso.
O @Simone faz alguns pontos positivos, então vou dar alguns petiscos complementares. Embora a normalização possa ajudar em questões como velocidade, a regressão logística não faz suposições sobre as distribuições de suas variáveis preditoras. Assim, você não precisa normalizar. Segundo, a adição de um termo ao quadrado pode levar ao sobreajuste (e você precisa ter cuidado com isso); é permitido. O que isso significa é que a probabilidade de sucesso é maior no meio do alcance de um preditor do que nos extremos (ou vice-versa).
fonte
Em teoria, a escala de suas entradas é irrelevante para a regressão logística. Você pode "teoricamente" multiplicar por e a estimativa para será ajustada de acordo. Será vezes menor que o original , devido à propriedade de invariância dos MLEs.X1 10101010 β1 10−101010 β1
Mas tente fazer com que R faça a regressão ajustada acima - ela surtará (nem será capaz de construir a matriz X).
É um pouco como o algoritmo de decomposição de Cholesky para calcular uma raiz quadrada de matriz. Sim, na matemática exata , a decomposição de Cholesky nunca envolve obter raiz quadrada de número negativo, mas arredondar erros e a aritmética de ponto flutuante pode levar a esses casos.
Você pode usar qualquer combinação linear de suas variáveis X e os valores previstos serão os mesmos.
Se seguirmos o conselho de @ simone, e usar as variáveis X redimensionadas para ajustar o modelo . Mas podemos usar a propriedade invariância do MLE para obter a versão beta desejada, depois de usar variáveis de entrada X numericamente estáveis. Pode ser que a versão beta na escala original seja mais fácil de interpretar do que a versão beta na transformada pela @ simone. Então, nós temos o transformou ( th observação para a th variável), chamá-lo de , definido por:xij i j x~ij
A escolha de @ simone corresponde a e (usando para denotar a estatística de ordem da variável ésima, ou seja,aj=1x[N]j−x[1]j bj=x¯¯¯jx[N]j−x[1]j x[i]j i j x[N]j≥x[N−1]j≥⋯≥x[1]j ) oaj e bj pode ser pensado como parâmetros do algoritmo (escolhido para tornar o algoritmo mais estável e / ou executar mais rápido). Em seguida, ajustamos uma regressão logística usandox~ij e obtenha estimativas de parâmetros β~j . Assim, escrevemos o preditor linear:
Agora substitua a equação porx~ij e você obtém:
Você pode ver que, teoricamente, os parâmetrosaj,bj não faz nenhuma diferença: qualquer escolha (além de aj=0 ) levará à mesma probabilidade, porque o preditor linear não é alterado. Até funciona para transformações lineares mais complicadas, como representar a matriz X por seus principais componentes (o que envolve rotações). Assim, podemos transformar os resultados de volta para obter os betas que queremos para interpretação.
fonte