Recentemente, criei um pouco no aplicativo de navegador que você pode usar para brincar com essas idéias: Scatterplot Smoothers (*).
Aqui estão alguns dados que eu criei, com um ajuste polinomial de baixo grau
É claro que o polinômio quadrático não é flexível o suficiente para dar um bom ajuste aos dados. Temos regiões de viés muito alto, entre e todos os dados estão abaixo do ajuste e, após todos os dados estão acima da curva.0,60,850,85
Para nos livrar do viés, podemos aumentar o grau da curva para três, mas o problema permanece, a curva cúbica ainda é muito rígida
Então, continuamos a aumentar o grau, mas agora enfrentamos o problema oposto
Essa curva rastreia os dados muito de perto e tem tendência a voar em direções não tão bem confirmadas por padrões gerais nos dados. É aqui que entra a regularização. Com a mesma curva de graus (dez) e alguma regularização bem escolhida
Temos um ajuste muito bom!
Vale a pena focar um pouco em um aspecto bem escolhido acima. Quando você ajusta polinômios aos dados, você tem um conjunto discreto de opções por grau. Se uma curva de grau três estiver desajustada e uma curva de grau quatro desajustada, você não terá para onde ir no meio. A regularização resolve esse problema, pois fornece uma variedade contínua de parâmetros de complexidade para você brincar.
como você reivindica "Nós temos um ajuste muito bom!". Para mim, todos parecem iguais, a saber, inconclusivos. Qual racional você está usando para decidir o que é bom ou ruim?
Ponto justo.
A suposição que estou fazendo aqui é que um modelo bem ajustado não deve ter um padrão discernível nos resíduos. Agora, como não estou traçando os resíduos, você deve trabalhar um pouco para ver as fotos, mas deve usar sua imaginação.
Na primeira figura, com a curva quadrática ajustada aos dados, posso ver o seguinte padrão nos resíduos
- De 0,0 a 0,3, eles são colocados uniformemente acima e abaixo da curva.
- De 0,3 a cerca de 0,55, todos os pontos de dados estão acima da curva.
- De 0,55 a cerca de 0,85, todos os pontos de dados estão abaixo da curva.
- A partir de 0,85, eles estão todos acima da curva novamente.
Eu me referiria a esses comportamentos como viés local , há regiões em que a curva não está bem próxima da média condicional dos dados.
Compare isso com o último ajuste, com o spline cúbico. Não consigo identificar regiões a olho nu, onde o ajuste não parece estar sendo executado exatamente no centro de massa dos pontos de dados. Isso é geralmente (embora impreciso) o que quero dizer com um bom ajuste.
Nota final : tome tudo isso como ilustração. Na prática, não recomendo o uso de expansões de base polinomial para graus superiores a . Seus problemas são bem discutidos em outros lugares, mas, por exemplo:2
- O comportamento deles nos limites dos seus dados pode ser muito caótico, mesmo com regularização.
- Eles não são locais em nenhum sentido. Alterar seus dados em um local pode afetar significativamente o ajuste em um local muito diferente.
Em vez disso, em uma situação como você descreve, recomendo o uso de splines cúbicos naturais junto com a regularização, que oferecem o melhor compromisso entre flexibilidade e estabilidade. Você pode ver por si próprio ajustando algumas splines no aplicativo.
(*) Eu acredito que isso só funciona no chrome e no firefox devido ao uso de alguns recursos modernos de javascript (e preguiça geral de corrigi-lo no safari e, por exemplo). O código fonte está aqui , se você estiver interessado.