Interpretabilidade das interações do produto tensorial no espaço
Os dados espaciais (x, y) são mais frequentemente acompanhados por autocorrelação espacial ou interações localmente diferentes entre x e y. Quando eu quero ajustar um parâmetro no espaço com modelos aditivos generalizados e estou interessado apenas no efeito de longo alcance de uma direção espacial (por exemplo, x), é válido usar a interação do produto tensorial ti ()? O que pretendo é procurar o efeito principal de x excluindo um efeito de autocorrelação espacial ou outra interação local entre x e y. Estou usando a versão quantil de gams do pacote qgam
library(qgam)
b <- qgam(Response ~ ti(x)+ti(y)+ti(x,y)+s(some random factors,bs=”re”),qu=0.5) #0.5 for median
Posso dizer que interpretar os resultados de ti (x) representa o efeito principal ou efeito residual excluindo a interação (ou correlação local de x e y)? Portanto, o efeito que vejo em ti (x) é tirar o efeito de y e a interação / correlação local de x, y?
Ao aumentar o número de k em ti (x, y), posso explicar as interações / correlação de escala menor de y e x em resolução mais alta?
E uma pergunta final relacionada a isso, há uma diferença neste contexto usando:
b <- qgam(Response ~ s(x)+s(y)+ti(x,y)+s(some random factors,bs=”re”),qu=0.5)
Sei que existem outros métodos, como gamm, que podem adicionar termos de correlação para erros, por exemplo, neste contexto espacial, mas preciso de estimativas de quantis, então qgam é obrigatório.
-Ou existem outras técnicas com as quais posso fazer isso?
Obrigado!
Respostas
Sim, sua interpretação está correta; s(x) + s(z) + ti(x,z)inclui os efeitos principais de xe zcomo termos separados do termo de interação ti(x,z), no mesmo sentido que x + z + x:zfaria em um modelo linear.
De alguns testes que fiz um tempo atrás, ti(x)ou s(x)em um modelo como
y ~ s(x) + s(z) + ti(x, z)
está próximo do efeito suave da xmédia sobre os valores de z. Com isso quero dizer que você ajustou este modelo
y ~ te(x, z)
e, em seguida, avaliou o efeito de suavização de xem um conjunto de valores para a zpartir deste modelo (usando uma grade de pontos x'e um conjunto muito fino de valores para ze, em seguida, calculou a média do efeito de suavização estimado de xover za cada valor de x'), você obteria algo muito perto de s(x)no primeiro modelo.
Eu ainda não descobri por que há mais discrepância do que eu esperava, mas isso pode estar relacionado apenas ao primeiro modelo não ser exatamente igual ao segundo modelo; há mais parâmetros de suavidade no primeiro modelo do que no segundo, por exemplo.
O que você está fazendo parece válido para mim.
Outra opção, que parece muito mais envolvente, seria ajustar o modelo com s(x, z, bs = 'tp')ou s(x, z, bs = 'ds')ou te(x, z). Crie algum vetor de novos valores para os xquais deseja avaliar o modelo e combine-o com um conjunto fino de valores para z. Em seguida, simule a partir do modelo posterior nesta grade de xe zpontos, e a média dos valores previstos zpara cada valor de x, produzindo o efeito posterior médio de x.
Aumentar kfunciona como você diz, até certo ponto; você está assumindo que o efeito de ti(x, z)é suave, então chega a um ponto em que o aumento klevará a uma superfície áspera e a penalidade começará a dominar a probabilidade penalizada do modelo. Se você tiver uma grande quantidade de dados, poderá ter um kmaior, mas ainda há algum limite imposto pela definição de suavidade.
Não há diferença entre
y ~ s(x) + s(z) + ti(x, z)
e
y ~ ti(x) + ti(z) + ti(x, z)
Certa vez, Simon Wood indicou que não gostava de ti()trabalhar por períodos únicos, mas esse aviso parece ter sido removido do Changelog, então talvez ele tenha mudado de ideia sobre isso.