Qual é a maneira mais apropriada de transformar proporções quando elas são uma variável independente?

12

Pensei ter entendido esse problema, mas agora não tenho tanta certeza e gostaria de verificar com outras pessoas antes de prosseguir.

Eu tenho duas variáveis Xe Y. Yé uma proporção e não é delimitada por 0 e 1 e geralmente é normalmente distribuída. Xé uma proporção e é delimitada por 0 e 1 (executa de 0,0 a 0,6). Quando eu executar uma regressão linear de Y ~ Xe eu descobrir que Xe Ysão significativamente linearmente relacionadas. Por enquanto, tudo bem.

Mas então eu investigo mais e começo a pensar que o relacionamento de talvez Xe Ypode ser mais curvilíneo que linear. Para mim, parece que a relação entre Xe Ypode estar mais perto Y ~ log(X), Y ~ sqrt(X)ou Y ~ X + X^2, ou algo parecido. Tenho razões empíricas para supor que o relacionamento possa ser curvilíneo, mas não há motivos para supor que qualquer relacionamento não linear possa ser melhor que qualquer outro.

Eu tenho algumas perguntas relacionadas daqui. Primeiro, minha Xvariável utiliza quatro valores: 0, 0,2, 0,4 e 0,6. Quando eu registro ou transforme a raiz quadrada desses dados, o espaçamento entre esses valores distorce, de modo que os valores 0 estão muito mais distantes de todos os outros. Por falta de uma maneira melhor de perguntar, é isso que eu quero? Suponho que não, porque obtenho resultados muito diferentes, dependendo do nível de distorção que aceito. Se não é isso que eu quero, como devo evitá-lo?

Segundo, para transformar esses dados em log, preciso adicionar uma certa quantia a cada Xvalor, porque você não pode assumir o log de 0. Quando adiciono uma quantia muito pequena, digamos 0,001, recebo uma distorção substancial. Quando adiciono uma quantidade maior, digamos 1, recebo muito pouca distorção. Existe uma quantidade "correta" para adicionar a uma Xvariável? Ou é inapropriado adicionar algo a uma Xvariável em vez de escolher uma transformação alternativa (por exemplo, raiz do cubo) ou modelo (por exemplo, regressão logística)?

O pouco que pude descobrir sobre esse assunto me faz sentir que deveria pisar com cuidado. Para outros usuários do R, esse código criaria alguns dados com uma espécie de estrutura semelhante à minha.

X = rep(c(0, 0.2,0.4,0.6), each = 20)
Y1 = runif(20, 6, 10)
Y2 = runif(20, 6, 9.5)
Y3 = runif(20, 6, 9)
Y4 = runif(20, 6, 8.5)
Y = c(Y4, Y3, Y2, Y1)
plot(Y~X)
Bajcz
fonte
Você diz que Y é uma proporção, mas nos seus dados está entre 6 e 10?
Sim, eu consertei isso acima - é uma proporção, não uma proporção.
22716 Bajcz

Respostas:

13

A principal questão sobre a transformação de proporções (usarei como símbolo, de maneira semelhante, mas não idêntica à sua notação) permite alguns comentários gerais.x

No que segue, considero que o principal motivo para transformar proporções que são covariáveis ​​(preditores, variáveis ​​independentes) é melhorar a aproximação à linearidade do relacionamento, ou, no modo exploratório, obter uma idéia mais clara graficamente da forma ou mesmo da existência de qualquer relacionamento. Como de costume, se uma covariável é (por exemplo) aproximadamente normalmente distribuída não é crucial como tal. (As proporções são um parente não muito distante das variáveis ​​indicadoras com valores que nunca podem ser distribuídos normalmente e as proporções também são necessariamente limitadas.)0 0,1

Se as proporções podem atingir zeros exatos ou exatos, é essencial que uma transformação seja definida para esses limites, que claramente excluem , pois log 0 é indeterminado. Além disso, uma forma específica requer, idealmente, alguma justificação substantiva (científica, prática), mas falta, em algumas análises simples, que o log ( x + c ) seja altamente sensível ao valor de c , como você sugere. registroxregistro0 0registro(x+c)c

Isso é um pouco mais fácil de ver com logaritmos na base , então temporariamente vamos considerar c = 10 k para que o log 10 ( x + 10 k ) mapeie x = 0 para k .10c=10kregistro10(x+10k)x=0 0k

Por isso mapas x = 0 a 0 e x = 1 a cerca de 0,301 , enquanto que k = - 3 , c = 0,001 mapas x = 0 a - 3 e x = 1 a apenas uma pitada mais do que 0 .k=0 0,c=1x=0 00 0x=10,301k=-3,c=0,001x=0 0-3x=10 0

Da mesma forma, o que significa que 0 é mapeado para os mesmos limites, enquanto que para uma aproximação cada vez mais boa x = 1 é mapeado para 0 .k=6,9,0x=10

Portanto, o limite inferior é estendido para fora com constantes adicionadas cada vez menores , enquanto o limite superior permanece aproximadamente o mesmo. Tais transformações, portanto, podem esticar excessivamente a parte inferior do intervalo e até criar valores extremos a partir de valores muito pequenos iguais ou próximos a 0 .c0

Simplesmente, as pessoas sugerindo isso presumivelmente imaginam que o (agora para qualquer base que você goste) deve se comportar de maneira muito semelhante ao log x para c pequeno , o que é claramente verdadeiro para x grande , mas não é verdade para x pequeno . Em outras palavras, a inclinação mais íngreme e mais íngreme do log x em função de x como x 0 pode morder aqui com muita força.log(x+c)logxcxxlogxxx0

