Imagine o seguinte problema. Tenho instantâneos semanais de dados de preços de itens K, bem como de vários recursos / preditores. Quero prever quanto o preço mudará daqui a dois anos.
Eu montei meu conjunto de dados da seguinte forma: cada linha consiste em recursos para cada item de cada semana e a variável de saída é retornos de preço futuros de 2 anos. A data da observação não está no meu conjunto de dados - eu apenas o uso para separar o conjunto de dados em um conjunto de treinamento e validação, ou seja, na validação cruzada (onde descarto 2 anos de dados antes e depois do período de validação (que é 1 ano) para impedir a espionagem de dados).
Claramente, as amostras de duas semanas consecutivas para o mesmo item (e até para itens diferentes) serão altamente correlacionadas, tanto em termos de recursos quanto em termos de variável de resposta (já que os próximos 2 anos se sobrepõem amplamente, significando os retornos será muito semelhante). Que problemas potenciais podem causar para abordagens de aprendizado supervisionado, por exemplo, florestas aleatórias ou árvores com aumento de gradiente?
Meus pensamentos são:
- O tamanho efetivo do conjunto de dados será menor que o esperado. Ou seja, meu conjunto de dados de, digamos, 100.000 observações se comportará mais como 100.000 / (52 * 2) ~ = 1000 observações, porque esse é o número de amostras para as quais a resposta não terá autocorrelação. Isso afetará significativamente a complexidade dos modelos que eu posso ajustar aos dados, ou seja, terei problemas significativos de ajuste excessivo e resultados muito piores do que o esperado.
- Devido aos recursos estarem muito próximos um do outro em semanas consecutivas para cada item no espaço de recursos, meu conjunto de dados cobrirá o espaço de recursos muito pior do que o esperado, reduzindo novamente o tamanho "efetivo" do conjunto de dados.
- O uso de apenas 1 ano de dados para validação na validação cruzada resultará em alta variação dos resultados da validação cruzada, porque mais uma vez, o número efetivo de amostras no conjunto de validação será ~ K em vez de 52 * K.
Essas preocupações são válidas? Se sim, isso significa que, com K ~ = 100, precisarei de centenas, senão milhares de anos de dados para poder treinar um modelo não linear razoavelmente complexo a partir de centenas de recursos, por exemplo, usando florestas aleatórias ou árvores com gradiente? Ou estou sendo excessivamente pessimista e meu argumento sobre o "tamanho efetivo do conjunto de dados" acima é absurdo?
Vamos esboçar seu problema como:
isto é, você está tentando aprender uma função . Seu conjunto de recursos é todos os dados disponíveis até . Em uma notação de alguma forma sobrecarregada, eu queria destacar o fato de que, se considerarmos como um processo estocástico, seria conveniente impor que seja adaptado a uma filtragem ( um fluxo crescente de informações ) - estou mencionando as filtrações aqui por uma questão de completude.f(x) T X X
Também podemos considerar a equação como tentando estimar ( aqui ):1
No caso mais simples que aparece na minha cabeça - a regressão linear do OLS -, temos:
Estou sugerindo esta linha de pensamento para unir a aprendizagem estatística e a econometria clássica.
Estou fazendo isso porque, não importa como você calcule (regressão linear, floresta aleatória, GBMs, ..) , você terá que lidar com a estacionariedade do seu processo X, ou seja: como se comporta com o tempo. Existem várias definições de estacionariedade que tentam fornecer uma amostra da homogeneidade temporal de seu processo estocástico, ou seja, como a média e a variação do estimador de seu valor esperado se comportam à medida que você aumenta o horizonte de previsão.E[XT+1|XT,XT−1,..] E[XT+1|XT,XT−1,..]
Estamos entre o pior e o melhor cenário: a autocorrelação afeta o tipo de estacionariedade que um processo estocástico exibe: a função de autocovariância , em que é o intervalo de tempo entre duas medições, caracteriza processos fracamente estacionários. A função de autocorrelação é a versão independente da escala da função de autocovariância ( origem , origem )γ(h) h
A estrutura fracamente estacionária deve orientá-lo sobre como tratar seus dados. O principal argumento é que você não pode colocar a correlação automática debaixo do tapete - você precisa lidar com isso:
Você aumenta a granularidade da malha do tempo: você joga fora os pontos de dados (menos granularidade e muito menos dados para treinar seu modelo), mas a correlação automática ainda está mordendo você na dispersão de e você verá muita variação em sua validação cruzadaE[XT+1|XT,XT−1,..]
Você aumenta a granularidade da malha de tempo: amostragem, fragmentação e validação cruzada são todos muito mais complexos. Do ponto de vista do modelo, você terá que lidar com a correlação automática explicitamente.
fonte