Estou tentando ajustar um modelo linear em alguns dados com apenas um preditor (digamos (x, y)). Os dados são tais que, para valores pequenos de x, os valores de y ajustam-se firmemente a uma linha reta; no entanto, à medida que os valores de x aumentam, os valores de y se tornam mais voláteis. Aqui está um exemplo desses dados (código R)
y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)
Estou curioso para saber se existe alguma transformação de energia (caixa cox, talvez?) Que me permita obter um melhor ajuste para os dados do que simplesmente fazer um ajuste linear, como mostrado abaixo.
fit = lm(y ~ x)
r
regression
variance
data-transformation
brócolis
fonte
fonte
Respostas:
O pacote MASS que já vem com o seu R instalado, tem a
boxcox()
função que você pode usar: Após ler os dados, faça:Em seguida, observe o gráfico que produz, que mostra graficamente um intervalo de confiança de 95% para o parâmetro de transformação boxcox. Mas você realmente não possui dados suficientes (n = 10) para fazer isso, o intervalo de confiança resultante varia quase de -2 a 2 !, com uma estimativa de probabilidade máxima de aproximadamente 0 (uma transformação de log, como dito anteriormente). Se seus dados reais tiverem mais observações, tente isso.
Como outros já disseram, essa transformação está realmente tentando estabilizar variações. Isso não é realmente óbvio da teoria, o que ela faz é tentar maximizar uma função de probabilidade baseada na distribuição normal, que assume variação constante. Pode-se pensar que maximizar uma probabilidade baseada em normal tentaria normalizar a distribuição dos resíduos, mas, na prática, a principal contribuição para maximizar a probabilidade advém da estabilização das variações. Talvez isso não seja tão surpreendente, dado que a probabilidade que maximizamos é baseada em uma família de distribuição normal de variação constante!
Certa vez, escrevi uma demonstração baseada em slider no XLispStat, que demonstrou isso claramente!
fonte
Quando você tem um relacionamento linear, mas variações desiguais, geralmente é necessário transformar xey para obter um relacionamento linear com variações iguais (ou apenas usar a regressão ponderada de mínimos quadrados nas variáveis não transformadas).
O procedimento AVAS pode ser usado para sugerir possíveis transformações.
fonte
glm
estrutura com uma função de link de Poisson a cortaria?Bem, em R você pode tentar o seguinte:
Mas isso realmente depende do que você quer dizer com 'melhor ajuste aos dados'
fonte
bem, se todos os seus dados para x não são negativos, você pode usar a transformação cox da caixa ... para estimar o valor ideal do parâmetro lambda da transformação, você pode usar o matlab ... http://www.mathworks.in/ ajuda / finanças / boxcox.html
fonte