Eu estou usando usando um modelo linear generalizado gama (GLM) com um link de identidade. A variável independente é a compensação de um grupo específico.
O resumo do statsmodels do Python está me dando um aviso sobre a função de vínculo de identidade ( "DomainWarning: a função de vínculo de identidade não respeita o domínio da família Gamma." ) Que eu não entendo e gostaria de receber ajuda. Antecedentes: Somente educação formal básica em estatística e praticamente nenhuma experiência com GLMs além da regressão logística.
Aqui está o código Python relevante:
model=statsmodels.genmod.generalized_linear_model.GLM(target,
reducedFeatures, family=sm.families.Gamma(link=sm.families.links.identity))
results=model.fit()
print(results.summary())
Minha pergunta é a seguinte: de que maneira um link de identidade não respeita o domínio da família Gamma? O domínio da família gama é de 0 a infinito? Também fiquei com a impressão de que o link de identidade não estava fazendo muita coisa, ou seja, mantendo as variáveis independentes como estão e não transformando elas / seus relacionamentos com a variável dependente. Parece uma função de link respeitoso;)
Por favor me corrija
Respostas:
O modelo Gamma GLM é:
Onde é o parâmetro de expectativa e é um parâmetro de dispersão (o parâmetro de dispersão não é estimado na estrutura GLM padrão), é o preditor linear, são os parâmetros aprendidos pelo modelo é chamada de função de link.μ ϕ Xβ β f
Observe que, embora possa assumir qualquer valor real, está modelando a expectativa de uma distribuição gama, que deve ser um número real positivo . É isso que o Python está dizendo, a função de identidade não garante o mapeamento de para um número real positivo, portanto nem sempre resulta em um parâmetro médio válido.Xβ f( Xβ) Xβ
Não necessariamente, um de seus coeficientes estimados pode ser negativo (sua interceptação é muito negativa).
Isso afeta o parâmetro médio da sua distribuição Gamma condicional. Lembre-se, sua equação de estrutura para o modelo é:
e deve ser positivo . Suponha que seja válido que todos os valores de suas variáveis preditivas sejam zero (não sei se é esse o caso em seus dados, pois não tenho contexto para seus recursos). Em seguida, sua previsão para esse ponto de dados seria:μ
Se você estiver usando a função de link de identidade, isso significa que
que é um valor inválido de quando a interceptação é negativa.μ
Novamente, devido a restrições contextuais de seus dados, você pode evitar essa situação, mas é matematicamente possível.
fonte
Desde que publiquei essa pergunta há mais de um ano, participei de uma aula sobre modelos lineares generalizados e aprendi muito. Como este post é exibido com certa frequência, pensei em adicionar algumas orientações que gostaria de ter no momento.
Funções de link a serem consideradas no modelo Gamma:
Como regra geral, evite a função de link de identidade.
Dito isto, você provavelmente pode e deve evitar o uso do modelo Gamma na maioria das situações. Se você tiver dados com inclinação significativa, transforme sua variável de destino e execute um modelo de regressão linear padrão. Os resultados geralmente serão mais fáceis de entender e tão bons ou melhores.
fonte