Explorando ciclos em dados. - Agatetepê
Explorando ciclos em dados.
Uma breve visão geral
Keno Leon Segue 21 de mai · 7 min ler
Estamos cheios de ciclos.
Ciclos são parte da vida, natureza e talvez alguns dados que você pode encontrar, por ciclos queremos dizer que os eventos se repetem no tempo e no espaço com certa periodicidade.
Se você vive no planeta Terra, experimenta o ciclo dia / noite todos os dias, fica escuro e mais frio cerca de um terço do dia, depois acende e aquece o resto, essa série de eventos se repete durante um período que chamamos de dia.
As estações são outro tipo de ciclo, é frio por vários dias, depois é mais quente, e isso se repete por um longo período de tempo, a vida e a morte são outro exemplo de ciclo, mas aqui a escala de tempo é tão grande que geralmente esquecemos ou não percebemos que somos parte de um ciclo maior.
Por que estudar ciclos?
Ao estudar os ciclos, podemos detectá-los e adaptar nosso comportamento para explorar ou evitar uma determinada fase do ciclo, por exemplo, se sabemos que as temperaturas serão frias e os alimentos escassos daqui a 6 meses, podemos nos preparar adequadamente.
Como mencionado anteriormente, os ciclos estão em toda parte, nós seres biológicos são codificados para alguns aspectos deles (dias e estações), e criamos nossos próprios ciclos (sono / vigília, ciclos de fertilidade, trabalho / brincadeira, etc, etc.), mas a utilidade de saber identificá-los e descrevê-los se estende a outros domínios …
Considere o problema dos ciclos nos mercados financeiros e quando investir neles, aqui os ciclos são influenciados por fatores conhecidos e desconhecidos, mas se você quiser ser um investidor de sucesso, você precisa estar ciente de onde você está no ciclo, ou como um investidor proeminente coloca:
"Estar muito à frente do seu tempo é indistinguível de estar errado." - Howard Marks (capital de Oaktree)
Um ciclo em detalhe.
Para começar, vamos olhar para o mais simples dos ciclos:
E alguns pontos de dados relevantes: + --- + ---- + --- + --- + ---- + ---- + ---- + ---- + ---- + - --- +
| X | 0 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 |
+ --- + ---- + --- + --- + ---- + ---- + ---- + ---- + ---- + ---- +
| Y | -4 | 0 | 4 | 0 | -4 | 0 | 4 | 0 | -4 |
+ --- + ---- + --- + --- + ---- + ---- + ---- + ---- + ---- + ---- + Observe que os valores -4 e 4   repetir-se sobre o eixo não repetitivo 0… 32 , o que temos aqui são  2  ciclos que começam e terminam em (0, -4) com um comprimento de  16  .
Aqui está outro ciclo encontrado em toda a natureza ( ciência e engenharia ) e é geralmente referido como uma onda senoidal :
Ondas senoidais merecem sua própria discussão separada, por enquanto apenas note que elas nos fornecem maneiras adicionais de falar sobre ciclos e descrever suas partes.
Mas muitas vezes você vai encontrar ciclos brutos como esses:
Os eixos são deixados de propósito para que você possa notar que há dois grandes ciclos completos e um terceiro incompleto, você pode identificar os dois primeiros por seus altos e baixos, o terceiro é mais longo e ainda não atingiu o pico. ... Depois de perceber esses recursos, podemos revelar os dados de mistério como o Dow Jones Industrial Stock Average (DJIA) de maio de 1997 a maio de 2019 (~ 22 anos), esses ciclos representam os altos e baixos financeiros de milhões de pessoas em planeta Terra durante esses anos.
Detectando ciclos
Detectar visualmente ciclos em um gráfico que representa seus dados é uma maneira perfeitamente válida de descobrir esse negócio de ciclo, infelizmente falta algum refinamento, poderíamos pedir métricas específicas sobre nossos ciclos e então ficaríamos gesticulando em um gráfico … esse ciclo é sobre hmmm 2 polegares largos !
Felizmente, pessoas inteligentes têm lidado com ciclos de forma estruturada e matemática, para que possamos tirar vantagem disso.
Eu explorarei um algoritmo comum e popular para detecção de ciclo (Tartaruga e Lebre de Floyd) mas há alguns mais se você quiser os explorar a seu próprio passo, aqui é um lugar bom para começar: https: //en.wikipedia. org / wiki / Cycle_detection
Tartaruga e Lebre de Floyd
Começamos com uma sequência numérica (aqui o ciclo é óbvio) e colocamos a tartaruga e a lebre no mesmo ponto de partida.
Como na fábula, a lebre é rápida e a tartaruga lenta, a lebre se move em dois incrementos de espaço de 2 e a tartaruga apenas um 1 cada vez.
Nesse ritmo, se houver um ciclo, tanto a tartaruga quanto a lebre se encontrarão no mesmo valor 0 , revelando assim o ciclo 0,4,8,4,0 , simples e elegante, mas…
Notas: (1) Esta é uma explicação muito ingênua do algoritmo (por uma questão de clareza), na realidade, precisamos lidar com nós e ponteiros e também implementar o algoritmo em sua linguagem de escolha, um bom ponto de partida é python, você precisará aprender e implementar listas vinculadas , depois disso   você pode adicionar complexidade, aqui estão algumas implementações: Código da Rossetta: detecção de ciclo . Notas: (2) Pode não ser óbvio, mas agora você pode obter métricas de ciclo, depois de ter um ciclo, você pode obter o min / max (vale / pico ... 0,8) e calcular a amplitude, coisas como frequência e período também são possíveis quando você incorpora ponteiros (o eixo X, que neste exemplo estamos omitindo, mas assumamos que os dados são contínuos como uma série temporal). Notas: (3) Este problema / algoritmo tem múltiplas aplicações práticas, uma das favoritas de entrevistas de codificação, ele também ajuda a detectar loops infinitos e colisões criptográficas entre outros usos.
Crédito da foto: https://www.pexels.com/photo/animal-canine-close-up-dog-546229/
Ciclologia Avançada
O mundo dos ciclos é vasto, dependendo de suas necessidades e projetos específicos, pode ser conveniente criar seu próprio caminho de pesquisa ou análise, o que não quer dizer que existem maneiras mais avançadas de analisar ciclos em dados e técnicas e ferramentas correspondentes, aqui são alguns buracos de coelho que você pode querer considerar …
Análise de Fourier : Se é um fenômeno natural (e o que não é) as chances são de que ele tenha uma frequência (veja a ilustração das ondas senoidais). A análise de Fourier envolve a quebra ou extração dessas freqüências e a descoberta de funções que as recriam (mais uma vez simplificação), a idéia é que, ao reverter o processo, você pode gerar uma nova série temporal com suas próprias variáveis.
Hilbert-Huang & Wavelet transformam: 2 maneiras adicionais de decompor sinais, cada uma tem uma abordagem diferente da Análise de Fourier e pode funcionar melhor dependendo do tipo e disponibilidade de dados.
A previsão é um assunto pesado (c heck the notes below) , uma vez que você tenha descoberto que seus dados têm um componente cíclico e que são feitos quantificando-os, você também precisa descobrir se e quando ele se repetirá. tendência? para cima, para baixo, para os lados? o que está impulsionando o ciclo e o que o faz ter certeza de que se repetirá para sempre?
Essas questões exigem não apenas alguns conhecimentos sobre ciclos e matemática e algoritmos para recriá-los no futuro, mas, mais importante, também o conhecimento do assunto que você está prevendo para obter insights sobre o comportamento futuro e as razões subjacentes que o impulsionam.
Por exemplo, um ciclo em biologia mais cedo ou mais tarde chegará a uma parada abrupta quando o organismo morrer; uma tendência sazonal cíclica ( pense em vendas de fim de ano ) pode ser interrompida por novas tecnologias ou, como veremos, um fator externo também pode afetar um ciclo, o contexto aqui é rei, digamos que você encontre os seguintes dados / gráfico sem rótulo …
Sem contexto, podemos fazer a observação razoável de que existem ciclos e podemos prever o próximo bastante confortavelmente, eis o que realmente aconteceu junto com o contexto ausente …
Com o contexto restaurado, os dados reais e as observações anteriores, podemos agora perceber que o ciclo atual não está se comportando de uma maneira normal ou esperada, então podemos procurar por possíveis causas e ganhar clareza.
Notas: Algumas fontes relacionadas à previsão (especialmente séries temporais) e ciclos: - Previsão: Princípios e Prática   Uma excelente introdução. - Profeta   (Biblioteca de previsão do Facebook), verifique o white paper para uma discussão relacionada sobre previsão, também uma ferramenta bastante inovadora. - Séries temporais em Python - Parte 2. Lidando com dados sazonais : Uma excelente série sobre previsão e extração de elementos cíclicos.
Uma comparação entre desenvolvimento web e ciência de dados
Construindo e dimensionando a linhagem de dados na…
Fazendo sentido de seus dados wearable
Conselhos para novos cientistas de dados
Um analista de dados é um cientista de dados?
Principais fontes abertas de conjunto de dados…
Anteriores Post anterior: As lojas não vão a lugar nenhum: o que os clientes capacitados da AI realmente querem