Análise de Sobrevivência

  • 08/13/2015
  • Tempo de leitura: 12 minutos

Este artigo vem de um Mecanismo automático de tradução.

C #

ZVI TOPOL

Análise de sobrevivência (SA) é uma disciplina de estatística que se concentra na estimativa de tempo de eventos. Normalmente, aplicaria métodos de análise de sobrevivência em estudos clínicos para ajudar a determinar a eficácia de certos medicamentos (tempo de morte do paciente), confiabilidade dos sistemas de software (tempo de falha) e análise de crédito (tempo de empréstimo padrão).

farmacêutico Estudos clínicos que envolvem dois grupos de pacientes são um excelente exemplo de como isso pode funcionar. O grupo controle são membros administrados um placebo. Os membros do grupo de teste recebem a medicina experimental contra a doença. Os métodos de análise de sobrevivência são aplicados para determinar se há uma diferença estatisticamente significante na sobrevivência dos pacientes entre os dois grupos. O evento “é o tempo” neste caso é a hora do início do estudo para os pacientes morrerem.

Exponha-o a usar SA, eu cobrirei conceitos básicos junto com uma implementação de Método de estimativa comumente usado chamado Kaplan-Meier. Você usará um exemplo real de estimar a probabilidade de sobrevivência de aplicativos móveis.

Imagine uma empresa de desenvolvimento de software produz duas aplicações móveis independentes intituladas X e Y. Cada um é desenvolvido por equipes separadas. A empresa está ansiosa para aprender como robustos são aplicativos móveis e determinar se um aplicativo é significativamente menos robusto e requer mais esforço para melhorar sua confiabilidade.

A qualquer momento, pode haver muitas instâncias de X E e Live e em execução em dispositivos de cliente móvel. Portanto, uma aplicação móvel é o que é mais interessante. Períodos mais longos para o evento, neste caso, indicarão que o aplicativo é mais robusto ou tem melhor capacidade de sobrevivência.

No programa de demonstração, primeiro você pode ver os dados de sobrevivência para o celular usa x e (veja Figura 1). Os dados mostram que ambos os aplicativos são direcionados por 10 usuários diferentes com identificações que variam de zero a nove. No meu exemplo, um aplicativo pode qualquer acidente (descrito por evento = acidente de aplicativo na captura de tela) ou fechada pelo usuário (descrito por evento = app off). O dia também é registrado no qual o evento ocorre.

a demonstração de análise de sobrevivência mostrando o ciclo de vida de aplicativos móveis
figura 1 a demonstração de análise de sobrevivência com Ciclo de vida de aplicativos móveis

Conceitos básicos de SA

O conceito mais básico de SA é o da função de sobrevivência. Isso geralmente é denotado por S (t). Se X é uma variável aleatória (uma variável cujos valores são resultados baseados em oportunidades) que representa a hora do evento, então s (t) = pr (x > t) . Em outras palavras, s (t) é a probabilidade de sobrevivência após o tempo t. S (0) é definido como 1. A função de sobrevivência está relacionada à função de distribuição de uma vida útil. Isso geralmente é denotado por f (t) e definido como f (t) = rela (x < = t), em outras palavras, a probabilidade de o evento ocorreu até o tempo t. Portanto, f (t) = 1 – s (t). A função de densidade do evento f (t) é então definida como DF (T) / DT – o primeiro derivado f (t), se f (t) é diferenciável. Portanto, f (t) pode ser considerado como a taxa do evento (por unidade de tempo).

A função de risco, outro conceito básico, é igual a AF (T) e É o tipo de evento no tempo t para pessoas que estão vivas no tempo t.

pode especificar funções de sobrevivência em uma maneira paramétrica, usando uma função explícita ou família de funções. Você também pode deduzi-los não paramétricos de dados existentes, sem ter um formulário fechado parametrizado. Uma especificação semi-paramétrica, que é uma mistura entre a especificação paramétrica e não paramétrica, também é possível. A distribuição exponencial é uma família de função parametrizada simples e popular para descrever funções de sobrevivência devido às suas propriedades matemáticas atraentes.

Por exemplo, s (t) = exp (-0.05t) é uma função da sobrevivência de um Distribuição Exponencial Todotized na Figura 2. Funções de Sobrevivência do Formulário S (T) = Exp (-AT) (onde um parâmetro que controla a taxa de risco pode descrever essa distribuição). A função útil de distribuição de vida é dada por f (t) = 1 – s (t) = 1 – exp (-AT).A Figura 2 nos ajuda a visualizar como as funções de sobrevivência são comportadas ao longo do tempo.

Como as funções de sobrevivência se comportam com o tempo
figura 2 Como você se comporta de sobrevivência das funções No tempo

Trabalhando com um determinado modelo paramétrico, você pode usar dados reais para estimar os parâmetros do modelo. No caso da distribuição exponencial, é o parâmetro de um. Uma maneira de fazer isso é usar métodos máximos de estimativa de researry (MLE), mas esse é outro tópico completamente.

