comment puis-je sélectionner le paramètre de lissage pour lisser.spline()?
Je sais que le paramètre de lissage(lambda) est très important pour le montage de lissage de spline, mais je n'ai pas vu de post ici sur la façon de sélectionner un raisonnable lambda (spar=?), On m'a dit que spar normalement varie de 0 à 1. Quelqu'un pourrait-il partager votre expérience lorsque vous utilisez lisse.spline()? Merci.
smooth.spline(x, y = NULL, w = NULL, df, spar = NULL,
cv = FALSE, all.knots = FALSE, nknots = NULL,
keep.data = TRUE, df.offset = 0, penalty = 1,
control.spar = list(), tol = 1e-6 * IQR(x))
- Envisagez-vous d'étendue, où la durée est de savoir jusqu'où le facteur de lissage atteint.
- Salut Nathan, la raison pour laquelle j'ai demandé est parce qu'il y a assez peu de chiffres, je peux sélectionner (de 0 à 1), j'ai besoin de trouver un moyen de prouver que le paramètre que j'ai choisi est raisonnable.
Vous devez vous connecter pour publier un commentaire.
agstudy fournit un moyen visuel pour choisir
spar
. Je me souviens de ce que j'ai appris à partir d'un modèle linéaire de la classe (mais pas exactement) est d'utiliser la croix de validation de choisir le "meilleur"spar
. Voici un jouet exemple emprunté à agstudy:Code n'est pas la plus élégante, mais facile à comprendre pour vous. Aussi, si vous spécifiez
cv=T
danssmooth.spline
:De l'aide de
smooth.spline
vous avez le suivant:spar peut être supérieure à 1 (mais je crois pas trop). Je pense que vous pouvez varier les paramètres et choisir graphiquement en traçant les valeurs ajustées pour les différents renforts. Par exemple:
Ici par exemple , j'obtiens de meilleurs résultats pour les renforts = 0.4
Si vous n'avez pas les points en double à la même valeur de x, alors essayez de définir PCS=VRAI - la Validation Croisée Généralisée (GCV) procédure est une manière astucieuse de la sélection d'un assez bon coup de poignard dans le choix d'un bon de la valeur de lambda (span). L'une des plus intéressantes de détails sur le GCV est qu'il ne possède pas réellement d'aller à la peine de faire les calculs pour chaque ensemble unique de gauche points, comme l'a souligné Simon du Bois du livre. Pour beaucoup de détails sur cette avoir un regard sur les notes sur Simon du Bois de la page web sur MGCV.
Adrian de Bowman (sm) r-package a une fonction
h.select()
qui est conçu spécifiquement pour passer le gros du travail pour le choix d'une valeur de lambda (même si je ne suis pas 100% sûr que c'est compatible avec lasmooth.spline()
fonction dans le forfait de base.