R: Berechnung von MSE
Ich habe eine Funktion, die ich Hinzugefügt habe, Rauschen auf, dann glättete es sich um eine Regressionsgerade. Wie finde ich die MSE zwischen der ursprünglichen Funktion und den Regressionsgeraden 30 äquidistante Punkte?
Oder, wie kann ich geben Sie R ein x-Wert und Holen Sie sich den y-Wert auf einer Regressionsgeraden?
Dies ist eine abgespeckte version der mein problem:
> test<- function(m) {3*m^2+7*m+2}
> r=rnorm(10)
> m=1:10/10
> plot(test(m)+r)
> lines(smooth.spline(1:10,test(m)+r),col="red")
So, ich habe die wahre Funktion Werte an der 10 äquidistante Punkte d.h. test(m). Ich muss nur einen Weg zum extrahieren der glatt.spline-Werte auf die 10 Punkte, dann sollte ich in der Lage zu berechnen, MSE.
- Ich bin mit glatt.spline
- Konnte Sie zeigen eine reproduzierbare Beispiel - das ist, zeigen die Daten (oder einen Teil davon) mit
dput
, dann zeigen Sie den code, den Sie verwendet, um ihn zu glätten? Das würde es viel leichter zu beantworten, in einer Weise, die für Sie hilfreich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa:
n/(n-length(r))
" oder so (obwohl im moment, dass wäre Blödsinn also was du meinst)?r
als ein Maß der effektiven df des Modells (ein wenig schwer, herauszufinden, für eine Glättung der Wirbelsäule sowieso). Ich vergaß, wir hätten bereits, dass symbol.$df
Zugriff auf eine 'glatte.spline'-Objekt eingestuft ist möglich. Da ich vermute, dass Sie wusste, dass, ich Frage mich, was Ihre Einwände gegen seine Nutzung könnte?