Como fazer regressão logística em R quando o resultado é fracionário (uma proporção de duas contagens)?

24

Estou revendo um artigo que tem o seguinte experimento biológico. Um dispositivo é usado para expor as células a quantidades variáveis ​​de estresse de cisalhamento de fluidos. À medida que uma maior tensão de cisalhamento é aplicada às células, muitas delas começam a se destacar do substrato. Em cada nível de tensão de cisalhamento, eles contam as células que permanecem conectadas e, como sabem o número total de células que foram conectadas no início, podem calcular uma conexão fracionária (ou desapego).

Se você plotar a fração aderente versus a tensão de cisalhamento, o resultado é uma curva logística. Em teoria, cada célula individual é uma única observação, mas obviamente existem milhares ou dezenas de milhares de células; portanto, o conjunto de dados seria gigantesco, se fosse configurado da maneira usual (com cada linha sendo uma observação).

Então, naturalmente, minha pergunta (como declarada no título) deve fazer sentido agora. Como fazemos uma regressão logística usando o resultado fracionário como o DV? Existe alguma transformação automática que pode ser feita no glm?

Na mesma linha, se houvesse potencialmente 3 ou mais medições (fracionárias), como fazer isso para uma regressão logística multinomial?

thecity2
fonte
Aqui estão alguns exemplos sobre uma regressão logística de resultados multivariados:http://www.ats.ucla.edu/stat/r/dae/mlogit.htm
marbel
11
O que você descreve não soa como se tivesse observações independentes (já que as células presumivelmente não se reconectam à medida que o cisalhamento aumenta, o número ainda anexado a cada configuração de tensão mais alta não deve ser maior que o número anterior); essa dependência deve ser levada em consideração. (É uma reminiscência da situação com curvas de crescimento.) --- você não pode simplesmente conectar os números a um GLM como se fossem independentes ... e nenhuma das respostas parece abordar esse problema.
Glen_b -Reinstala Monica 26/11
2
@Glen_b Cada experimento seria realizado com células diferentes, ou seja, começando com a fixação "100%" e aplicando um valor diferente de tensão de cisalhamento.
thecity2
Ah ok. Isso daria resultados independentes.
Glen_b -Reinstate Monica
Relacionado: stats.stackexchange.com/questions/29038 .
Ameba diz Reinstate Monica

Respostas:

37

A glmfunção Rpermite três maneiras de especificar a fórmula para um modelo de regressão logística.

O mais comum é que cada linha do quadro de dados represente uma única observação e a variável de resposta seja 0 ou 1 (ou um fator com 2 níveis ou outra variável com apenas 2 valores exclusivos).

Outra opção é usar uma matriz de 2 colunas como variável de resposta, com a primeira coluna sendo a contagem de 'sucessos' e a segunda coluna sendo a contagem de 'falhas'.

Você também pode especificar a resposta como uma proporção entre 0 e 1 e especificar outra coluna como o 'peso' que fornece o número total de onde a proporção é (portanto, uma resposta de 0,3 e um peso de 10 é igual a 3 ' sucessos 'e 7' falhas ').

Qualquer uma das duas últimas maneiras se ajustaria ao que você está tentando fazer, a última parece ser a mais direta na maneira como você descreve seus dados.

Greg Snow
fonte
9

Para começar, se você tiver uma variável dependente proporcional, poderá usar a Regressão Beta. Isso não se estende (com meu conhecimento limitado) a múltiplas proporções.

Para uma visão geral da regressão beta e uma implementação de R, confira betareg .

B_Miner
fonte
Obrigado! Parece o que eu preciso para o caso binomial.
precisa
2

Eu nnet::multinomtenho usado (o pacote nnet faz parte do MASS) para uma finalidade semelhante, ele aceita entrada contínua em [0, 1].

Se você precisar de uma referência: C. Beleites et.al .: Classificação espectroscópica Raman de tecidos de astrocitoma: usando informações de referência suaves. Anal Bioanal Chem, 2011, vol. 400 (9), pp. 2801-2816

cbeleites suporta Monica
fonte
Ótimo! Eu tenho esse pacote e não percebi que tinha esse recurso.
precisa
@ cbeleites: Permite que o dependente seja [0,1]? Pensei que era uma função de um valor nominal de dependentes (preditores deve ser escalado para [0,1] ...
B_Miner
@ B_Miner: sim, o dependente pode estar em [0, 1]. A função se encaixa em uma rede neural artificial sem camada oculta e com sigmóide logístico. E sim, é recomendável dimensionar os preditores aproximadamente para [0, 1], para melhor convergência.
Cbeleites suporta Monica