Cálculo, como você pode encontrar uma equação de uma série de números?

StackOverflow https://stackoverflow.com/questions/2052057

  •  20-09-2019
  •  | 
  •  

Pergunta

Estou analisando dados financeiros e gostaria de encontrar os pontos de inflexão de uma linha. Eu sei que posso fazer isso usando derivativos, mas primeiro preciso de uma equação. Existe uma maneira de gerar uma equação baseada em uma série de números. Eu precisaria fazer isso programaticamente.

Foi útil?

Solução

A interpolação spline é provavelmente mais útil para você do que a interpolação polinomial: se você se encaixa em um polinômio, deve inevitavelmente ir para +/- infinito fora do seu intervalo de dados.

Você também deseja um método que permita um ajuste ligeiramente solto: os dados financeiros geralmente são um pouco barulhentos, o que pode resultar em curvas muito estranhas se você tentar encaixá -lo exatamente.

Outras dicas

Existem procedimentos estabelecidos para transformar um conjunto de pontos de dados existentes em um polinômio; Isso é chamado Interpolação polinomial. Este artigo na Wikipedia: http://en.wikipedia.org/wiki/polynomial_interpolationexplica matematicamente. Você provavelmente pode pesquisar no Google para algoritmos com bastante facilidade.

Dados pontos suficientes, seu polinômio rastreia a função original e desconhecida razoavelmente bem, para que os pontos de inflexão do polinômio coincidam aproximadamente com os picos e vales dos seus dados.

Por outro lado, todos sabemos que não há realmente uma função por trás dos dados financeiros. Então, se eu fosse você, examinaria esses pontos e encontraria todos os pontos que têm um valor menor para os dois lados e declarassem isso alto; e vice -versa para baixos. Ceder a esses dados em uma função fictícia não será mais útil.

Atualizar: Tom Smith aconselha que a interpolação de spline deve ser preferida à interpolação polinomial para esse tipo de coisa, e a Wikipedia o leva. Ou melhor, é otimista em sua resposta.

O que você está pensando é o cálculo analítico ... Ao ter dados discretos (por exemplo, pontos), você precisa fazê -lo numericamente. Agora, uma linha geralmente não tem pontos de inflexão, então acho que você está pensando em uma curva. Você pode interpolar algum tipo de ponto através dos pontos e calcular a primeira derivada (também numericamente, mas para um número maior de pontos), ou você pode simplesmente calcular a primeira derivação dos pontos que você tem (o que será melhor depende de depende de depende quantos pontos você realmente tem).

Mas, na verdade, isso é apenas teoria, pois não conhecemos a natureza dos dados, ou o idioma ou qualquer coisa.

Para mais informações sobre a pesquisa de assunto: análise numérica no wiki, e vá de lá.

Eu acho que o encaixe da curva pode ajudá -lo neste caso. Aqui está um discussão o que pode ser útil.

Felicidades

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top