Sto cercando di capire come controllare i parametri di smoothing in un modello di mgcv: gam.
Ho una variabile binomiale che sto provando a modellare come principalmente una funzione delle coordinate xey su una griglia fissa, più alcune altre variabili con influenze minori. In passato ho costruito un modello di regressione locale ragionevolmente buono usando il pacchetto locfit e solo i valori (x, y).
Tuttavia, voglio provare a incorporare le altre variabili nel modello e sembra che i modelli di additivi generalizzati (GAM) siano una buona possibilità. Dopo aver esaminato i pacchetti gam e mgcv, entrambi dotati di una funzione GAM, ho optato per quest'ultimo poiché un certo numero di commenti nei thread della mailing list sembrano raccomandarlo. Un aspetto negativo è che non sembra supportare una regressione locale più liscia come loess o locfit.
Per iniziare, volevo solo provare a replicare approssimativamente il modello locfit, usando solo le coordinate (x, y). Ho provato sia con i prodotti regolari che con quelli a tensore:
my.gam.te <- gam(z ~ te(x, y), family=binomial(logit), data=my.data, scale = -1)
my.gam.s <- gam(z ~ s(x, y), family=binomial(logit), data=my.data, scale = -1)
Tuttavia, tracciando le previsioni dal modello, sono molto più uniformi rispetto al modello locfit. Quindi ho cercato di mettere a punto il modello in modo che non fosse troppo liscio. Ho provato a regolare i parametri sp e k, ma non mi è chiaro come influiscano sul livellamento. In locfit, il parametro nn controlla l'intervallo del vicinato utilizzato, con valori più piccoli che consentono meno attenuazione e più "oscillazione", che aiuta a catturare alcune aree della griglia in cui la probabilità degli esiti binomiali cambia rapidamente. Come farei per configurare il modello di gioco per consentirgli di comportarsi in modo simile?