次のように、混合モデルをデータAに適合させました。
model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=A)
次に、モデルがデータBにどのように適合するかを確認し、推定残差も取得します。Rに使用できる関数はありますか?
(次の方法を試しましたが、すべて新しい係数を取得しました。)
model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=B)
次のように、混合モデルをデータAに適合させました。
model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=A)
次に、モデルがデータBにどのように適合するかを確認し、推定残差も取得します。Rに使用できる関数はありますか?
(次の方法を試しましたが、すべて新しい係数を取得しました。)
model <- lme(Y~1+X1+X2+X3, random=~1|Class, method="ML", data=B)
2回目の試行で新しい係数を取得する理由data=B
は、関数lme
が、指定した式を使用してデータセットに適合したモデルを返し、model
選択したとおりにそのモデルを変数に格納するためです。
モデルに関する詳細情報を取得するには、と入力しsummary(model_name)
ます。nlme
ライブラリにはpredict.lme
、フィットされたモデルに基づいて予測を行うことができると呼ばれるメソッドが含まれています。predict(my_model)
元のデータセットを使用して予測を取得するために入力するか、predict(my_model, some_other_data)
上記のように入力して、そのモデルを使用して別のデータセットで予測を生成することができます。
残差を取得するには、観測値から予測値を差し引く必要があります。したがって、、predict(my_model,some_other_data) - some_other_data$dependent_var
またはあなたの場合はを使用してくださいpredict(model,B) - B$Y
。
モデル:
モデル<-lme(Y〜1 + X1 + X2 + X3、random =〜1 | Class、method = "ML"、data = A)
モデルに基づく2つの予測:
pred1 = predict(model、newdata = A、type ='response')
pred2 = predict(model、newdata = B、type ='response')
見逃した:カットオフを0.5に設定して、誤検知の割合を計算する関数。
(真実であると予測されましたが、実際にはそれらの観察は肯定的ではありませんでした)
missed = function(values、prediction){sum(((prediction> 0.5)* 1)!= values)/ length(values)}
missed(A、pred1)
missed(B、pred2)