logo

R で lm() 関数を使用して線形モデルを近似する方法

この記事では、R プログラミング言語で lm() 関数を使用して線形モデルを近似する方法を学びます。

線形モデルは、独立変数に基づいて未知の変数の値を予測するために使用されます。主に、変数と予測の間の関係を調べるために使用されます。 lm() 関数は、R 言語で線形モデルをデータ フレームに適合させるために使用されます。これを使用して、回帰、単一層の分散分析、共分散分析を実行し、データ フレームにないデータに対応する値を予測できます。これらは、不動産の価格予測や天気予報などに非常に役立ちます。



R 言語で線形モデルを適合するには、 lm() 関数、最初に data.frame() 関数を使用して、回帰関数を使用して線形モデルに適合させる必要がある値を含むサンプル データ フレームを作成します。次に、lm() 関数を使用して、特定の関数を指定されたデータ フレームに適合させます。

構文:

lm(フィッティング式、データフレーム)



パラメータ:

    Fitting_formula: 線形モデルの式を決定します。 dataframe: データを含むデータ フレームの名前を決定します。

次に、summary() 関数を使用して、線形モデルの概要を表示できます。 summary() 関数は、線形モデルの分析に最も重要な統計値を解釈します。

HTMLからJavaScript関数を呼び出す

構文:



概要(線形モデル)

概要には次の重要な情報が含まれています。

    残差標準誤差: n-1 で割るのではなく、分散の平方根から n マイナス 1 + 関与する変数の数を引く誤差の標準偏差を決定します。複数の R 二乗: モデルがデータにどの程度適合するかを決定します。調整済み R 二乗: サンプルの数と使用している変数の数を考慮して、複数の R 二乗を正規化します。 F 統計: 係数の少なくとも 1 つがゼロ以外であるかどうかをチェックするグローバル テストです。

例: lm() 関数の使用例を示します。

R




# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # view summary of linear model> summary>(linear_model)>

>

>

出力:

電話:

lm(式 = y ~ x^2、データ = df)

残差:

1 2 3 4 5

2.000e+00 5.329e-15 -3.000e+00 -2.000e+00 3.000e+00

係数:

標準推定値誤差 t 値 Pr(>|t|)

(切片) -7.0000 3.0876 -2.267 0.10821

× 6.0000 0.9309 6.445 0.00757 **

シニフ。コード: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

残留標準誤差: 3 自由度で 2.944

多重 R 二乗: 0.9326、調整済み R 二乗: 0.9102

F 統計量: 1 および 3 DF で 41.54、p 値: 0.007575

診断プロット

診断プロットは、モデルのさまざまな統計値間の関係を確認するのに役立ちます。これは、外れ値の範囲と近似されたモデルの効率を分析するのに役立ちます。線形モデルの診断プロットを表示するには、R 言語の Lot() 関数を使用します。

構文:

プロット(線形モデル)

例: 上記の近似線形モデルの診断プロット。

R




# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # view diagnostic plot> plot>(linear_model)>

>

>

出力:

線形モデルのプロット

abline() メソッドを使用すると、上記の近似線形モデルをプロットして、適切に視覚化できます。まずデータ点の散布図をプロットし、次に abline() 関数を使用してそれを線形モデルのアブライン プロットと重ね合わせます。

構文:

プロット( df$x, df$y)

マックOSとは何ですか

abline(線形モデル)

例: 線形モデルのプロット

R




文字列を整数に変換する
# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # Plot abline plot> plot>( df$x, df$y )> abline>( linear_model)>

>

>

出力:

近似モデルを使用して未知のデータ点の値を予測する

上記の近似線形モデルを使用して新しい入力の値を予測するには、predict() 関数を使用します。 detect() 関数は、未知のデータ ポイントを含むモデルとデータ フレームを取得し、近似されたモデルに従って各データ ポイントの値を予測します。

構文:

予測(モデル, データ)

パラメータ:

    モデル: 線形モデルを決定します。 data: 未知のデータポイントを含むデータフレームを決定します。

例: 新規入力の予測

R




# sample data frame> df <->data.frame>( x=>c>(1,2,3,4,5),> >y=>c>(1,5,8,15,26))> > # fit linear model> linear_model <->lm>(y ~ x^2, data=df)> > # Predict values> predict>( linear_model, newdata =>data.frame>(x=>c>(15,16,17)) )>

>

>

出力:

1 2 3 83 89 95>