1) Imagine que você tenha fazer a conta 1/x.
Se x for um número muito próximo de zero ( ruído muitas vezes causa esse tipo de problema) o resultado da conta vai ser um valor muito alto.
Mas se você fizer uma conta com 1/(x+C) você consegue controlar o problema dos valores muito altos. Você tem que escolher o valor C mantenha o resultado dentro de um intervalo adequado controlando o ruído. Na maioria dos casos é usado um método chamado de método do "cotovelo" https://www.scikit-yb.org/en/latest/api/cluster/elbow.html (Esse exemplo é para clustering). Você testa diversos valores de C até que a curva de diminuição do erro se torne quase reta. Você escolhe o C no cotovelo, onde a curva parou de diminuir de forma rápida.
2) Não. O .fit é usado nos dados de treino porque queremos que o algoritmo aprenda com dados que conhecemos. E depois testamos para ver se vai ser possível obter uma resposta boa em dados que não vimos durante o treino. Ou seja, queremos que o algoritmo generalize o problema. Não queremos que ele simplesmente memorize os dados de treino.
3) Acho que é mais fácil você assistir as primeiras aulas deste curso aqui. Neste curso em foquei na predição de valores subsequentes. https://cursos.alura.com.br/course/data-science-time-series