O desequilíbrio não é necessariamente um problema, mas como você pode chegar lá. Não é correto basear sua estratégia de amostragem na variável de destino. Como essa variável incorpora a aleatoriedade no seu modelo de regressão, se você fizer uma amostra com base nisso, terá grandes problemas ao fazer qualquer tipo de inferência. Duvido que seja possível "desfazer" esses problemas.
Você pode legitimamente super ou subamostra com base nas variáveis preditoras . Nesse caso, desde que você verifique cuidadosamente se as suposições do modelo parecem válidas (por exemplo, homocedasticidade que pareça importante nesta situação, se você tiver uma regressão "comum" com as suposições usuais), não acho que precise desfazer a sobre amostragem ao prever. Seu caso agora seria semelhante a um analista que projetou um experimento explicitamente para ter um intervalo equilibrado das variáveis preditivas.
Editar - adição - expansão sobre por que é ruim amostrar com base em Y
y= Xb + eeeXb) o e não terá mais uma média de zero ou será distribuído de forma idêntica. Por exemplo, valores baixos de y que podem incluir valores muito baixos de e podem ter menos chances de serem selecionados. Isso arruina qualquer inferência com base nos meios usuais de montagem desses modelos. As correções podem ser feitas semelhantes às feitas na econometria para o ajuste de modelos truncados, mas são difíceis e exigem suposições adicionais, e só devem ser empregadas quando não houver alternativa.
Considere a ilustração extrema abaixo. Se você truncar seus dados com um valor arbitrário para a variável de resposta, introduzirá vieses muito significativos. Se você o truncar para uma variável explicativa, não haverá necessariamente um problema. Você vê que a linha verde, com base em um subconjunto escolhido por causa de seus valores preditores, está muito próxima da verdadeira linha ajustada; isso não pode ser dito da linha azul, baseada apenas nos pontos azuis.
Isso se estende ao caso menos grave de sub ou superamostragem (porque o truncamento pode ser visto como subamostragem levada ao seu extremo lógico).
# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)
# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
"Fitted - subset based on y"), lty=1, col=1:4, bty="n")