Як виконати лінійну інтерполяцію в r (з прикладом)


Лінійна інтерполяція — це процес оцінювання невідомого значення функції між двома відомими значеннями.

Враховуючи два відомих значення (x 1 , y 1 ) і (x 2 , y 2 ), ми можемо оцінити значення y для точки x за такою формулою:

y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )

У наступному прикладі показано, як виконати лінійну інтерполяцію в R.

Приклад: лінійна інтерполяція в R

Припустимо, у нас є наступний кадр даних зі значеннями x і y в R:

 #define data frame
df <- data. frame (x=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 y=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

    xy
1 2 4
2 4 7
3 6 11
4 8 16
5 10 22
6 12 29
7 14 38
8 16 49
9 18 63
10 20 80

Ми можемо використовувати наступний код для створення діаграми розсіювання для візуалізації значень (x,y) у кадрі даних:

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

Тепер припустімо, що ми хочемо знайти значення y, пов’язане з новим значенням x 13 .

Для цього ми можемо використати функцію approx() у R:

 #fit linear regression model using data frame
model <- lm(y ~ x, data = df)

#interpolate y value based on x value of 13
y_new = approx(df$x, df$y, xout= 13 )

#view interpolated y value
y_new

$x
[1] 13

$y
[1] 33.5

Розрахункове значення y виявляється рівним 33,5 .

Якщо ми додамо точку (13, 33.5) до нашого графіка, здається, що вона досить добре відповідає функції:

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

#add the predicted point to the scatterplot
points(13, y_new$y, col=' red ', pch= 19 )

лінійна інтерполяція в R

Ми можемо використовувати цю точну формулу для виконання лінійної інтерполяції для будь-якого нового значення x.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як розв’язати систему рівнянь у R
Як передбачити значення в R за допомогою моделі множинної регресії

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *