Nas análises de classificação SVM (núcleo linear) de um conjunto de dados de expressão gênica (~ 400 variáveis / genes) para ~ 25 cada um dos casos e controles, acho que os classificadores baseados em expressão gênica têm características de desempenho muito boas. Os casos e controles não diferem significativamente para várias variáveis clínicas / demográficas categóricas e contínuas (de acordo com os testes t ou exato de Fisher), mas diferem significativamente para a idade.
Existe uma maneira de mostrar que os resultados da análise de classificação são ou não são influenciados pela idade?
Estou pensando em reduzir os dados de expressão gênica para componentes principais e fazer uma análise de correlação de Spearman dos componentes em relação à idade.
Esta é uma abordagem razoável? Como alternativa, posso verificar se há correlação entre os valores de idade e probabilidade de associação obtidos na análise SVM.
Obrigado.
fonte
Respostas:
Existem pelo menos duas possibilidades para esses dados. Uma possibilidade é que seus microarrays não contenham marcadores de doenças. Mas eles contêm informações sobre a idade e, como no seu caso, as populações doentes e de controle são de diferentes faixas etárias, você obtém a ilusão de um bom desempenho de classificação. Outra possibilidade é que os microarrays contenham marcadores de doenças e, além disso, esses marcadores são exatamente o que o SVM foca.
Parece que os principais componentes dos dados podem estar correlacionados com a idade em ambas as possibilidades. No primeiro caso, será porque idade é o que os dados expressam. No segundo caso, será porque a doença é o que os dados expressam, e essa doença está correlacionada com a idade (para o seu conjunto de dados). Não acho que exista uma maneira fácil de analisar o valor da correlação e concluir qual é o caso.
Eu poderia pensar em várias maneiras de avaliar o efeito de maneira diferente. Uma opção é dividir seu conjunto de treinamento em grupos de mesma idade. Nesse caso, para as idades 'jovens', a classe normal terá mais exemplos de treinamento do que a classe da doença e vice-versa para as idades mais antigas. Mas, desde que haja exemplos suficientes, isso não deve ser um problema. Outra opção é fazer o mesmo com os conjuntos de testes, ou seja, verificar se o classificador tende a dizer 'doente' com mais frequência para pacientes mais velhos. Ambas as opções podem ser difíceis, pois você não tem muitos exemplos.
Mais uma opção é treinar dois classificadores. No primeiro, o único recurso será a idade. Parece que isso tem uma AUC de 0,82. No segundo, haverá idade e os dados do microarray. (Parece que atualmente você treina um classificador diferente que usa apenas os dados do microarray e fornece AUC 0,95. A adição explícita do recurso de idade provavelmente melhora o desempenho, portanto a AUC será ainda mais alta.) Se o segundo classificador tiver um desempenho melhor do que o primeiro, indica que a idade não é a única coisa interessante nesses dados. Com base no seu comentário, a melhoria na AUC é de 0,13 ou mais, o que parece justo.
fonte