Comecei a trabalhar com o GAM em R e adquiri o excelente livro de Simon Wood sobre o tópico ( "Modelos aditivos generalizados, uma introdução ao R" ). Com base em um de seus exemplos, estou analisando o seguinte:
library(mgcv)
data(trees)
ct1<-gam(log(Volume) ~ Height + s(Girth), data=trees)
Eu tenho duas perguntas gerais para este exemplo:
Como se decide quando uma variável na estimativa do modelo deve ser paramétrica (como Altura) ou quando deve ser suave (como Girth)? Um mantém uma vantagem sobre o outro e existe uma maneira de determinar qual é o tipo ideal para uma variável? Se alguém tiver alguma literatura sobre esse tópico, ficarei feliz em saber.
Digamos que eu queira olhar mais de perto os pesos de
ct1
:ct1$coefficients
. Posso usá-los como ogam
procedimento os produz, ou tenho que transformá-los antes de analisá-los, considerando que estou me adaptandolog(Volume)
? No caso deste último, acho que teria que usarexp (ct1$coefficients)
fonte
Respostas:
Suponho que isso seja melhor explicado na 2ª edição do livro de Simon (que deve sair em alguns dias), pois ele e seus alunos só trabalharam parte da teoria nos últimos anos depois que Simon escreveu seu livro.
O que Marra & Wood (2011) mostrou foi que, se queremos fazer a seleção em um modelo com termos suaves, uma abordagem muito boa é adicionar uma penalidade extra a todos os termos suaves. Essa penalidade adicional trabalha com a penalidade de suavidade para esse termo para controlar a ondulação do termo e se um termo deve estar no modelo.
Portanto, a menos que você tenha uma boa teoria para assumir formas / efeitos suaves ou lineares / paramétricos para as covariáveis, você pode abordar o problema como escolhendo entre todos os modelos (representáveis pela combinação aditiva de combinações lineares das funções básicas) entre um com suaviza cada covariável desde o modelo que contém apenas uma interceptação.
Por exemplo:
Observando o resultado (especificamente na seção Coeficientes paramétricos ), observamos que ambos os termos são altamente significativos. Mas observe os graus efetivos de valor da liberdade para a suavidade de
Height
; é ~ 1. O que esses testes estão fazendo é explicado em Wood (2013).Isso sugere para mim que
Height
deve entrar no modelo como um termo paramétrico linear. Podemos avaliar isso plotando o encaixe suave:que dá:
Isso mostra claramente que a forma selecionada do efeito de
Height
é linear.No entanto, se você não soubesse disso antecipadamente (e não o conhecesse, caso contrário não teria feito a pergunta), agora não poderá reequipar o modelo para esses dados usando apenas um termo linear para
Height
. Isso lhe causaria problemas reais de inferência na linha. A saída emsummary()
foi responsável pelo fato de você ter feito essa seleção. Se você reequipar o modelo com um efeito paramétrico linear deHeight
, a saída não saberia disso e você obteria valores p excessivamente otimistas.Quanto à questão 2, como já mencionado nos comentários, não, não exponencie os coeficientes desse modelo. Além disso, não mergulhe nos modelos ajustados, pois o conteúdo desses componentes nem sempre é o que você poderia esperar. Use as funções do extrator; neste caso
coef()
.Mais adiante, quando Simon chegar aos GLMs e GAMs, você o verá modelar esses dados por meio de um Gamma GLM:
Nesse modelo, como o ajuste está sendo feito na escala do preditor linear (na escala logarítmica), os coeficientes podem ser exponenciados para obter algum efeito parcial, mas é melhor usar
predict(ct1, ...., type = "response")
para recuperar valores / previsões ajustados no escala da resposta (em m ^ 3).Marra, G. & Wood, SN Seleção prática de variáveis para modelos de aditivos generalizados. Comput. Estado. Data Anal. 55, 2372- 2387 (2011).
Madeira, SN Em valores de p para componentes lisos de um modelo de aditivo generalizado estendido. Biometrika 100, 221-228 (2013).
fonte