R で LOESS 回帰を実行していますが、いくつかの小さなデータ セットで警告が表示されました。
警告メッセージ:
1: simpleLoess(y, x, w, span, degree = degree, parametric = parametric, : -2703.9 で使用される疑似逆数
2: simpleLoess(y, x, w, span, degree = degree, parametric = parametric, : 近傍半径 796.09
3: simpleLoess(y, x, w, span, degree = degree, parametric = parametric, : 逆条件数 0
4: simpleLoess(y, x, w, span, degree = degree, parametric = parametric, では、他にも近傍特異点があります。 6.1623e+005
これらのエラーについては、こちらの別の投稿で説明しています: R での黄土エラーの理解。
これらの警告は、LOESS 回帰用に設定されたスパンに関連しているようです。許容可能な平滑化スパンのパラメーターが 0.3 から 0.6 の間である他のデータ セットで行われた同様の方法論を適用しようとしています。場合によっては、これらの問題を回避するためにスパンを調整できますが、他のデータ セットでは、エラー/警告を回避するために許容レベルを超えてスパンを増やす必要がありました。
これらの警告が具体的に何を意味するのか、また、これが回帰を使用できる状況になるのかどうかについて興味がありますが、これらの警告が発生したこと、または回帰が完全に無効であることに注意する必要があります。
問題のあるデータ セットの例を次に示します。
Period Value Total1 Total2
-2950 0.104938272 32.4 3.4
-2715 0.054347826 46 2.5
-2715 0.128378378 37 4.75
-2715 0.188679245 39.75 7.5
-3500 0.245014245 39 9.555555556
-3500 0.163120567 105.75 17.25
-3500 0.086956522 28.75 2.5
-4350 0.171038825 31.76666667 5.433333333
-3650 0.143798024 30.36666667 4.366666667
-4350 0.235588972 26.6 6.266666667
-3500 0.228840125 79.75 18.25
-4933 0.154931973 70 10.8452381
-4350 0.021428571 35 0.75
-3500 0.0625 28 1.75
-2715 0.160714286 28 4.5
-2715 0.110047847 52.25 5.75
-3500 0.176923077 32.5 5.75
-3500 0.226277372 34.25 7.75
-2715 0.132625995 188.5 25
そして、ここに改行なしのデータがあります
Period Value Total1 Total2
-2950 0.104938272 32.4 3.4
-2715 0.054347826 46 2.5
-2715 0.128378378 37 4.75
-2715 0.188679245 39.75 7.5
-3500 0.245014245 39 9.555555556
-3500 0.163120567 105.75 17.25
-3500 0.086956522 28.75 2.5
-4350 0.171038825 31.76666667 5.433333333
-3650 0.143798024 30.36666667 4.366666667
-4350 0.235588972 26.6 6.266666667
-3500 0.228840125 79.75 18.25
-4933 0.154931973 70 10.8452381
-4350 0.021428571 35 0.75
-3500 0.0625 28 1.75
-2715 0.160714286 28 4.5
-2715 0.110047847 52.25 5.75
-3500 0.176923077 32.5 5.75
-3500 0.226277372 34.25 7.75
-2715 0.132625995 188.5 25
私が使用しているコードは次のとおりです。
Analysis <- read.csv(file.choose(), header = T)
plot(Value ~ Period, Analysis)
a <- order(Analysis$Period)
Analysis.lo <- loess(Value ~ Period, Analysis, weights = Total1)
pred <- predict(Analysis.lo, se = TRUE)
lines(Analysis$Period[a], pred$fit[a], col="red", lwd=3)
lines(Analysis$Period[a], pred$fit[a] - qt(0.975, pred$df)*pred$se[a],lty=2)
lines(Analysis$Period[a], pred$fit[a] + qt(0.975,pred$df)*pred$se[a],lty=2)
ご協力ありがとうございます。追加情報が必要な場合はお知らせください。