Friday 17 November 2017

R glm predição opções binárias


Modelos Lineares Generalizados Veja a ajuda (glm) para outras opções de modelagem. Consulte a ajuda (família) para outras funções de link permitido para cada família. Três subtipos de modelos lineares generalizados serão abordados aqui: regressão logística, regressão de poisson e análise de sobrevivência. Regressão Logística A regressão logística é útil quando você está prevendo um resultado binário de um conjunto de variáveis ​​de preditores contínuos. É freqüentemente preferido sobre a análise da função discriminante por causa de seus pressupostos menos restritivos. Regressão logística onde F é um fator binário e x1-x3 são preditores contínuos que se encaixam lt-glm (F x1x2x3, datamydata, familybinomial ()) resumo (ajuste) resultados de exibição confint (ajuste) 95 CI para os coeficientes exp (coef (fit) ) Coeficientes exponenciados exp (confint (fit)) 95 IC para coeficientes exponenciais calculam (ajuste, tipoquotresponsequot) valores previstos residuals (ajuste, tipoquotviancequot) residuals x, mydata de dados) exibirá a parcela de densidade condicional do resultado binário F no x contínuo variável. Regressão de Poisson A regressão de Poisson é útil ao prever uma variável de resultado que representa contagens de um conjunto de variáveis ​​de preditores contínuos. Regressão de Poisson onde a contagem é uma contagem e x1-x3 são preditores contínuos para o efeito lt-glm (contagem x1x2x3, datamydata, familypoisson ()) resumo (ajuste) exibir resultados Se você tiver uma excesso de dispersão (veja se o desvio residual é muito maior do que graus de liberdade ), Você pode querer usar quasipoisson () em vez de poisson (). Análise de sobrevivência A análise de sobrevivência (também chamada análise de histórico de eventos ou análise de confiabilidade) cobre um conjunto de técnicas para modelar o tempo para um evento. Os dados podem ser censurados direito - o evento pode não ter ocorrido até o final do estudo ou podemos ter informações incompletas sobre uma observação, mas sabemos que até certo momento o evento não ocorreu (por exemplo, o participante deixou de estudar na semana 10, mas estava vivo naquele momento). Embora os modelos lineares generalizados sejam normalmente analisados ​​usando a função glm (), as análises de sobrevivência normalmente são realizadas usando funções do pacote de sobrevivência. O pacote de sobrevivência pode lidar com um e dois problemas de amostra, modelos de falha acelerada paramétrica e o modelo de riscos proporcionais da Cox. Os dados normalmente são inseridos no formato de hora de início. pare o tempo . E status (ocorreu um caso, não ocorreu). Alternativamente, os dados podem estar no formato de tempo para evento e status (ocorreu 1 caso, não ocorreu). Um status0 indica que a observação está bem centrada. Os dados são agrupados em um objeto Surv através da função Surv () antes de novas análises. Sobrevivente () é usado para estimar uma distribuição de sobrevivência para um ou mais grupos. Survivdiff () testes para diferenças nas distribuições de sobrevivência entre dois ou mais grupos. Coxph () modela a função de perigo em um conjunto de variáveis ​​preditoras. Mayo Clinic Câncer de pulmão Biblioteca de dados (sobrevivência) aprender sobre a ajuda do banco de dados (pulmão) criar um Surv objeto sobrevivente com (pulmão, Surv (tempo, status)) Distribuição de sobrevivência da amostra total da amostra Kaplan-Meier estimador fit0 lt-survivability (Sobrevivência 1, datalung) sumário (fit0) parcela (fit0, xlabquotSurvival Time in Daysquot, ylabquot Survivingquot, yscale100, mainquot Distribuição de sobrevivência (Global) quot) Compare as distribuições de sobrevivência de homens e mulheres em condições de sobrevivência (sobrevivir a parcela das distribuições de sobrevivência por Lote de sexo (fit1, xlabquotSurvival Time in Daysquot, ylabquot Survivingquot, yscale100, colc (quotredquot, quotbluequot), mainquotSvvival Distributions by Genderquot) lenda (quottoprightquot, titlequotGenderquot, c (quotMalequot, quotFemalequot), fillc (quotredquot, quotbluequot)) teste para a diferença Entre as curvas de sobrevivência do sexo masculino e feminino (teste logrank) sobrevivdiff (sobrevivobj prevêem a sobrevivência do sexo masculino a partir da idade e as pontuações médicas) MaleMod lt-coxph (survobj ageph. ecogph. karnopat. karno, datalung, sub Setsex1) exibir resultados MaleMod avaliar a hipótese de risco proporcional cox. zph (MaleMod) Veja o artigo de notícias Thomas Lumleys R sobre o pacote de sobrevivência para obter mais informações. Outras boas fontes incluem Mai Zhous Use R Software para fazer análise de sobrevivência e simulação e M. J. Crawleys capítulo sobre análise de sobrevivência. O método a ser usado na montagem do modelo. O método padrão glm. fit usa quadrados mínimos quadrados (IWLS): o modelo modelo alternativo retorna a moldura do modelo e não faz ajustes. As funções de montagem fornecidas pelo usuário podem ser fornecidas como uma função ou uma seqüência de caracteres que nomeie uma função, com uma função que leva os mesmos argumentos que glm. fit. Se especificado como uma seqüência de caracteres, ele é pesquisado a partir do namespace das estatísticas. Para glm. Valores lógicos indicando se o vetor de resposta e a matriz do modelo utilizados no processo de montagem devem ser retornados como componentes do valor retornado. Para glm. fit. X é uma matriz de design de dimensão n p. E y é um vetor de observações de comprimento n. Uma lista opcional. Veja os contrastes. arg de model. matrix. default. Para glm. Argumentos a serem usados ​​para formar o argumento de controle padrão se não for fornecido diretamente. Para pesos. Outros argumentos passados ​​para ou de outros métodos. Um preditor típico possui os termos de resposta de formulário em que a resposta é o vetor de resposta (numérico) e termos é uma série de termos que especifica um preditor linear para resposta. Para famílias binomiais e quasibinomiais, a resposta também pode ser especificada como um fator (quando o primeiro nível denota falha e sucesso de todos os outros) ou como uma matriz de duas colunas com as colunas dando o número de sucessos e falhas. Uma especificação de termos do primeiro segundo de formulário indica todos os termos em primeiro, juntamente com todos os termos em segundo, com as duplicatas removidas. Uma especificação da forma primeiro: segundo indica o conjunto de termos obtidos tomando as interações de todos os termos em primeiro com todos os termos em segundo. A primeira especificação indica a cruz do primeiro e segundo. Isso é o mesmo que o primeiro segundo primeiro: segundo. Os termos da fórmula serão reordenados para que os efeitos principais sejam os primeiros, seguidos pelas interações, todos de segunda ordem, todos de terceira ordem e assim por diante: para evitar que isso passe um objeto de termos como a fórmula. Os pesos não NULL podem ser usados ​​para indicar que diferentes observações têm dispersões diferentes (sendo os valores em pesos inversamente proporcionais às dispersões) ou, de forma equivalente, quando os elementos de pesos são inteiros positivos wi. Que cada resposta yi é a média de wi observações de peso unitário. Para um binômio, os pesos anteriores de GLM são utilizados para dar o número de ensaios quando a resposta é a proporção de sucessos: raramente serão usados ​​para um GLM de Poisson. Glm. fit é a função workhorse: normalmente não é chamado diretamente, mas pode ser mais eficiente onde o vetor de resposta, matriz de design e família já foram calculados. Se mais de um de etastart. Start e mustart é especificado, o primeiro da lista será usado. Muitas vezes é aconselhável fornecer valores iniciais para uma família quase, e também para famílias com links incomuns, como gaussian (log). Todos os pesos. Subconjunto. Compensado. Etastart e mustart são avaliados da mesma forma que as variáveis ​​na fórmula. Isso é primeiro em dados e depois no ambiente de fórmula. Para o fundo para alertar mensagens sobre probabilidades lsquofitted numericamente 0 ou 1 occurrsquo para binômios GLMs, veja Venables amp Ripley (2002, pp. 197ndash8). Glm retorna um objeto de classe herdando de glm que herda da classe lm. Veja mais adiante nesta seção. Se um método não padrão for usado, o objeto também herdará da classe (se houver) retornada por essa função. O resumo da função (ou seja, summary. glm) pode ser usado para obter ou imprimir um resumo dos resultados e a função anova (ou seja, anova. glm) para produzir uma tabela de análise de variância. O acessor genérico funciona como coeficiente. Efeitos. Valores ajustados e resíduos podem ser usados ​​para extrair várias características úteis do valor retornado pelo glm. Pesos extrai um vetor de pesos, um para cada caso no ajuste (após subconjunto e na. action). Um objeto de classe glm é uma lista que contém pelo menos os seguintes componentes: até uma constante, menos duas vezes a probabilidade de log maximizada. Onde é sensível, a constante é escolhida para que um modelo saturado tenha desvio zero. Uma versão do Critério de Informação Akaikes. Menos duas vezes o log-verossimilhável maximizado mais duas vezes o número de parâmetros, calculado pelo componente aic da família. Para famílias binomiais e Poison, a dispersão é fixada em um e o número de parâmetros é o número de coeficientes. Para gaussianas, Gamma e famílias gaussianas inversas, a dispersão é estimada a partir do desvio residual, e o número de parâmetros é o número de coeficientes mais um. Para uma família gaussiana, o MLE da dispersão é usado, então este é um valor válido de AIC, mas para Gamma e famílias gaussianas inversas não é. Para famílias equipadas com quase-probabilidade, o valor é NA. O desvio para o modelo nulo, comparável com o desvio. O modelo nulo incluirá o deslocamento e uma intercepção se houver um no modelo. Observe que isso será incorreto se a função de link depender dos dados que não sejam através da média ajustada: especifique um deslocamento de zero para forçar um cálculo correto. O número de iterações do IWLS utilizado. (Quando relevante) devolvida pelo modelo. Quadro no tratamento especial de NA s. Além disso, os ajustes não vazios terão componentes qr. R e efeitos relacionados ao ajuste linear ponderado final. Os objetos da classe glm são normalmente da classe c (glm, lm). Que é herdar da classe lm. E métodos bem concebidos para a classe lm serão aplicados ao modelo linear ponderado na iteração final do IWLS. No entanto, é necessário cuidado, pois as funções do extractor para a classe glm, como resíduos e pesos, não apenas escolhem o componente do ajuste com o mesmo nome. Se um modelo binário de glm foi especificado, fornecendo uma resposta de duas colunas, os pesos retornados pelos pesos anteriores são o número total de casos (fatores pelos pesos de casos fornecidos) e a componente y do resultado é a proporção de sucessos. Funções de montagem O método de argumento tem duas finalidades. Um é permitir que o quadro do modelo seja recriado sem ajuste. O outro é permitir que a função de ajuste padrão glm. fit seja substituída por uma função que leva os mesmos argumentos e use um algoritmo de ajuste diferente. Se glm. fit for fornecido como uma seqüência de caracteres, ele é usado para procurar uma função desse nome, começando no namespace das estatísticas. A classe do objeto retornado pelo instalador (se houver) será antecipada à classe retornada pelo glm. A implementação original de R de Glm foi escrita por Simon Davies trabalhando para Ross Ihaka na Universidade de Auckland, mas desde então foi reescrito extensivamente pelos membros da equipe do R Core. O design foi inspirado pela função S do mesmo nome descrito no Hastie amp Pregibon (1992). Referências Dobson, A. J. (1990) Uma Introdução aos Modelos Lineares Generalizados. Londres: Chapman e Hall. Hastie, T. J. e Pregibon, D. (1992) Modelos lineares generalizados. Capítulo 6 de Modelos Estatísticos em S eds J. M. Chambers e T. J. Hastie, Wadsworth amp BrooksCole. McCullagh P. e Nelder, J. A. (1989) Modelos Lineares Generalizados. Londres: Chapman e Hall. Venables, W. N. e Ripley, B. D. (2002) Estatísticas aplicadas modernas com S. Nova York: Springer. Lm para modelos lineares não generalizados (que SAS chama GLMs, para modelos lineares lsquogeneralrsquo). Loglin e loglm (pacote MASS) para montagem de modelos log-lineares (que binômio e Poisson GLMs) são para tabelas de contingência. Bigglm no pacote biglm para uma maneira alternativa de caber GLMs para conjuntos de dados grandes (especialmente aqueles com muitos casos). Modelos Lineares Generados em R, Parte 1: Cálculo da Probabilidade Prevista na Regressão Logística Binária por David Lillis, Ph. D. A regressão ordinária dos mínimos quadrados fornece modelos lineares de variáveis ​​contínuas. No entanto, muitos dados de interesse para os estatísticos e pesquisadores não são contínuos e, portanto, outros métodos devem ser usados ​​para criar modelos preditivos úteis. O comando glm () é projetado para executar modelos lineares generalizados (regressões) em dados de resultados binários, dados de contagem, dados de probabilidade, dados de proporção e muitos outros tipos de dados. Nesta postagem do blog, exploramos o uso do comando Rs Glm () em um desses tipos de dados. Vamos dar uma olhada em um exemplo simples onde modelamos dados binários. No conjunto de dados do mtcars, a variável vs indica se um carro possui um motor V ou um motor direto. Queremos criar um modelo que nos ajude a prever a probabilidade de um veículo possuir um motor V ou um motor direto com um peso de 2100 libras e o deslocamento do motor de 180 centímetros cúbicos. Primeiro, ajustamos o modelo: usamos a função glm (), incluímos as variáveis ​​da maneira usual e especificamos uma distribuição de erro binomial, da seguinte forma: vemos a partir das estimativas dos coeficientes que o peso influencia sobre positivamente, enquanto o deslocamento tem um Efeito ligeiramente negativo. A saída do modelo é um pouco diferente da de um modelo de mínimos quadrados comum. Vou explicar o resultado com mais detalhes no próximo artigo, mas por enquanto, vamos continuar com nossos cálculos. Lembre-se, nosso objetivo aqui é calcular uma probabilidade prevista de um motor V, para valores específicos dos preditores: um peso de 2100 libras e o deslocamento do motor de 180 polegadas cúbicas. Para fazer isso, criamos um quadro de dados chamado newdata, no qual incluímos os valores desejados para nossa predição. Agora, usamos a função predict () para calcular a probabilidade prevista. Nós incluímos o argumento type8221response8221 para obter nossa previsão. A probabilidade prevista é de 0,24. Isso não foi tão difícil no nosso próximo artigo. Vou explicar mais sobre o resultado que obtivemos da função glm (). Sobre o autor: David Lillis ensinou R a muitos pesquisadores e estatísticos. Sua empresa, Sigma Statistics and Research Limited. Fornece instruções on-line e oficinas presenciais em R, e os serviços de codificação em R. David são doutorados em estatísticas aplicadas. Quer aprender a função Rs GLM nessa oficina de seis horas. Você aprenderá a usar glm () para especificar regressões logísticas de probit, regressões binomiais negativas de poisson e regressões gamma ... e incluir as opções específicas para cada uma delas. Related PostsAs podem ser vistas, cada uma das cinco primeiras opções tem uma função de variância associada (para binomial a variância binomial m (1- m)) e uma ou mais opções de funções de link (para o binômio logit, probit ou complementar log - registro). Enquanto você quiser o link padrão, tudo o que você precisa especificar é o nome da família. Se você deseja um link alternativo, você deve adicionar um argumento de link. Por exemplo, para fazer probits, você usa a última família na lista, quase. Está lá para permitir a montagem de modelos definidos pelo usuário por quase quasi-probabilidade. 5.2 Regressão logística Vamos ilustrar os modelos adequados de regressão logística usando os dados de uso de anticoncepcionais mostrados abaixo: Os dados estão disponíveis na seção de conjuntos de dados do site para o meu curso de modelos lineares generalizados. Visite data. princeton. eduws509datasets para ler uma breve descrição e siga o link para cuse. dat. Claro que os dados podem ser baixados diretamente de R: Eu especifico o parâmetro do cabeçalho como TRUE. Porque, de outra forma, não teria sido óbvio que a primeira linha no arquivo tenha os nomes das variáveis. Não há nomes de linhas especificados, então as linhas serão numeradas de 1 a 16. Cópia de impressão para garantir que você tenha os dados bem informados. Em seguida, crie seu conjunto de dados padrão: primeiro tentemos um modelo aditivo simples, onde o uso de anticoncepcionais depende da idade, educação e desejos. Mais: há algumas coisas para explicar aqui. Primeiro, a função é chamada glm e atribui seu valor a um objeto chamado lrfit (para ajuste de regressão logística). O primeiro argumento da função é uma fórmula modelo, que define a resposta eo preditor linear. Com dados binomiais, a resposta pode ser um vetor ou uma matriz com duas colunas. Se a resposta for um vetor pode ser numérica com 0 para falha e 1 para sucesso, ou um fator com o primeiro nível que representa quotfailurequot e todos os outros que representam quotsuccessquot. Nesses casos, R gera um vetor de um para representar os denominadores binomiais. Alternativamente, a resposta pode ser uma matriz em que a primeira coluna é o número de quotuccessesquot e a segunda coluna é o número de quotfailuresquot. Neste caso R adiciona as duas colunas em conjunto para produzir o denominador binário correto. Como a última abordagem é claramente a certa para nós, usei a função cbind para criar uma matriz, vinculando os vetores da coluna contendo os números usando e não usando contracepção. Seguindo o símbolo especial que separa a resposta dos preditores, temos uma fórmula modelo padrão da Wilkinson-Rogers. Neste caso, estamos especificando os principais efeitos da idade, educação e desejos. Como todos os três preditores são variáveis ​​categóricas, eles são tratados automaticamente como fatores, como você pode ver, inspecionando os resultados: Lembre-se de que R classifica os níveis de um fator em ordem alfabética. Por idade. Da mesma forma, alta é a célula de referência para a educação porque o alto vem antes do baixo Finalmente, R escolheu não como a base para as necessidades. Se você não está feliz com essas escolhas, você (1) pode usar relevel para mudar a categoria base, ou (2) definir suas próprias variáveis ​​de indicadores. Vou usar a última abordagem, definindo indicadores para mulheres com educação superior e mulheres que não querem mais filhos: agora tente novamente o modelo: o desvio residual de 29,92 em 10 d. f. É altamente significativo: então precisamos de um modelo melhor. Um dos meus favoritos introduz uma interação entre a idade e o desejo de não ter mais filhos: observe como R construiu os termos de interação automaticamente, e até mesmo apresentou rótulos sensíveis para eles. O desvio de modelos de 12,63 em 7 d. f. Não é significante no nível convencional de cinco por cento, portanto não temos provas contra esse modelo. Para obter informações mais detalhadas sobre este ajuste, tente a função de resumo: R segue o costume popular de marcar coeficientes significativos com uma, duas ou três estrelas dependendo de seus valores de p. Tente uma trama (lrfit). Você obtém os mesmos gráficos que em um modelo linear, mas adaptado a um modelo linear generalizado, por exemplo, os resíduos plotados são resíduos de desvio (a raiz quadrada da contribuição de uma observação para o desvio, com o mesmo sinal que o resíduo bruto). As funções que podem ser usadas para extrair resultados do ajuste incluem resíduos ou resíduos. Para os resíduos de desvio adequados ou ajustados. Valores. Para os valores ajustados (probabilidades estimadas) prever. Para os coeficientes lineares de preditores (logs estimados) ou coeficientes. Para os coeficientes e desvios. Pelo desvio. Algumas dessas funções têm argumentos opcionais, por exemplo, você pode extrair cinco tipos diferentes de resíduos, chamados quotdeviancequot, quotpearsonquot, quotresponsequot (response-fitted value), quotworkingquot (a variável dependente de trabalho no algoritmo IRLS - preditor linear) e quotpartialquot ( Uma matriz de resíduos funcionais formada pela omissão de cada termo no modelo). Você especifica o que deseja usando o argumento de tipo, por exemplo, resíduos (lrfit, typequotpearsonquot). 5.3 Atualizando modelos Se você deseja modificar um modelo, você pode considerar usar a atualização de função especial. Por exemplo, para largar a idade: não mais interação em nosso modelo que se poderia usar. O primeiro argumento é o resultado de um ajuste e a segunda uma fórmula de atualização. O titular do lugar separa a resposta dos preditores e do ponto. Refere-se ao lado direito da fórmula original, então aqui nós simplesmente removemos a idade: não mais. Alternativamente, pode-se dar uma nova fórmula como o segundo argumento. A função de atualização pode ser usada para ajustar o mesmo modelo a conjuntos de dados diferentes, usando os dados do argumento para especificar um novo quadro de dados. Outro argumento útil é o subconjunto. Para ajustar o modelo a uma subamostra diferente. Esta função funciona com modelos lineares, bem como modelos lineares generalizados. Se você pretende encaixar uma seqüência de modelos, você encontrará a função anova útil. Dada uma série de modelos aninhados, calculará a mudança de desvio entre eles. Tente Adicionar a interação reduziu o desvio em 17.288 à custa de 3 d. f. Se o argumento para anova for um modelo único, a função mostrará a alteração no desvio obtida adicionando cada um dos termos na ordem listada na fórmula do modelo, assim como fez para modelos lineares. Por isso, é necessário ajustar tantos modelos como existem termos na fórmula, a função pode demorar um pouco para completar seus cálculos. A função anova permite especificar uma prova opcional. As escolhas usuais serão F para modelos lineares e Chisq para modelos lineares generalizados. Adicionando o parâmetro testquotChisqquot adiciona p-valores ao lado dos desvios. No nosso caso, podemos ver que todos os termos foram altamente significativos quando foram introduzidos no modelo. 5.4 Seleção de modelo Uma ferramenta muito poderosa em R é uma função de regressão gradual que possui três características notáveis: funciona com modelos lineares generalizados, por isso faz uma regressão logística gradual ou a regressão passo a passo de Poisson, entende sobre modelos hierárquicos, então Apenas considere adicionar interações somente depois de incluir os principais efeitos principais nos modelos, e entende termos envolvendo mais de um grau de liberdade, de modo que ele irá manter juntas as variáveis ​​dummy que representam os efeitos de um fator. A idéia básica do procedimento é começar De um determinado modelo (que poderia muito bem ser o modelo nulo) e tomar uma série de etapas, excluindo um termo já no modelo ou adicionando um termo de uma lista de candidatos para inclusão, chamado escopo da pesquisa e definido, de Claro, por uma fórmula modelo. A seleção de termos para exclusão ou inclusão é baseada no critério de informação de Akaikes (AIC). R define AIC como ndash2 maximizado log-likelihood 2 número de parâmetros (S-Plus define como o desvio menos o dobro do número de parâmetros no modelo. As duas definições diferem por uma constante, então as diferenças na AIC são as mesmas nos dois Ambientes.) O procedimento pára quando o critério AIC não pode ser melhorado. Em R, todo esse trabalho é feito chamando algumas funções, add1 e drop1. Que consideram adicionar ou deixar cair um termo de um modelo. Essas funções podem ser muito úteis na seleção do modelo, e ambos aceitam um argumento de teste exatamente como o Anova. Considere primeiro drop1. Para o nosso modelo de regressão logística, Obviamente, não podemos deixar cair nenhum desses termos. Note-se que R considerou deixar o efeito principal da educação e a idade por não ter mais interação, mas não examinou os principais efeitos da idade ou não quer mais, porque não deixaria cair esses efeitos principais, mantendo a interação. A função de irmã add1 requer um escopo para definir os termos adicionais a serem considerados. No nosso exemplo, consideramos todas as possíveis interações de dois fatores: vemos que nenhuma das duas interações faltantes é significativa por si só no nível convencional de cinco por cento. (No entanto, eles são conjuntamente significativos.) Note-se que o modelo com a interação idade por educação tem uma AIC menor que o nosso modelo inicial. A função de etapa fará uma busca automática. Aqui, deixá-lo procurar em um escopo definido por todas as interações de dois fatos: a função de etapa produz saída de rastreamento detalhada que supramos. O objeto retornado, no entanto, inclui um componente anova que resume a pesquisa: como você pode ver, o procedimento automatizado introduziu, uma a uma, as três interações restantes de dois fatores, para produzir um AIC final de 99,9. Este é um exemplo em que a AIC, ao exigir uma melhoria de desvio de apenas 2 por parâmetro, pode ter levado a superar os dados. Alguns analistas preferem uma pena maior por parâmetro. Em particular, usando log (n) em vez de 2 como um multiplicador produz BIC, o Bayesian Information Criterion. No nosso log de exemplo (1607) 7.38, então exigiria uma redução de desvio de 7.38 por parâmetro adicional. A função de etapa aceita k como um argumento, com padrão 2. Você pode verificar se a especificação de klog (1607) leva a um modelo muito mais simples, não só não são introduzidas novas interações, mas o efeito principal da educação é descartado (mesmo que seja significativo ). Copie 2017 Germaacuten Rodriacuteguez, Universidade de Princeton

No comments:

Post a Comment