Os mínimos quadrados lineares podem ser resolvidos por
0) Usando o solucionador de mínimos quadrados lineares de alta qualidade, com base em SVD ou QR, conforme descrito abaixo, para mínimos quadrados lineares sem restrições ou com base em uma versão de Programação Quadrática ou Otimização Cônica para mínimos quadrados limitados ou com restrição linear, conforme descrito abaixo. Esse solucionador é pré-enlatado, fortemente testado e pronto para uso - use-o.
1) SVD, que é o método mais confiável e numericamente preciso, mas também exige mais computação do que alternativas. No MATLAB, a solução SVD do problema de mínimos quadrados lineares sem restrições A * X = b é pinv (A) * b, que é muito precisa e confiável.
2) QR, que é razoavelmente confiável e numericamente preciso, mas não tanto quanto SVD, e é mais rápido que SVD. No MATLAB, a solução QR do problema de mínimos quadrados lineares sem restrições A * X = b é A \ b, que é razoavelmente preciso e confiável, exceto quando A está mal condicionado, ou seja, possui um grande número de condições. A \ b é mais rápido em calcular que pinv (A) * b, mas não é tão confiável ou preciso.
3) Formação das equações normais (TERRÍVEL do ponto de vista da confiabilidade e precisão numérica, porque quadratura o número da condição, o que é uma coisa muito ruim de se fazer) e
3a) resolver pela fatoração de Cholesky (não é bom)
3b) matriz explicitamente invertida (HORRÍVEL)
4) Solucionando problemas de programação quadrática ou de cone de segunda ordem
4a) Resolva usando o software de programação quadrática de alta qualidade. Isso é confiável e numericamente preciso, mas leva mais tempo que SVD ou QR. No entanto, é fácil adicionar restrições lineares vinculadas ou gerais, ou termos de penalidade ou regularização linear ou quadrática (duas normas) à função objetivo, e ainda resolver o problema usando o software de programação quadrática.
4b) Resolva como um problema de cone de segunda ordem usando o software de otimização cônica de alta qualidade. As observações são iguais às do software de programação quadrática, mas você também pode adicionar restrições lineares vinculadas ou gerais e outras restrições cônicas ou termos objetivos de função, como termos de penalização ou regularização em várias normas.
5) Resolva usando um software de otimização não linear de uso geral de alta qualidade. Isso ainda pode funcionar bem, mas em geral será mais lento que o software de Programação Quadrática ou Otimização Cônica, e talvez não seja tão confiável. No entanto, pode ser possível incluir não apenas restrições lineares vinculadas e gerais, mas também restrições não lineares na otimização de mínimos quadrados. Além disso, pode ser usado para mínimos quadrados não lineares e se outros termos não lineares forem adicionados à função objetivo.
6) Resolva usando algoritmos de otimização não linear de uso geral péssimo -> NUNCA FAÇA ISSO.
7) Resolva usando o pior algoritmo de otimização não linear de propósito geral possível, ou seja, descida de gradiente. Use isso apenas se desejar ver o quão ruim e não confiável um método de solução pode ser. Se alguém lhe disser para usar a descida de gradiente para resolver problemas lineares de mínimos quadrados
7 i) Aprenda sobre computação estatística com alguém que sabe algo sobre ela
7 ii) Aprenda a otimização de alguém que sabe algo sobre isso.