Nick Knauer - 1 year ago 46

R Question

I have a general question about feature scaling in linear regression.

I have a dataset that is two years worth of data. The first year's worth of data for a specific column is completely different than the 2nd year's. I am assuming that maybe there were different attributes associated with calculating the 1st year's variable vs. the 2nd year.

Anyway, here is what the dataset looks like. I will show the first 6 rows of each year:

`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

When I want to forecast this dataset, obviously it is going to forecast results in the negative but in reality the data has just been rescaled in some way.

If I apply feature scaling as so, how do I revert back to my original dataset to make a forecast?

`normalize <- function(x){`

return((x-min(x)) / (max(x)-min(x)))

}

scaled_data <-

df %>%

group_by(Date %>%

mutate(NORMALIZED = normalize(Col1))

Recommended for you: Get network issues from **WhatsUp Gold**. **Not end users.**

Answer Source

Sure. Might as well put it in a function although you did provide the answer yourself.

This one should be given the predicted value and the original vector

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

or if you computed and kept the minimum and maximum then

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

Recommended from our users: **Dynamic Network Monitoring from WhatsUp Gold from IPSwitch**. ** Free Download**