具有特征尺度的线性回归

时间:2017-07-26 20:11:56

标签: r regression normalization rescale

我对线性回归中的特征缩放有一个普遍的疑问。

我有一个两年数据的数据集。特定列的第一年的数据值与第二年完全不同。我假设可能存在与计算第一年变量与第二年相关的不同属性。

无论如何,这是数据集的样子。我将展示每年的前6行:

Date             Col1
2015-01-01       1500
2015-01-02       1432
2015-01-03       1234
2015-01-04       1324
2015-01-05       1532
2015-01-06       1424
.
.
.
2016-01-01         35
2016-01-02         31
2016-01-03         29
2016-01-04         19
2016-01-05         22
2016-01-06         32

当我想预测这个数据集时,很明显它会预测结果是负面的,但实际上数据刚刚以某种方式重新调整。

如果我这样应用特征缩放,如何恢复到原始数据集以进行预测?

normalize <- function(x){
  return((x-min(x)) / (max(x)-min(x)))
}

scaled_data <- 
  df %>%
  group_by(Date %>%
  mutate(NORMALIZED = normalize(Col1))

1 个答案:

答案 0 :(得分:2)

不确定。不管你自己提供答案,还是可以把它放在一个功能中。

应该给出这个预测值和原始矢量

backtransform <- function(value, x) { value * (max(x) - min(x)) + min(x) }

或者如果您计算并保持最小值和最大值

backtransform2 <- function(value, min, max) { value * (max - min) + min }