Eu li que a regressão de crista pode ser alcançada simplesmente adicionando linhas de dados à matriz de dados original, onde cada linha é construída usando 0 para as variáveis dependentes e a raiz quadrada de ou zero para as variáveis independentes. Uma linha extra é então adicionada para cada variável independente.
Eu queria saber se é possível obter uma prova para todos os casos, incluindo regressão logística ou outros GLMs.
logistic
generalized-linear-model
ridge-regression
Floco de neve
fonte
fonte
Respostas:
A regressão de Ridge minimiza .∑ni=1(yi−xTiβ)2+λ∑pj=1β2j
(Geralmente, é necessária uma constante, mas não reduzida. Nesse caso, ela está incluída no e nos preditores - mas se você não deseja reduzi-la, não possui uma linha correspondente para a pseudo observação. você quer reduzi-lo, você faz tem uma linha para ele. Eu vou escrevê-lo como se ele não é contado no p , e não encolhido, como é o caso mais complicado. o outro caso é uma mudança trivial a partir deste. )β p
Podemos escrever o segundo termo como pseudo-observações se pudermos escrever cada "y" e cada um dos vetores ( p + 1 ) correspondentes "x", de modo quep (p+1)
Então
Isso funciona para regressão linear. Não funciona para a regressão logística, porque a regressão logística comum não minimiza uma soma de resíduos quadrados.
[A regressão de Ridge não é a única coisa que pode ser feita por meio de truques de pseudo-observação - eles aparecem em vários outros contextos]
fonte
A generalização desta receita para os GLMs não é realmente difícil, pois os GLMs geralmente são adequados usando mínimos quadrados com ponderação iterativa . Portanto, dentro de cada iteração, pode-se substituir a etapa regular de mínimos quadrados ponderada com uma etapa de mínimos quadrados ponderada penalizada de crista para obter um GLM penalizado de crista. De fato, em combinação com penalidades adaptativas da crista, esta receita é usada para ajustar GLMs penalizados por L0 (também conhecido como melhor subconjunto, ou seja, GLMs em que o número total de coeficientes diferentes de zero é penalizado). Isso foi implementado, por exemplo, no pacote l0ara , consulte este documento e este para obter detalhes.
Também é importante notar que a maneira mais rápida e fechada de resolver uma regressão regular de cume é usar
para o caso em que
n>=p
, ou usandoquando
p>n
e para um modelo sem interceptação.Isso é mais rápido do que usar a receita de aumento de linha , ou seja, fazer
Se você precisar de restrições de não-negatividade em seus coeficientes ajustados , basta fazer
que então dá um resultado um pouco mais preciso entre
(e estritamente falando, apenas a solução
nnls(A=crossprod(X)+diag(lambdas), b=crossprod(X,Y))$x
é a correta).Ainda não descobri como o caso restrito da não-negatividade poderia ser otimizado ainda mais para o
p > n
caso - deixe-me saber se alguém saberia como fazer isso ... [lmridge_nnls_largep = function (X, Y, lambda) t(X) %*% nnls(A=tcrossprod(X)+lambda*diag(nrow(X)), b=Y)$x
não funciona]fonte