Nós nos concentramos na aplicação de uma configuração não paramétrica para a função de sobrevivência. Ou seja, não estabelece um modelo predefinido para a função de sobrevivência e estimar os parâmetros do modelo. Em vez disso, pode derivar a função de sobrevivência diretamente com os dados observados. Antes de descrever como fazer isso, tenho que explicar outro conceito importante do SA chamado censura.

A censura ocorre quando algumas observações no conjunto de dados estão incompletas. Em algum momento, você perdeu a noção do objeto observado. No meu exemplo, isso significaria que uma aplicação móvel terminou sua execução sem cair (lançando uma exceção fatal). O aplicativo foi fechado com graça pelo usuário. Embora possa haver outras razões, uma aplicação terminada sem queda, vou decolar que um aplicativo é bloqueado ou fechado pelo usuário.

Há dois sabores principais de censura, censura certa e direita. Bem censura ocorre quando a hora de início é conhecida, mas a hora do evento está faltando. A censura à esquerda ocorre quando a hora do evento está presente, mas o horário de partida está faltando. Bem censura está acontecendo no meu exemplo.

Usando o Estimador Kaplan-Meier para estimar a função de sobrevivência

O estimador Kaplan-Meier (km) é um algoritmo não paramétrico que estimim função de sobrevivência. Derivando o estimador de km envolve o uso de matemática avançada, incluindo a teoria de Martingala e contando os processos e está fora do alcance deste artigo. Implementando o Estimador KM, no entanto, é simples e é baseado em contas.