Parece preferível focar em transformações que variam mais gradualmente perto de e (por outras razões, mas relacionadas) também perto de x = 1 .x=0x=1

Raízes quadradas e raízes de cubo e outras potências estão perfeitamente bem definidas para x = 0 , 1 e geralmente ajudam quando há necessidade de esticar valores próximos de 0 . Mas essas transformações são bem conhecidas e me concentro aqui mais em outra possibilidade.xpx=0,10

A família de poderes dobrados popularizada por JW Tukey ( Análise Exploratória de Dados , Reading, MA: Addison-Wesley, 1977) é uma possibilidade, e é . Embora não haja nenhuma compulsão para escolher poderes que permitem nomes sugestivos simples, as escolhas p = 1 / 2 (raiz dobrado) e p = 1 / 3 (raiz cúbica dobrado) parecem os membros mais úteis desta família.xp(1x)pp=1/2p=1/3

A família se assemelha o familiar de transformação logit de e, na verdade o logit é um caso limite como p tende a 0 . Uma diferença chave é que os poderes dobradas são definidos para x = 0 , 1 e p 0 .logit x=logxlog(1x)p0x=0,1p0

Potências dobradas, incluindo agora o logit, tratam os casos extremos próximos a e 1 de inclinação simétrica e plotam como curvas sigmóides inversas (alguns gráficos abaixo) misturando comportamento aditivo e multiplicativo, ecoando freqüentes qualidades qualitativas (se não físicas, biológicas, econômicas, o que for) fatos para o fenômeno subjacente que01

  • a diferença entre e 0,02 pode ser um "grande problema" (com certeza, x muda apenas 0,01 , mas também dobra)0.010.02x0.01

  • a diferença de dizer a 0,99 também pode ser um "grande problema" (com certeza, x muda apenas em 0,01 , mas a "fração sem" 1 - x também diminui pela metade)0.980.99x0.011x

  • a diferença entre e 0,51 pode ser uma "transação menor" (com certeza, x também muda em 0,01 , mas a mudança proporcional é muito menor)0.500.51x0.01

Talvez seja mais fácil pensar em quando alguma dinâmica subjacente é imaginada: a fração crescente de pessoas alfabetizadas precisa de um grande empurrão para avançar, acelera e depois diminui à medida que se aproxima da assíntota da alfabetização universal. Portanto, a curva no tempo pode se parecer com uma logística crescente ou decrescente. O fato de as proporções e 1 serem abordadas mais ou mais lentamente é naturalmente uma das várias motivações para logit e modelos similares para respostas proporcionais; embora aqui nos concentremos em covariáveis ​​proporcionais, os sigmóides também podem ser úteis aqui.01

Poderes dobrados, como a raiz dobrada ou a raiz do cubo, não são tão sigmóides quanto o logit, mas um mérito valioso aqui é o fato de serem definidos de maneira direta e fácil, sem falsificações, kludges ou cutucadas para .x=0,1

Voltando ao seu conjunto de dados falso, mas aparentemente realista (que eu importei para o meu próprio software favorito, mas a análise é simples em qualquer coisa decente), verifica-se que nenhuma dessas transformações realmente ajuda. Mas representar graficamente os dados dá um aviso claro de que mesmo o é uma transformação poderosa, como pode ser visto também plotando-o diretamente.log(x+0.001)

Os dois pontos principais que desejo destacar são que

  1. frequentemente sugerido, e muitas vezes aparentemente considerado inócuo, é uma transformação perigosa, a menos que seja compreendida e frequentemente inadequada sempre que estender a distribuição poderosamente para x pequeno(a menos que esse seja realmente o comportamento desejado).log(x+c)x

  2. Para seus dados de exemplo, nenhuma transformação que tentei parece ajudar.

Ao mesmo tempo, outras possibilidades estão longe de esgotar-se. (Notavelmente, eu não tentei raiz quadrada ou raiz de cubo e enfatizo que em muitos outros problemas esses podem ser candidatos óbvios e sérios.)

O primeiro conjunto de gráficos simplesmente mostra algumas transformações candidatas para proporções que podem atingir e 1 . (Usei logaritmos naturais, mas as formas não dependem da base escolhida).01

insira a descrição da imagem aqui

O segundo conjunto de gráficos não mostra nenhuma transformação ajudando muito nos dados de exemplo. (Para comparação, uma regressão simples nos dados originais gera %, RMSE = 0,994 .)R2=3.7=0.994

insira a descrição da imagem aqui

Pequeno quebra-cabeça. Diz-se que seu é uma proporção, mas seus valores estão em torno de 6 a 10 .y610

EDIT: Os dados originais podem ser plotados aqui porque o OP publicou brevemente os dados, mas depois os removeu.

Outros tópicos aqui usando poderes dobrados incluem

Transformando dados de proporção: quando a raiz quadrada arcsin não é suficiente

Regressão: Gráfico de dispersão com baixo R ao quadrado e altos valores de p

Plotar um conjunto de dados altamente inclinado

Nick Cox
fonte
Excelente resposta e muito completo. Acho que devo dizer que Yé uma proporção e não uma proporção, o que provavelmente é uma diferença bastante substancial, por isso foi bom da sua parte ressaltar.
Bajcz 12/02
As proporções são limitadas como eu as defino. Obrigado pelo esclarecimento, que não faz nenhuma diferença para a minha análise (e foi por isso que eu o rotulei como um pequeno detalhe).
Nick Cox
2
Comentário adicional: Em princípio, você pode verificar a curvatura etc. usando splines ou smoothers, mas com apenas 4 níveis distintos do preditor, isso não é fácil. Eu consideraria a regressão quantil para seus dados.
Nick Cox
x2x310x=0,1