Neil-lunn Eu queria calcular uma média móvel. Então, durante intervalos de 3 meses, eu quero ter um dia e uma média desse dia com os últimos 3 meses de dados, e depois faça essa média para todos os dias por 50 anos nos próximos 50 anos. Então, acho que certos valores se sobrepõem às médias. Como você faria isso com mapReduce em vez disso, você pode fazê-lo com a estrutura de agregação. Eu acho que você está certo, eu tenho que comparar documentos separados. Obrigado ndash mc. 6 de agosto às 12:53 Eu não acredito que a estrutura de agregação pode fazer isso por várias datas na versão atual (2.6), ou, pelo menos, não pode fazer isso sem alguma ginastica séria. O motivo é que o pipeline de agregação processa um documento por vez e um único documento, portanto, seria necessário criar de alguma forma um documento para cada dia que contenha os 3 meses anteriores de informações relevantes. Isso seria como uma fase de grupo que calcularia a média, o que significa que o estágio anterior teria produzido cerca de 90 cópias de cada registro de dias com algumas chaves que podem ser usadas para o grupo. Então eu não vejo uma maneira de fazer isso por mais de uma data de cada vez em uma única agregação. Eu fiquei feliz em estar errado e tenho que editar para remover essa resposta se alguém encontrar uma maneira de fazê-lo, mesmo que seja tão complicado, não é prático. Uma função de tipo PARTITION PostgreSQL faria o trabalho aqui talvez essa função seja adicionada algum dia. Respondeu 7 de agosto às 17:49, então então você deve consultar peças e calcular a média móvel em algum idioma (ruby, python, nó) ou executar uma consulta agregada para cada intervalo. Essa é realmente a melhor solução. Não é só sentir-se errado, há uma maneira melhor de fazer isso com o mapa-redução que eu não consigo pensar no ndash mc. 7 de agosto às 18:41 Não pensei em reduzir o mapa. Geralmente, tento evitar o uso de redução de mapa, pois ele tem uma penalidade de desempenho significativa e não é tão seguro, pois você está executando o código personalizado do lado do servidor. Vou tentar pensar nisso, ou talvez alguém ajude uma solução do sr. Ndash wdberkeley 7 de agosto 14 às 18:44 Eu acho que posso ter uma resposta para minha própria pergunta. Map Reduce faria isso. O primeiro uso emite para mapear cada documento para seus vizinhos com os quais deve ser calculado a média e, em seguida, use reduzir para avg cada matriz. E essa nova série de médias deve ser a média móvel do tempo extra, uma vez que seu ID seria o novo intervalo de datas que você gosta, acho que eu precisava entender melhor o mapa. Por exemplo. Se quisermos fazê-lo na memória (mais tarde, podemos criar coleções). Isso parece certo. Adicione uma linha de tendência ou média móvel a um gráfico Aplica-se a: Excel 2016 Word 2016 PowerPoint 2016 Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Mais. Menos Para mostrar tendências de dados ou médias móveis em um gráfico que você criou. Você pode adicionar uma linha de tendência. Você também pode ampliar uma linha de tendência além de seus dados reais para ajudar a prever os valores futuros. Por exemplo, a seguinte linha de tendência linear prevê dois trimestres à frente e mostra claramente uma tendência ascendente que parece promissora para futuras vendas. Você pode adicionar uma linha de tendência a um gráfico 2-D que não está empilhado, incluindo área, barra, coluna, linha, estoque, dispersão e bolha. Você não pode adicionar uma linha de tendência a um gráfico empilhado, 3-D, radar, torta, superfície ou filhós. Adicione uma linha de tendência No seu gráfico, clique na série de dados para a qual deseja adicionar uma linha de tendência ou média móvel. A linha de tendência começará no primeiro ponto de dados da série de dados que você escolher. Verifique a caixa Trendline. Para escolher um tipo diferente de linha de tendência, clique na seta ao lado de Trendline. E depois clique em Exponencial. Previsão linear. Ou a média móvel de dois períodos. Para linhas de tendência adicionais, clique em Mais opções. Se você escolher Mais opções. Clique na opção desejada no painel Format Trendline em Trendline Options. Se você selecionar Polinômio. Insira a maior potência para a variável independente na caixa Ordem. Se você selecionar Moeda em Movimento. Insira o número de períodos a serem usados para calcular a média móvel na caixa Período. Dica: uma linha de tendência é mais precisa quando seu valor R-quadrado (um número de 0 a 1 que revela quão íntimo os valores estimados para a linha de tendência correspondem aos seus dados reais) é em ou próximo de 1. Quando você adiciona uma linha de tendência aos seus dados , O Excel calcula automaticamente o valor R-squared. Você pode exibir esse valor em seu gráfico, verificando o valor Exibir R-quadrado na caixa de gráfico (Formato do painel Trendline, Opções da Tendência). Você pode aprender mais sobre todas as opções de linha de tendência nas seções abaixo. Linha de tendência linear Use este tipo de linha de tendência para criar uma linha reta de melhor ajuste para conjuntos de dados lineares simples. Seus dados são lineares se o padrão em seus pontos de dados parecer uma linha. Uma linha de tendência linear geralmente mostra que algo está aumentando ou diminuindo a uma taxa constante. Uma linha de tendência linear usa essa equação para calcular os mínimos quadrados adequados para uma linha: onde m é a inclinação e b é a intercepção. A linha de tendência linear a seguir mostra que as vendas de refrigeradores aumentaram consistentemente ao longo de um período de 8 anos. Observe que o valor do R-quadrado (um número de 0 a 1 que revela o quão próximo os valores estimados para a linha de tendência correspondem aos seus dados reais) é 0.9792, o que é um bom ajuste da linha para os dados. Mostrando uma linha curvada de melhor ajuste, esta linha de tendência é útil quando a taxa de alteração nos dados aumenta ou diminui rapidamente e depois desacelera. Uma linha de tendência logarítmica pode usar valores negativos e positivos. Uma linha de tendência logarítmica usa essa equação para calcular os mínimos quadrados que se encaixam nos pontos: onde c e b são constantes e ln é a função de logaritmo natural. A seguinte linha de tendência logarítmica mostra o crescimento populacional previsto de animais em uma área de espaço fixo, onde a população se estabilizou à medida que o espaço para os animais diminuiu. Observe que o valor R-quadrado é 0.933, que é um ajuste relativamente bom da linha para os dados. Esta linha de tendência é útil quando seus dados flutuam. Por exemplo, quando você analisa ganhos e perdas em um grande conjunto de dados. A ordem do polinômio pode ser determinada pelo número de flutuações nos dados ou por quantas curvas (colinas e vales) aparecem na curva. Normalmente, uma linha de tendência polinomial da Ordem 2 tem apenas uma colina ou vale, uma Ordem 3 tem uma ou duas colinas ou vales, e uma Ordem 4 tem até três colinas ou vales. Uma linha de tendência polinomial ou curvilínea usa esta equação para calcular os mínimos quadrados que se encaixam nos pontos: onde b e são constantes. A linha de tendência polinomial da ordem 2 (uma colina) mostra a relação entre velocidade de condução e consumo de combustível. Observe que o valor R-squared é 0.979, que é próximo de 1, de modo que as linhas são adequadas aos dados. Mostrando uma linha curva, esta linha de tendência é útil para conjuntos de dados que comparam medidas que aumentam a uma taxa específica. Por exemplo, a aceleração de um carro de corrida em intervalos de 1 segundo. Você não pode criar uma linha de tendência de energia se seus dados contiverem valores zero ou negativos. Uma linha de tendência de energia usa essa equação para calcular os mínimos quadrados que se encaixam nos pontos: onde c e b são constantes. Nota: Esta opção não está disponível quando os dados incluem valores negativos ou nulos. O gráfico de medidas de distância a seguir mostra a distância em metros por segundos. A linha de tendência de energia demonstra claramente a crescente aceleração. Observe que o valor R-squared é 0.986, que é um ajuste quase perfeito da linha para os dados. Mostrando uma linha curva, esta linha de tendência é útil quando os valores de dados aumentam ou caem a taxas cada vez maiores. Você não pode criar uma linha de tendência exponencial se seus dados contiverem valores zero ou negativos. Uma linha de tendência exponencial usa esta equação para calcular os mínimos quadrados que se encaixam nos pontos: onde c e b são constantes e e é a base do logaritmo natural. A seguinte linha de tendência exponencial mostra a quantidade decrescente de carbono 14 em um objeto à medida que envelhece. Observe que o valor R-quadrado é 0.990, o que significa que a linha se encaixa perfeitamente nos dados. Tendência média média Esta linha de tendência eleva as flutuações nos dados para mostrar um padrão ou tendência com mais clareza. Uma média móvel usa um número específico de pontos de dados (definido pela opção Período), os em média e usa o valor médio como um ponto na linha. Por exemplo, se o Período for definido como 2, a média dos dois primeiros pontos de dados é usada como o primeiro ponto na linha de tendência média móvel. A média do segundo e terceiro pontos de dados é usada como o segundo ponto na linha de tendência, etc. Uma linha de tendência média móvel usa essa equação: O número de pontos em uma linha de tendência média móvel é igual ao número total de pontos da série, menos a Número que você especificou para o período. Em um gráfico de dispersão, a linha de tendência é baseada na ordem dos valores de x no gráfico. Para obter um resultado melhor, classifique os valores x antes de adicionar uma média móvel. A seguinte linha de tendência média móvel mostra um padrão no número de casas vendidas ao longo de um período de 26 semanas. Quando escrevi sobre o cálculo da média móvel de dados ao vivo usando o método Buffer () em Extensões Reativas. O método cria um buffer de atualizações cujo limite você, como especifica o desenvolvedor, e fornece esse buffer de execução para cada atualização subseqüente. A atualização 8216current8217 seria a última no buffer, o que permite calcular a média móvel inclusiva, onde o último fator está incluído nos resultados. Recentemente, eu tinha que fazer algo semelhante com dados estáticos em um aplicativo que não estava usando RX, o Bud tinha um provedor de dados bem definido baseado em LINQ. Para minha surpresa, achei que o LINQ não fornece um método de buffering fora da caixa. Para minha maior surpresa, descobri que era fácil implementar um. O código está abaixo. Eu não queria assumir que nós apenas realizaríamos agregações médias, portanto, eu mantive minha solução bastante genérica. Seria do usuário da minha função codificar a lógica de agregação. Nesta publicação, eu demonstraria agregações médias, mas o usuário dessa função seria capaz de fazer qualquer coisa com um determinado conjunto de itens. Em primeiro lugar, let8217s definem uma estrutura de dados, chamada Agregação, que seria usada para enrolar o original e adicionar uma nova propriedade AgregadoValue (linha 16) que seríamos preenchidos durante o processo de agregação. Então eu defino uma amostra TimedDataPoint que seria usada para manter os preços das ações no meu exemplo. Finalmente, let8217s definem uma função LINQ que armazenaria um conjunto de itens no conjunto original e retornaria um conjunto modificado com menos itens, onde cada item conteria um valor de agregação para o conjunto de buffer. Para reivindicar o sucesso, preciso testar a função. Para jogar com números reais, let8217s obtêm o histórico de retornos de estoque semanais da MSFT do yahoo. Let8217s exportam esses dados para se destacar e criam um conjunto de médias móveis de Close price para testar nossos dados. Aqui, o que a planilha deve ser semelhante: podemos então criar um conjunto de dados de amostra para representar os preços de fechamento originais. Podemos então testar nossa função, criando um cálculo de média móvel no conjunto de dados. O código está abaixo. Primeiro, crio o dataaset e, em seguida, iterei através do conjunto de dados, encaminhando os dados para a minha função de agregador, o que, por sua vez, me chama de volta e me pede para tomar duas decisões importantes: 1. Se continuar a ser armazenado em buffer (Linhas 60 e 71) 2 . Dado um buffer fornecer uma agregação. (Linha 61 no primeiro exemplo e linhas 74-82 na segunda) A saída da amostra deve coincidir com a coluna Média de 6 dias na planilha anexada. Eu achei essa função agregadora muito útil. Espero que você também.
No comments:
Post a Comment