R'de bir regresyon modeli kullanılarak tek bir değer nasıl tahmin edilir
R’ye doğrusal bir regresyon modeli sığdırmak için aşağıdaki sözdizimini kullanan lm() işlevini kullanabiliriz:
model <- lm(y ~ x1 + x2, data=df)
Daha sonra modeli tek bir değeri tahmin etmek amacıyla kullanmak için aşağıdaki sözdizimini kullanabiliriz:
predict(model, newdata = new)
Aşağıdaki örnekler, R’deki uygun regresyon modellerini kullanarak tek bir değerin nasıl tahmin edileceğini gösterir.
Örnek 1: Basit bir doğrusal regresyon modeli kullanarak tahminde bulunun
Aşağıdaki kod, R’ye basit bir doğrusal regresyon modelinin nasıl sığdırılacağını gösterir:
#create data df <- data. frame (x=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit simple linear regression model model <- lm(y ~ x, data=df)
Yeni bir gözlemin yanıt değerini tahmin etmek için aşağıdaki kodu kullanabiliriz:
#define new observation new <- data. frame (x=c(5)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 25.36364
Model, bu yeni gözlemin 25,36364 yanıt değerine sahip olacağını öngörüyor.
Örnek 2: Çoklu doğrusal regresyon modeli kullanarak tahminde bulunun
Aşağıdaki kod, R’ye çoklu doğrusal regresyon modelinin nasıl sığdırılacağını gösterir:
#create data df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit multiple linear regression model model <- lm(y ~ x1 + x2, data=df)
Yeni bir gözlemin yanıt değerini tahmin etmek için aşağıdaki kodu kullanabiliriz:
#define new observation new <- data.frame(x1=c(5), x2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 26.17073
Model, bu yeni gözlemin 26,17073 yanıt değerine sahip olacağını öngörüyor.
Yeni değerleri tahmin ederken olası hatalar
Yeni bir değeri tahmin etmeye çalışırken karşılaşabileceğiniz en yaygın hata , regresyon modelini sığdırmak için kullandığınız veri kümesinin, tahmin etmeye çalıştığınız yeni gözlemle aynı sütun adlarına sahip olmamasıdır .
Örneğin, R’de aşağıdaki çoklu doğrusal regresyon modelini uyguladığımızı varsayalım:
#createdata df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit multiple linear regression model model <- lm(y ~ x1 + x2, data=df)
Daha sonra, bu yeni gözlemin yanıt değerini tahmin etmek için modeli kullanmaya çalıştığımızı varsayalım:
#define new observation new <- data.frame(x_1=c(5), x_2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) Error in eval(predvars, data, env): object 'x1' not found
Yeni gözlemin sütun adları (x_1, x_2), regresyon modeline sığdırmak için kullandığımız orijinal veri çerçevesinin (x1, x2) sütun adlarıyla eşleşmediğinden bir hata aldık.
Ek kaynaklar
R’de basit doğrusal regresyon nasıl gerçekleştirilir
R’de çoklu doğrusal regresyon nasıl gerçekleştirilir
R’de artık arsa nasıl oluşturulur