Minha pergunta é: como podemos usar dados de saída medidos parcialmente em um conjunto de treinamento? Isso é vago, então eu o concretizo em um conto caprichoso.
Esquilos têm nozes, mas quantos?
Configuração
Existe um conjunto de esquilos e um conjunto de árvores na floresta. Esquilo tem nozes. Os esquilos armazenam suas nozes em uma árvore ou em muitas árvores diferentes na floresta. Desejamos prever quantas nozes um esquilo coletou a partir de recursos de entrada: peso do esquilo e capacidade da bochecha.
Fase de pesquisa 1:
Monitoramos um subconjunto de esquilos. Realizaram suas medições (capacidade de peso e bochecha) e contaram
- quantas nozes eles coletaram e
- em quantas árvores eles os armazenaram
(por exemplo, o esquilo nº 55 armazenou 5 nozes em uma árvore, 10 nozes em outra e 500 nozes em outra [que 3 árvores são desconhecidas])
Fase de pesquisa 2:
Monitoramos um subconjunto de árvores. Quando um esquilo chegou a uma de nossas árvores, nós as identificamos (para saber se elas foram para outra árvore em nosso subconjunto mais tarde), as medimos (peso e capacidade da bochecha) e contamos quantas nozes caíram. Isso nos deu uma medição parcial da coleta de nozes para um subconjunto de esquilos.
(por exemplo, na Árvore nº 23, coletamos 10 nozes do Esquilo nº 99 e 50 no Esquilo nº 88, na Árvore nº 24 coletamos ...)
(observação importante: os IDs dos esquilos não persistem ao longo das fases.)
Questão
Suponha que desejemos modelar o número total de porcas de um esquilo da fase 2. Como podemos usar suas medições parciais de porcas para aumentar os resultados da modelagem?
Além disso, como podemos introduzir saídas parcialmente medidas no conjunto de treinamento?
Respostas:
Pergunta divertida. O principal problema, conforme observado por @MartijnWeterings, é que o número de árvores na fase 2 é apenas uma medida parcial do número total de árvores. Se soubéssemos o número total de árvores, no entanto, poderíamos resolver o problema construindo um modelo do número de nozes observado no estágio 1, dado o número de árvores no estágio 1 e, em seguida, prever o número de nozes no estágio 2 usando o número de árvores no estágio 2. Nossa estratégia nesta resposta é, portanto, estimar primeiro o número de árvores no estágio 2 e depois construir um modelo de nozes dadas árvores no estágio 1.
Notação e suposição
A seguir, assumo que a amostragem de árvores e esquilos é aleatória em todos os estágios. Deixein1 i denota a soma de todas as nozes coletadas pelo esquilo Eu na fase 1. Deixe t1i denotar o número total de árvores esquilo i porcas armazenadas na fase 1. Deixe n2j denota a soma não observada de nozes coletadas pelo esquilo j na fase 2 e deixe t2j denotar o número de árvores esquilo j porcas armazenadas na fase 2. Finalmente, deixe k2j denotar o número parcial de árvores observadas, onde k2j≤t2j ,
Número de árvores no estágio 2
Como observado por @MartijnWeteringsk2j é sempre menor ou igual ao número total de árvores t2j na fase 2, que é desconhecida. Nosso objetivo passa a ser o de estimart2j o mais próximo possível. Felizmente, temos algumas informações sobret2j . Dependendo do seu projeto de amostragem na fase 2, existe uma probabilidadep que um esquilo é capturado em um dos t2j árvores que visita. A probabilidade dek2j é, portanto, binomial com parâmetros t2j e p . No entanto, observamos binômiosk2j ; o número de árvorest2j , no entanto, não é binomial distribuído, dado k2j . Eu não tinha certeza sobre sua distribuição exata e, portanto, fiz uma pergunta sobre isso no Mathematics-StackExchange . Recebi a resposta útil de que a função massa de probabilidade det=t2j com k=k2j e p é dado por
para todo que tem expectativa . Portanto, se nós sabemos e poderíamos estimar . Como dito, a probabilidade depende do seu projeto de amostragem, mas felizmente podemos calculá-la a partir dos dados como
para que .P(t;k,p)=(t−1k)pt(1−p)(t−k),t∈{k,...,∞}. j E(t)=k/p k2j p t^2j=k2j/p p p^=∑jk2j∑it1i t^2j=k2j/p^
Estimativa sob premissa de proporcionalidade
Deixei
seja a proporção média de nozes deixadas por um esquilo em uma árvore. Uma primeira estimativa do número total de nozes do esquilo éj
Estimativa usando relação entre nozes e árvores na fase 1
Isso pode parecer insatisfatório, porque não leva em conta que pode haver uma relação entren e t diferente de um simples proporcional. Por exemplo, podemos imaginar esquilos tendo o estranho comportamento de deixar menos nozes por árvore, mais nozes eles têm à sua disposição. Então o número total de nozesn não aumentaria proporcionalmente com t e achatar. Por isso, poderíamos decidir modelar
Ondef é uma função não linear com parâmetros theta e ϵi é um termo de erro de medição. Uma escolha óbvia pode ser
comϵi iid normal com 0 expectativa. O modelo pode ser ajustado por mínimos quadrados não lineares ou máxima verossimilhança. Um estimador seria então
É claro que outras formas funcionais podem ser usadas ou você pode usar técnicas de modelagem flexíveis para aproximar o relacionamento funcional, como florestas aleatórias (trocadilhos).
Simulações
Isto funciona? Vamos tentar. Simulo dados den+1 nozes é dado por n∼Poisson(20) . Um esquilo chega à primeira árvore e se escondeh1+1 nozes onde h1∼Poisson(λ) e λ∼Γ(60/n,1) . Ele continua escondido em1+(h2,...,ht) nozes até chegar à árvore t e está sem nozes. Faz isso independentemente de você observá-lo na fase 1 ou 2; no entanto, na fase 1, você observa todosht , enquanto na fase 2 você observa uma amostra de {h1,...,ht} . Como já foi dito, presumo que você tenha uma amostra aleatória simples de árvores na fase 2 e observehkj (a k-ésima árvore visitada pelo esquilo j) com probabilidade p (abaixo no código eu chamo isso de truncamento).
R
acordo com as seguintes idéias. A probabilidade de um esquilo coletarAgora, amostro 1000 esquilos na fase 1. O gráfico abaixo ilustra a relação do número total de árvores e número total de nozes coletadas. Pode-se ver que há uma deterioração nesse relacionamento entret .
Agora eu amostro no estágio 2 comp=0.5 e considere três estimadores. Primeiro o estimador sob proporcionalidade. Segundo, crio um estimador que usa a média condicional den1 em cada nível observado de t1 como uma estimativa para n2 às t^2 . Para benchmarking, uso novamente a média condicional den1 em cada nível observado de t1 como uma estimativa para n2 , mas agora no número real de árvores t2 na fase 2. É claro que este estimador não está disponível na prática.
Para duas amostras, uma de cada uma das fases 1 e 2, respectivamente, e os três estimadores, chego aos seguintes vieses, respectivamente: 5,61, -0,19 e 0,24. Além disso, observamos os seguintes erros quadráticos médios da raiz: 15,3, 4,07, 3,32. Vemos que o estimador médio condicional com uma estimativa ajustada para o número de árvores na fase 2 tem desempenho quase tão bom quanto o estimador que usa o número verdadeiro desconhecido de árvores na fase 2. O erro restante é a variação que talvez possa ser reduzida um pouco ainda mais, usando um modelo melhor paran1 dado t1 que o modelo de média condicional não paramétrico.
Aqui está uma função que cria os dados para a simulação que eu fiz.
E aqui o código usado na análise:
fonte
Na fase 1, você pode criar um modelo que relacione o comportamento de um esquilo ao número total de nozes.
Na fase 2, você não observa exatamente as mesmas informações completas que na fase 1. Por exemplo, você não sabe quantas árvores no total são usadas por um esquilo específico. Mas você observa um pouco do comportamento do esquilo, ou seja, uma amostra da distribuição do número de nozes por árvore. A partir disso, é possível estimar a distribuição e os parâmetros que descrevem a distribuição podem ser inseridos para o modelo.
Portanto, na fase 1, você cria um modelo que relaciona o número total de nozes que um esquilo armazena com a distribuição das nozes por árvore para o esquilo. Como exatamente modelar isso é difícil de dizer.
Se você acha que poderia criar algum modelo mecanicista, poderia começar com algumas análises exploratórias e percepções anteriores sobre o comportamento do esquilo para obter uma idéia sobre um modelo útil. Eu não tenho os dados e o conhecimento biológico para fazer isso nesta resposta (Uma direção óbvia pode ser ver se mais nozes por árvore também se relacionam com mais nozes no total, e possivelmente isso terá alguma relação mais complexa com o peso do esquilo e bochecha e outros fatores, como alta variação de nozes por árvore, também podem ajudar a obter uma indicação sobre o número total de árvores usadas por um esquilo)
Na fase 2, você fará uma estimativa dos parâmetros necessários para fazer previsões com o modelo criado na fase 1. Os parâmetros que descrevem a distribuição do número de nozes por árvore podem ser estimados a partir da amostra medida no subconjunto de árvores.
Uma maneira simples seria ignorar os IDs da árvore e usar os dados por esquilo para estimar os parâmetros de distribuição e colocá-los no modelo a partir da fase 1.
Um modelo mais preciso trataria os IDs das árvores como um fator aleatório, de modo que o comportamento especificamente atribuído ao esquilo possa ser melhor estimado. Para tratar as árvores como um fator aleatório, você terá que saber como as árvores podem ser um fator aleatório. Você pode adivinhar isso, mas também pode tentar aprender isso com os dados (eu diria primeiro com uma análise exploratória, verificando a correlação entre uma árvore e quantas nozes são armazenadas por esquilo e se esse efeito é independente ou se algumas árvores atraem tipos específicos de esquilos, antes de apresentar algo quantitativo.). Na fase 1, você não observa informações relacionadas aos IDs da árvore, mas na fase 2, observa e pode usar esses dados.
Então, em poucas palavras. Acho que você precisa de uma análise exploratória antes de poder fazer algo quantitativo que é mais do que a abordagem simples (simples é ignorar os IDs da árvore na fase 2 e usar apenas parâmetros de distribuição simples como entrada para o modelo cujos coeficientes são aprendidos na fase 1) .
Além disso, como podemos introduzir saídas parcialmente medidas no conjunto de treinamento?
Quando você cria o modelo em 1 usando parâmetros que descrevem a distribuição das nozes por árvore para um esquilo específico, é necessário levar em consideração que deve ser possível estimar razoavelmente esses números na fase 2 e que erros não afetarão o modelo demais. Por exemplo, média e variância (ou outras estatísticas simples) podem ser razoavelmente estimadas a partir das amostras na fase 2 (supondo que sua amostra não seja muito pequena), mas momentos de ordem superior podem não ser.
fonte