come è possibile riprodurre questo risultato del loess utilizzando loess
con lowess
?Come ottenere il loess di R e le funzioni di lowess di R per ottenere lo stesso risultato?
codice loess:
> data = data.frame(x=c(1,0.5,3,4,5,5.5,6,7), y=c(10, 25, 38, 44.5, 500, 550, 600, 705))
> fit = loess("y ~ x", data=data)
> new_y = predict(fit, data$x)
> new_y
[1] 6.251022 28.272100 -2.840750 150.006042 481.927307 563.161187 640.825415 693.166150
codice lowess:
> new_fit = lowess(data, f=0.8)
> new_fit
$x
[1] 0.5 1.0 3.0 4.0 5.0 5.5 6.0 7.0
$y
[1] -4.330119 38.931265 255.000000 400.000000 500.000000 550.241949 601.519903 704.247275
I risultati sono molto diversi. Sto cercando di ottenere nuovi valori adattati per y
dati valori di x
. loess
dà
[1] 6.251022 28.272100 -2.840750 150.006042 481.927307 563.161187 640.825415 693.166150
Mentre lowess
dà:
[1] -4.330119 38.931265 255.000000 400.000000 500.000000 550.241949 601.519903 704.247275
Come posso riscrivere la mia lowess
chiamata a dare risultati molto simili per i nuovi y
valori come predict
con loess
in forma e x
valori? Grazie.
Lo stesso? Richiesta irragionevole? Non sono l'elettore vicino, ma capisco l'impulso. –
@Dwin: ovviamente, quando dico lo stesso, intendo simile. -2.8 e 255 non sono simili. – user248237dfsf
Penso che sia irragionevole aspettarsi che due diversi smoother non parametrici producano "lo stesso risultato" in tutti i punti da un piccolo set di dati che ha più di due log10 di intervallo. Scelgono un diverso "punto di cambio" e i punti di cambio di presa sono notoriamente difficili. –