R の回帰モデルを使用して単一の値を予測する方法
R で線形回帰モデルを近似するには、次の構文を使用するlm()関数を使用できます。
model <- lm(y ~ x1 + x2, data=df)
次に、次の構文を使用して、モデルを使用して単一の値を予測できます。
predict(model, newdata = new)
次の例は、R の近似回帰モデルを使用して単一の値を予測する方法を示しています。
例 1: 単純な線形回帰モデルを使用して予測する
次のコードは、R で単純な線形回帰モデルを近似する方法を示しています。
#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)
また、次のコードを使用して、新しい観測値の応答値を予測できます。
#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
モデルは、この新しい観測値の応答値が25.36364になると予測します。
例 2: 重線形回帰モデルを使用して予測する
次のコードは、R で重線形回帰モデルを近似する方法を示しています。
#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)
また、次のコードを使用して、新しい観測値の応答値を予測できます。
#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
モデルは、この新しい観測値の応答値が26.17073になると予測します。
新しい値を予測する際の潜在的なエラー
新しい値を予測しようとするときに発生する可能性のある最も一般的なエラーは、回帰モデルの近似に使用したデータ セットの列名が、予測しようとする新しい観測値と同じ列名を持たない場合です。
たとえば、次の重線形回帰モデルを R に当てはめるとします。
#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)
次に、モデルを使用して、この新しい観測値の応答値を予測しようとするとします。
#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
新しい観測値 (x_1、x_2) の列名が、回帰モデルの適合に使用した元のデータ フレームの列名 (x1、x2) と一致しないため、エラーが発生しました。