Я запускаю LOESS регрессию в R и сталкивался с предупреждениями с некоторыми из моих меньших наборов данных.LOESS предупреждения/ошибки, связанные с диапазоном в R
предупредительные сообщения:
1: В simpleLoess (у, х, ш, продолжительность, степень = степень, параметрическая = параметрическое,: Псевдообратный используется при -2703.9
2: В simpleLoess (у, х, ш, продолжительность, степень = степень, параметрический = параметрическое,: радиус окрестностей 796,09
3: В simpleLoess (Y, X, W, продолжительность, степень = степень, параметрическое = параметрических,: взаимное условие номер 0
4: В simpleLoess (y, x, w, span, degree = degree, параметрический = параметрический: есть и другие близкие особенности. 6.1623e + 005
Эти ошибки обсуждаются в другом посте здесь: Understanding loess errors in 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)
Спасибо за вашу помощь, и, пожалуйста, дайте мне знать, нужна ли какая-либо дополнительная информация.
Где именно ваш код вызывает ошибку? – steveb
На данный момент вы спрашиваете нас, почему вы получаете предупреждения от процедуры, которую вы не описываете. –