Considere o Semor de Sobrevivência do Aplicativo de App Móvel. O estimador de km deve ser acompanhado com três custos diferentes:

  1. Quantas instâncias de X aplicativo móvel ainda estão funcionando. Isso é representado pela variável de risco na minha aplicação.
  2. o número de casos que caíram. Isto é seguido na variável caiu.
  3. o número de casos que encerraram a implementação com a graça. Estes são contados usando a variável censurada.
  4. it

    As seguintes linhas de código (para o aplicativo móvel x) estão usando a classe CrashMetadata para codificar os dados de sobrevivência representados na Figura 3:

    var appX = new CrashMetaData {new CrashMetaData{UserID = 0, CrashTime = 1, Crashed = false}, new CrashMetaData{UserID = 1, CrashTime = 5, Crashed = true}, new CrashMetaData{UserID = 2, CrashTime = 5, Crashed = false}, new CrashMetaData{UserID = 3, CrashTime = 8, Crashed = false}, new CrashMetaData{UserID = 4, CrashTime = 10, Crashed = false}, new CrashMetaData{UserID = 5, CrashTime = 12, Crashed = true}, new CrashMetaData{UserID = 6, CrashTime = 15, Crashed = false}, new CrashMetaData{UserID = 7, CrashTime = 18, Crashed = true}, new CrashMetaData{UserID = 8, CrashTime = 21, Crashed = false}, new CrashMetaData{UserID = 9, CrashTime = 22, Crashed = true}};

    Dados de sobrevivência do aplicativo móvel x

    x

    .

    ID do usuário dias caiu censurado
    0 1
    1 5 x
    2 5 x
    3 8 4 5 12
    6 x
    7 18
    9 22 x

    dados de sobrevivência eles contêm A hora do evento nos dias (codificada pelo acidente) e informações sobre se o evento se refere a um aplicativo de choque ou censura. Se caído for igual a TRUE, o aplicativo caiu. Caso contrário, o aplicativo fechado graciosamente (em outras palavras, foi censurado). Além disso, um campo de ID do usuário está seguindo o exemplo do aplicativo.

    O estimador de km é implementado no método da propriedade Kaplanmeier. Isso divide dados que não se sobrepõem a diferentes intervalos de tempo baseados em períodos de tempo para eventos (no meu caso, é um colapso de aplicação). Tire o rastreamento das contas em cada intervalo.

    É importante levar em conta o relato de quantos aplicativos ainda estão em funcionamento é feito pouco antes do evento (isto é devido à formulação matemática de contagem os processos). Assim, no primeiro intervalo no meu exemplo, que cobre 0 a 5 dias, 9 dos 10 casos subiram e funcionando pouco antes do dia 5 (uma instância acabou sendo executada no tempo 1).No intervalo e incluindo o dia 5, tive um acidente (definindo o intervalo) e 2 casos acabados (dias 1 e 5). Veja a figura 4.

    intervalos de dia criados pelo estator de km
    intervalos da figura 4 dia criado pelo estimador km

    estimativa km para a função de sobrevivência é então o produto em todos os intervalos de sobrevivência diferentes derivados das contas em partições:

    1 – (caiu no intervalo) / (aqueles em risco pouco antes do final do intervalo)

    O método BastateKapalanMeier retorna um objeto de classe de sobrevivência. Isso representa a função estimada de sobrevivência. A saída é uma função de etapa. Cada passo é o valor da função de sobrevivência em um intervalo correspondente (conforme estimado pelo estimador de km). A Figura 5 inclui parte da produção de programas de demonstração de análise de sobrevivência correspondente ao objeto de sobrevivência (para ambas as aplicações x e y).

    Saída de demonstração de análise de sobrevivência para estimativas de km para aplicações X e e
    figura 5 análise de sobrevivência demonstração de demonstração para estimativas km para aplicações de xe e

    figura 6 inclui um enredo da função de sobrevivência etapa estimada para aplicação móvel X. no enredo, Linhas verticais curtas em cada etapa denotam várias aparências do acidente de evento durante o intervalo correspondente ao passo.

    km Estimativa da função de sobrevivência para aplicação móvel x
    Figura 6 Km Estimativa da função de sobrevivência para o aplicativo móvel X

    Então você pode usar a estimativa para inferir o tempo médio de sobrevivência, ou o tempo pelo qual a metade da instância estará viva. Isso deve ocorrer em algum momento ao longo do tempo entre os dias 12 (onde a estimativa da probabilidade de sobrevivência é de 0,711 > 0,5) e 18 (onde a probabilidade de sobrevivência é de 0,474 < 0.5). Existem algumas abordagens na literatura SA que descreve como calcular exatamente esse valor, porque geralmente cai entre duas etapas.

    Você pode definir o tempo médio de sobrevivência como o tempo de sobrevivência mínima para que a função de sobrevivência seja Menos de 0,5, que para o aplicativo móvel x traduz em um tempo médio de sobrevida de 18 dias. A interpretação desse montante é durante o 18º, metade do aplicativo de casos móveis x outono e a média de permanecer e funcionar. Este aplicativo calcula o tempo de sobrevivência médio no método GetMediansUrvivalTime.

    Outra pergunta Você pode responder usando as estimativas da Semo é se houver uma diferença na sobrevivência das diferentes aplicações de dois (ou mais). Uma maneira de abordar essa questão é representar visualmente as estimativas de km correspondentes a cada aplicativo. Este tipo de quadro é descrito na Figura 7 e compara as funções estimadas de sobrevivência de x e.

    Estimativas mm para aplicativos móveis x e e
    figura 7 km Estimativas para aplicações móveis x e

    A curva verde representa a função de aplicação X Survival e a curva azul representa a função de aplicação e sobrevivência.

    do enredo, você pode ver que a função de sobrevivência do aplicativo x dirige a função de aplicação e sobrevivência. Portanto, ele pode ser inferido tem uma melhor sobrevivência e aplicação de aplicação X e, portanto, é mais robusto.

    Enquanto a visualização de funções de sobrevivência pode ajudar na determinação da sobrevivência das diferenças, alguns casos não são tão claros. Felizmente, há uma abordagem estatística para detectar diferenças de maneira formal e rigorosa, chamada de teste de classificação de log. Este é um algoritmo que prova se houver diferença significativa entre as distribuições de sobrevivência de dois (ou mais) em uma maneira não paramétrica. A literatura SA inclui uma discussão detalhada sobre esta e mais SA Bibliotecas estatísticas incluem implementações de teste de rank de log.

    Deve-se notar que há outro algoritmo popular para calcular a função de sobrevivência não a maneira paramétrica chamada de Nelson Estimator – Alin (NA). NA estima a função de risco acumulada de dados de sobrevivência. Em seguida, pode derivar a função de sobrevivência dessa estimativa usando uma fórmula matemática que una a função de risco acumulada. Você pode encontrar mais detalhes sobre este estimador na literatura SA.

    Em resumo

    Eu introduzi a terminologia e conceitos básicos da filial estatística de análise de sobrevivência. Mostrei-lhe como implementar o Estimador Kaplan-Meier não paramétrico e tinha aplicado a um exemplo comparando a robustez de aplicativos móveis.Este estimador pode ajudar a determinar se há uma diferença na sobrevivência dos dois aplicativos. Eu também mencionei um rigoroso teste estatístico para encontrar diferenças, chamado de teste de rank de log. Outro quantia que obtiveram usando o estimador de km é o tempo médio de sobrevivência, que também aponta para diferenças de sobrevivência entre aplicativos X e Y.

    Finalmente, mencionei o Estimador Nelson-Aalen como um método alternativo não paramétrico para a estimativa da função de sobrevivência. Embora diretamente não estimar a função de sobrevivência, como o estimador de km, é estimado a função de risco acumulada. Em seguida, pode derivar a função de sobrevivência da função de risco acumulada.

    Esta só aranha a superfície do Rich Campo de SA. As aplicações cobrem as áreas de medicamento para a engenharia e cujos métodos e algoritmos são implementados em muitos pacotes estatísticos. Com a proliferação de aplicações e software móveis como implementações de serviço, fornecendo métodos SA pode desempenhar um papel na supervisão e melhoria da qualidade dessas implantações.

    ZVI Topol funciona como um cientista sênior em Analytics de marketing em Nova York. Projetos e aplica algoritmos de otimização não linear de alta escala e métodos estatísticos para melhorar o planejamento de marketing para grandes empresas da Fortune 500.

    Graças ao próximo especialista técnico para sua ajuda em revisar este artigo: Dr. James McCaffrey (Microsoft Research )

Leave a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *