web-dev-qa-db-ja.com

Rを使用してLOWESSフィットの信頼区間を取得するにはどうすればよいですか?

Rの「stats」パッケージのLOWESS回帰直線の信頼区間(CI)に対する満足のいく答えは見つかりませんでした。

plot(cars, main = "lowess(cars)")
lines(lowess(cars), col = 2)

しかし、その周りに95%CIを描画する方法がわかりませんか?しかし、私はから推定分散を得ることができることを知っています

V = s^2*sum(w^2)

ここで、s2 =推定誤差分散、w = Xに適用される重み。したがって、95%CIは次のようになります。

Y plus/minus 2*sqrt(V(Y))

レスフィットからCIを取得する方法があることは知っていますが、堅牢であるため、LOWESSを使用したいと思います。あなたの提案をありがとう。

15
ToNoY

これは、predict()およびloess()を使用して実行できます。 lowessloessより古く、機能は少ないですが、少し高速です。ただし、このコンテキストでは、次のようにloessを使用します。

plot(cars)
plx<-predict(loess(cars$dist ~ cars$speed), se=T)

lines(cars$speed,plx$fit)
lines(cars$speed,plx$fit - qt(0.975,plx$df)*plx$se, lty=2)
lines(cars$speed,plx$fit + qt(0.975,plx$df)*plx$se, lty=2)

lowess example

25