Entendo o conceito de escalar a matriz de dados para usar em um modelo de regressão linear. Por exemplo, em R você pode usar:
scaled.data <- scale(data, scale=TRUE)
Minha única pergunta é, para novas observações para as quais quero prever os valores de saída, como elas são dimensionadas corretamente? Seria scaled.new <- (new - mean(data)) / std(data)
?
r
regression
prediction
scales
SamuelNLP
fonte
fonte
y = y_esc * sd(y) + mean(y)
, mas isso interferiria nas propriedades do modelo, acho, então também estou esperando uma resposta mais técnica!Respostas:
A resposta curta para sua pergunta é sim - essa expressão para scaled.new está correta (exceto que você queria, em
sd
vez destd
).Pode ser interessante notar que a escala possui argumentos opcionais que você pode usar:
Além disso, o objeto retornado pela escala (scaled.data) possui atributos que mantêm a centralização numérica e as escalas usadas (se houver), que você pode usar:
A vantagem disso aparece quando os dados originais têm mais de uma coluna; portanto, há várias médias e / ou desvios padrão a serem considerados.
fonte
scaled.new <- scale(new, use.attrs = scaled.data)