Eu concordo com Glen_b. Em problemas de regressão, o foco principal está nos parâmetros e não na variável ou preditor independente, x. E então podemos decidir se queremos linearizar o problema empregando transformações simples ou procedê-lo como tal.
Problemas lineares: contar o número de parâmetros em seu problema e verificar se todos eles têm poder de 1. Por exemplo, . Esta função não é linear em x . Mas para problemas de regressão, a não linearidade em x não é um problema. É preciso verificar se os parâmetros são lineares ou lineares. Nesse caso, a , b , cy=ax+bx2+cx3+dx2/3+e/x+fx−4/7xxabc, .. todos têm poder 1. Então, eles são lineares.f
Observe que, em , embora a pareça ter potência 1, mas quando expandido
exp ( a x ) = 1 + a x / 1 ! + ( Um x ) 2 / 2 ! + ... . Você pode ver claramente que é um parâmetro não linear, pois a possui uma potência maior que 1. Mas, esse problema pode ser linearizado invocando uma transformação logarítmica. Ou seja, um problema de regressão não linear é convertido em um problema de regressão linear.y=exp(ax)exp(ax)=1+ax/1!+(ax)2/2!+…
y=a/(1+bexp(cx)abcbc(a/y)−1=Y
Agora suponha que . Isso é mais uma vez não linear em relação aos parâmetros. Mas, não pode ser linearizado. É preciso usar uma regressão não linear.y=a1/(1+b1exp(c1x))+a2/(1+b2exp(c2x))
Em princípio, usar uma estratégia linear para resolver um problema de regressão não linear não é uma boa ideia. Portanto, lide com problemas lineares (quando todos os parâmetros tiverem poder 1) usando regressão linear e adote a regressão não linear se seus parâmetros não forem lineares.
β0β1θ1θ2
Adote uma técnica não linear de mínimos quadrados para resolvê-la. Escolha os valores iniciais de maneira inteligente e use uma abordagem de várias etapas para encontrar os mínimos globais.
Este vídeo será útil (embora não fale sobre solução global): http://www.youtube.com/watch?v=3Fd4ukzkxps
Usando o solucionador não-linear GRG na planilha do Excel (instale o pacote de ferramentas do solucionador, vá para as opções - Suplementos - Suplementos do Excel e, em seguida, escolha o Suplemento do Solver) e invoque o multistart na lista de opções, prescrevendo intervalos para os parâmetros e exigindo Como a precisão da restrição e a convergência são pequenas, é possível obter uma solução global.
Se você estiver usando o Matlab, use a caixa de ferramentas de otimização global. Possui várias opções de inicialização e pesquisa global. Certos códigos estão disponíveis aqui para uma solução global, aqui
e
aqui .
Se você estiver usando o Mathematica, veja aqui .
Se você estiver usando R, tente aqui .