Análise de ponto de mudança


8

Alguém poderia explicar o ponto de mudança para mim. Estou usando o pacote em R e realmente não entendo o que significam os diferentes métodos, os prós e os contras de cada um, e especialmente não entendo o valor da penalidade. Quando você aumenta o valor da penalidade, o que isso significa e o que faz? Eu fiz uma boa quantidade de pesquisas on-line, mas continuo encontrando os sites cran R e R rápidos, que são bons, mas a maneira como eles dizem isso simplesmente não é suficiente para mim.

Muito obrigado.



Infelizmente, eu fiz :(
Darla

Respostas:


21

Existem 3 principais funções no pacote Changepoint, cpt.mean, cpt.vare cpt.meanvar. Como profissional, essas são as únicas funções no pacote que você precisa. Se você acha que seus dados podem conter uma alteração na média, use a cpt.meanfunção etc.

Na próxima pergunta, você deve se perguntar se está procurando uma ou várias alterações nos seus dados. O methodargumento lida com isso, há AMOC para no máximo uma alteração e PELT, BinSeg e SegNeigh para várias alterações. De qual método de vários pontos de mudança você deseja usar depende:

a) Sua escolha do método de distribuição / livre de distribuição (veja abaixo) e

b) Quanto tempo você tem / qual a precisão que deseja que sua resposta seja. O BinSeg é rápido, mas aproximado, o PELT é exato e rápido, mas não pode ser usado em todas as distribuições, o SegNeigh é exato, mas lento.

A próxima pergunta é quais suposições você pode / está disposto a fazer sobre seus dados. A chave aqui é que a suposição se aplica a cada conjunto de dados entre alterações e não a todos os dados. Por exemplo, você pode assumir uma distribuição Normal, mas se fizer um teste para Normalidade em todos os dados, provavelmente ocorrerá falha (devido às possíveis alterações). Assim, normalmente fazemos uma suposição, executamos a análise do ponto de mudança e depois checamos as suposições com base nas mudanças identificadas. Novamente, dependendo do tipo de alteração, existem diferentes métodos de distribuição e livre de distribuição. Consulte a documentação de cada função para obter as opções e fique à vontade para comentar qual estatística de teste você está pensando em usar e eu posso listar as suposições.

Finalmente, você olha para a penalidade. A penalidade fornece um compromisso entre muitas pequenas alterações e nenhuma alteração. Portanto, se você definir a penalidade como 0, receberá uma alteração em todos os locais possíveis e se definir a penalidade para o infinito, não receberá alterações. O valor apropriado da penalidade depende dos seus dados e da pergunta que você deseja responder. Por exemplo, você pode ter alterações na média de 0,5 unidades, mas pode estar interessado apenas em alterações de mais de 1 unidade. Existem várias maneiras de escolher sua penalidade:

  1. "by-eye", ou seja, tente alguns valores diferentes até encontrar um que pareça apropriado para o seu problema.

  2. "cotovelo", isto é, representa o número de pontos de mudança identificados contra a penalidade utilizada. Isso cria uma curva na qual pequenos valores da penalidade produzem alterações grandes (falsas) e, à medida que a penalidade diminui, essas alterações falsas caem rapidamente, essa taxa diminui à medida que apenas as mudanças verdadeiras são deixadas antes de cair lentamente para nenhuma alteração para penalidades maiores. . A idéia é encaixar 2 linhas retas nessa curva e escolher a penalidade onde elas cruzam. Isso produz uma maneira ad-hoc, mas mais objetiva, de escolher a penalidade que 1.

  3. use um critério de informação. Existem alguns como AIC, BIC / SIC, Hannan-Quinn incluídos no pacote. Existem outros que não estão incluídos no pacote, mas você pode fornecer uma fórmula, pen.valuese desejar.

Se você precisar de mais informações ou esclarecimentos sobre pontos específicos, basta comentar e tentarei responder.


Isso é muito útil, obrigado. Minha única coisa é que estou realmente empolgado com o valor da penalidade. O que isso significa? Ao conectar manualmente, como você interpreta um valor pen.value = .05 versus um valor pen.value = .40? O que isso diz sobre seus dados?
Darla 23/05

O tamanho de pen.value é relativo aos dados em que você está trabalhando, portanto, você não pode realmente comparar um pen.value de 0,05 em um conjunto de dados com um pen.value de 0,4 em outro. No entanto, no mesmo conjunto de dados, a penalidade menor identificará mais alterações e, portanto, poderá identificar alterações menores nos parâmetros. O valor maior da penalidade está procurando alterações maiores antes de considerá-las "significativas".
adunaic

Então, como eu sei o quão significativo é significativo? Se eu inserir pen.value = 0,20, recebo 8 pontos de mudança, mas se eu inserir pen.value = 0,30, obtive apenas 5 pontos de mudança. Como sei se esses três pontos de mudança são significativos? Como devo saber com qual valor manter?
Darla

1
veja a resposta para a nova pergunta de Deb em: stats.stackexchange.com/questions/60245/…
adunaic

como é que se realiza a análise contínua do ponto de mudança? isso é possível?
user1234440
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.