Rプログラミングにおけるpredict()関数の使用方法

導入部を日本語で表現すると、「はじめに」となります。

Rのpredict()関数は、入力データに基づいて値を予測するために使用されます。Rプログラムのモデリングのすべての側面は、各々の方法でpredict()関数を利用しますが、ケースに関係なくpredict()関数の機能は同じです。

この記事では、Rのpredict()関数の使い方について探っていきます。

前提条件

このチュートリアルを完了するためには、以下が必要です:

  • To have installed R.

Rのpredict()関数の構文

Rのpredict()関数は、入力データに基づいて値を予測するために使用されます。

predict(object, newdata, interval)
  • object: The class inheriting from the linear model
  • newdata: Input data to predict the values
  • interval: Type of interval calculation

predict()関数の例

予測のためにデータが必要です。この例では、Rの組み込みデータセットである「Cars」をインポートすることができます。

df <- datasets::cars

これにより、データフレームに速度と距離の値のコレクションが割り当てられます。

     speed dist
1      4    2
2      4   10
3      7    4
4      7   22
5      8   16
6      9   10
7     10   18
8     10   26
9     10   34
10    11   17

次に、このデータを使用してpredict()を使って将来の値を求めます。

最初に、このデータフレームのために線形モデルを計算する必要があります。

# Creates a linear model
my_linear_model <- lm(dist~speed, data = df)

# Prints the model results
my_linear_model

このコードを実行すると、線形モデルの結果が計算されます。

Call:
lm(formula = dist ~ speed, data = df)

Coefficients:
(Intercept)        speed
    -17.579        3.932

線形モデルは、車の速度を私たちの入力データの振る舞いに基づいて返しました。モデルを持っているので、predict() を適用することができます。

# Creating a data frame
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))

# Fiting the linear model
linear_model <- lm(dist~speed, data = df)

# Predicts the future values
predict(linear_model, newdata = variable_speed)

このコードは次の出力を生成します。

       1        2        3        4        5
25.67740 25.67740 29.60981 29.60981 29.60981
       6        7        8        9       10
29.60981 33.54222 33.54222 33.54222 33.54222

うまくいけば、前のデータと線形モデルの助けを借りて、将来の距離の値を予測することができました。

今、私たちは予測値の「信頼度」レベルをチェックして、予測の正確性を確認する必要があります。

予測された値に対する信頼性

予測関数内の信頼区間は、予測の不確実性を評価するのに役立ちます。

# Input data
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))

# Fits the model
linear_model <- lm(dist~speed, data = df)

# Predicts the values with confidence interval
predict(linear_model, newdata = variable_speed, interval = 'confidence')

このコードは次の出力を生成します。

      fit      lwr      upr
1  25.67740 19.96453 31.39028
2  25.67740 19.96453 31.39028
3  29.60981 24.39514 34.82448
4  29.60981 24.39514 34.82448
5  29.60981 24.39514 34.82448
6  29.60981 24.39514 34.82448
7  33.54222 28.73134 38.35310
8  33.54222 28.73134 38.35310
9  33.54222 28.73134 38.35310
10 33.54222 28.73134 38.35310

上記の出力には、予測値の信頼区間を確認することができます。 (Jōki no shutsuryoku ni wa, yosoku-chi no shinrai kukan o kakunin suru koto ga dekimasu.)

この出力から、時速11〜13マイルで走行している車は、19.9から31.3マイルの範囲で走行する可能性があることが予測されます。

結論

過去のデータの振る舞いに基づいて値を予測するために、予測() 関数はデータをモデルに適合させることで用いられます。

予測の正確性を確認するために、信頼区間も利用できます。

参考文献

  • R documentation
コメントを残す 0

Your email address will not be published. Required fields are marked *