Esta pergunta pode ser muito básica. Para uma tendência temporal de dados, eu gostaria de descobrir o ponto em que mudanças "abruptas" acontecem. Por exemplo, na primeira figura mostrada abaixo, eu gostaria de descobrir o ponto de mudança usando algum método estatístico. E eu gostaria de aplicar esse método em alguns outros dados cujos pontos de mudança não são óbvios (como na segunda figura). Então, existe um método comum para esse fim?
time-series
trend
change-point
user2230101
fonte
fonte
Respostas:
Se as observações de seus dados de séries temporais estiverem correlacionadas com as observações imediatamente anteriores, o artigo de Chen e Liu (1993) pode lhe interessar. Ele descreve um método para detectar mudanças de nível e mudanças temporárias na estrutura de modelos de séries temporais de média móvel autorregressivas.[ 1 ]
[1]: Chen, C. e Liu, LM. (1993),
"Estimativa conjunta de parâmetros de modelo e efeitos extremos em séries temporais",
Journal of the American Statistical Association , 88 : 421, 284-297.
fonte
Esse problema no Stats é chamado de detecção de eventos temporais (univariada). A idéia mais simples é usar uma média móvel e desvio padrão. Qualquer leitura que esteja "fora de" três desvios padrão (regra geral) é considerada um "evento". Obviamente, existem modelos mais avançados que usam HMMs, ou Regression. Aqui está uma visão geral introdutória do campo .
fonte
Aqui está uma maneira rápida e fácil de fazer isso. Crie funções de salto como esta: para pontos de corte de candidatos . Agora use a regressão passo a passo para selecionar o melhor modelo com o como possíveis preditores. No seu primeiro exemplo, supondo que você selecione dois preditores, você receberá um para com um coeficiente positivo igual ao tamanho do salto para cima e outro para com um coeficiente negativo igual ao tamanho de o salto para baixo. Você precisa decidir com que precisão deseja dividir os tempos de salto do candidato, x 1 < x 2 < ⋯ < x m J i J a p r i l J d e c e m b e r x i
Existem soluções mais elegantes e exatas que envolvem regressão não linear, em que você usa um modelo com e e estima e como parâmetros. É um pouco confuso de configurar.J 2 x 1 x 2J1 J2 x1 x2
fonte
Há um problema relacionado de dividir uma série ou sequência em feitiços com valores idealmente constantes. Consulte Como agrupar dados numéricos em "colchetes" naturais? (por exemplo, renda)
Não é exatamente o mesmo problema, pois a pergunta não exclui feitiços com desvio lento em uma ou todas as direções, mas sem mudanças bruscas.
Uma resposta mais direta é dizer que estamos procurando grandes saltos; portanto, a única questão real é definir o salto. A primeira idéia é apenas observar as primeiras diferenças entre os valores vizinhos. Não está nem claro que você precisa refinar que, removendo o ruído primeiro, como se os saltos não pudessem ser distinguidos das diferenças de ruído, eles certamente não poderiam ser abruptos. Por outro lado, o interlocutor evidentemente deseja que mudanças bruscas incluam mudanças rampas e escalonadas, de modo que alguns critérios como variação ou alcance dentro de janelas de comprimento fixo parecem necessários.
fonte
A área de estatística que você está procurando é a análise de ponto de mudança. Existe um site aqui que lhe dará uma visão geral da área e também uma página para o software.
Se você é um
R
usuário, eu recomendaria ochangepoint
pacote para alterações na média e ostrucchange
pacote para alterações na regressão. Se você quer ser bayesiano, obcp
pacote também é bom.Em geral, você deve escolher um limite que indique a força das alterações que está procurando. Obviamente, existem opções de limiares que as pessoas defendem em determinadas situações e você pode usar níveis de confiança assintóticos ou inicialização para obter confiança também.
fonte
Esse problema de inferência possui muitos nomes, incluindo pontos de mudança, pontos de comutação, pontos de interrupção, regressão de linha quebrada, regressão de stick quebrado, regressão bilinear, regressão linear por partes, regressão linear local, regressão linear local, regressão segmentada e modelos de descontinuidade.
Aqui está uma visão geral dos pacotes de pontos de mudança com prós / contras e exemplos trabalhados. Se você souber o número de pontos de mudança a priori, confira o
mcp
pacote. Primeiro, vamos simular os dados:Para o seu primeiro problema, são três segmentos somente de interceptação:
Podemos traçar o ajuste resultante:
Aqui, os pontos de mudança são muito bem definidos (estreitos). Vamos resumir o ajuste para ver seus locais inferidos (
cp_1
ecp_2
):Você pode criar modelos muito mais complicados
mcp
, incluindo a modelagem de regressão automática de n-ordem (útil para séries temporais), etc. Isenção de responsabilidade: Eu sou o desenvolvedor domcp
.fonte