Esta classe contém métodos para suavização de dados bidimensionais, ie uma superfície, zfxy Uma escolha de método de suavização é oferecida. Savitzky-Golay filtro de suavização. Modificado dados. Samothed derivatives. Moving janela média suavização. La classe também contém métodos para. Interpolação Dentro dos dados suavizados. See CurveSmooth para o equivalente um dimensional desta classe, ou seja, para a suavização de curva Ver ThreeDimensionalSmooth para o equivalente tridimensional desta classe. SUMELO DE METHODS. public SurfaceSmooth duplo xData, double yData, double zData. public SurfaceSmooth double zData. public SurfaceSmooth duplo xData, duplo yData, Matriz zData. public SurfaceSmooth Matriz zData. public SurfaceSmooth float xData, float yData, float zData. public SurfaceSmooth flutuante zData. public SurfaceSmooth long xData, longo yData, longo zData. public SurfaceSmooth long zData. public SurfaceSmooth int xData, int yData, int zData. public SurfaceSmooth int zData. public SurfaceSmooth BigDecimal xData, Grande YData Decimal, BigDecimal zData. public SurfaceSmooth BigDecimal zData. public SurfaceSmooth BigInteger xData, BigInteger yData, BigInteger zData. public duplo plotMovingAverageY int xIndex. public SurfaceSmooth duplo xData, double yData, double zData público SurfaceSmooth duplo xData, double yData, Matriz zData public SurfaceSmooth Float xData, flutuante yData, flutuante zData public SurfaceSmooth long xData, longo yData, longo zData público SurfaceSmooth int xData, int yData, int zData público SurfaceSmooth BigDecimal xData, BigDecimal yData, BigDecimal zData público SurfaceSmooth BigInteger xData, BigInteger yData, BigInteger zData Utilização SurfaceSmooth Ssm new SurfaceSmooth xData, yData, zData Cria uma instância de SurfaceSmooth Os dados são inseridos como arrays dos valores xy e z, argumentos xData yData e zData para uma superfície, zfxy Os dados podem ser digitados como tipo double, float, long, int , BigDecimal, BigInteger ou como qualquer tipo de dados adequado através de todos os dados Matrix, exceto tipos BigDecimal E BigInteger, são convertidos para tipo duplo antes de processar BigInteger é convertido para BigDecimal Moving média janela suavização é realizada em aritmética de precisão arbitrária para BigDecimal e BigInteger dados inseridos Savitzky-Golay filtragem é realizada em aritmética de precisão dupla BigDecimal e BigInteger dados inseridos Os dados são Ordenados como x ascendente e valores de y ascendentes antes do processamento. A ordenação dos dados no argumento z da matriz zData deve ser as. where m é o número de x valores no argumento xData e n é o número de valores y no argumento yData ie o Argumento zD de matriz 2D zData deve ser dimensionado como zData nm onde n é o número de valores de y yData e m é o número de x valores de xData. public SurfaceSmooth duplo zData público SurfaceSmooth Matriz zData público SurfaceSmooth flutuante zData público SurfaceSmooth longo zData público SurfaceSmooth int zData Público SurfaceSmooth BigDecimal zData público SurfaceSmooth BigInteger zData Utilização SurfaceSmooth ssm new Su RfaceSmooth zData Cria uma instância de SurfaceSmooth Os dados são inseridos como uma matriz de valores z, argumento zData para uma superfície, zfxy Como não são introduzidos valores x ou y, os dados são tratados como dados amostrados com valores iguais de valor y e valores de y Valores de 0, 1, 2 a m -1 são atribuídos aos valores mx Os valores de 0, 1, 2 a n -1 são atribuídos aos valores ny Os dados podem ser inseridos como tipo double, float, long, int, BigDecimal , BigInteger ou como qualquer tipo de dados apropriado através de Matriz Todos os dados, exceto os tipos BigDecimal e BigInteger, são convertidos em tipo duplo antes de processar BigInteger é convertido em BigDecimal A média móvel de suavização de janela é executada em aritmética de precisão arbitrária para dados BigDecimal e BigInteger Savitzky-Golay Filtragem é realizada em aritmética de precisão dupla para BigDecimal e BigInteger dados inseridos. SMOOTHING METHODS. SAVITZKY-GOLAY FILTER METHODS. Savitzky-Golay Smoothed curvas public double savitzkyGolay int sgFilterWidthx, int sgFilterWi Dthy public double savitzkyGolay int sgFilterWidth public double getsavitzkyGolaySmoothedValues Utilização smoothedData sgFilterWidthy Este método retorna os valores z suavizados para os dados inseridos através dos argumentos do construtor, usando um filtro Savitzky-Golay bidimensional de largura sgFilterWidthx pontos na dimensão x e de largura sgFilterWidthy pontos Na dimensão y O valor padrão do grau do polinômio de montagem é 4 Esse valor pode ser redefinido usando o método setSGpolyDeg. Usage smoothedData Este método retorna os valores z suavizados para os dados inseridos através dos argumentos do construtor, usando um Savitzky bidimensional - Golay filtro de largura sgFilterWidth pontos na dimensão x e da mesma largura, sgFilterWidth pontos, na dimensão y O valor padrão do grau do polinômio de montagem é 4 Este valor pode ser redefinido usando o método setSGpolyDeg. Usage smoothedData Este método Retorna os valores z suavizados se o método de filtro Savitzky-Golay acima já tiver sido En chamado. Savitzky-Golay Smoothed Derivativos public double savitzkyGolay int sgFilterWidthx, int sgFilterWidthy, int m, int n public double getSavitzkyGolayDerivatives Utilização smoothedDataPlusDeriv sgFilterWidthy, m, n Este método retorna os valores z suavizados e os derivados suavizados para os dados inseridos por meio do construtor Argumentos, usando um filtro Savitzky-Golay bidimensional de largura sgFilterWidthx pontos na dimensão x e de largura sgFilterWidthy pontos na dimensão y Os argumentos m e n contêm os valores das ordens necessárias da derivada, m e n Os valores z suavizados São devolvidos, no uso acima, em smoothedDataPlusDeriv 0 as derivadas são retornadas em smoothedDataPlusDeriv 1 A soma de mm e nn deve ser menor ou igual ao grau do polinômio de ajuste O valor padrão desse grau é 4 Esse valor pode ser redefinido Usando o método setSGpolyDegree. Usage smoothedData Este método retorna o Savitzky-Golay alisado derivados O Savitzky - O método derivado de Golay já deve ter sido chamado como o último método derivativo e os valores de m e n serão os usados nessa última chamada. O filtro Savitzky-Golay public double getSGcoefficients Uso sgCoefficients Este método retorna os coeficientes do filtro Savitzky-Golay, c Utilizados no alisamento mw e nw são os comprimentos do filtro nas direcções y e x respectivamente, ml e nl são o número de pontos que precedem o ponto de dados em que o filtro está a funcionar, zk, l nas direcções y e x respectivamente E mu e nu são o número de pontos que seguem o ponto de dados, zk, l, respectivamente nas direcções y e x Se o filtro é utilizado como filtro de suavização sk, l é o valor suavizado do ponto de dados zk, l e C utilizados são aqueles armazenados na linha zeroth da matriz retornada sgCoeficientes Cada linha de sgCoefficients é a matriz de coeficientes cmwnw dispostos linearmente como os mw blocos de linhas cada um de comprimento nw Cada linha, quando aplicada aos dados Dá as derivadas m, nth suavizadas A linha zeroth, índices 0,0, dá a derivada zeroth suavizada, ou seja, os valores de dados suavizados, a segunda linha, os índices 0,1, dá as derivadas O par de índices associados a cada linha pode Pode ser obtido chamando o método getSGpolyIndices e eles correspondem aos índices dos coeficientes do polinômio de ajuste Veja abaixo O valor padrão do grau do polinômio de montagem é 4 Este valor pode ser redefinido usando o método setSGpolyDegree O método de suavização, savitzkyGolay usa um Filtro simétrico, iemlmu e nln u. public int getSGpolyIndices Utilização indicesPairs Este método retorna os pares de índices do polinômio de montagem ver imediatamente acima O valor nos índices i 0 é o primeiro índice do i-ésimo coeficiente do polinômio e é também o poder de Y no i-ésimo termo O valor nos índices i 1 é o segundo índice do i-ésimo coeficiente do polinômio e é também o poder de x no i-ésimo termo Estes pares retornados São também ordenados para corresponder as linhas na matriz c retornada Ver método savitzkyGolayFilter above. public void setSGpolyDegree int grau public int getSGpolyDegree Uso Este método redefine o grau do polinômio de montagem Savitzky-Golay O valor padrão é 4 se esse método não for chamado. Usage deg Este método retorna o grau do polinômio de montagem de Savitzky-Golay O valor padrão é 4. Métodos estatísticos para retornar um filtro Savitzky-Golay public static double savitzkyGolayFilter int nBackwardx, int nForwardy, int nBackwardy, int nForwardy, int polyDegree Uso sgCoeficientes nForwardx , NBackwardx, nForwardx, polyDegree Este método retorna os coeficientes, c de um filtro Savitzky-Golay bidimensional de comprimento de dimensão x, mw nBackWardx nForWardx 1 e comprimento de dimensão y, nw nBackWardy nForWardy 1, com um polinômio de grau, polyDegree A Descrição dos coeficientes, c sua aplicação e sua ordenação dentro da matriz bidimensional retornada, sgCoefficie Nts podem ser encontrados acima Os argumentos nBackWardx ml e nBackWardy nl são o número de pontos precedendo o ponto de dados, sobre o qual o filtro está operando, nas dimensões xey respectivamente e nForWardx mu e nForWardy nu são o número de pontos após os dados Ponto nas dimensões x e y respectivamente. public static int filterIndices int grau Usage indicesPairs Este método retorna os pares de índices de um polinômio de ajuste de grau deg O valor nos índices i 0 é o primeiro índice do i-ésimo coeficiente do polinômio e é Também a potência de y no i-ésimo termo O valor nos índices i 1 é o segundo índice do i-ésimo coeficiente do polinômio e é também a potência de x no i-ésimo termo Um exemplo de tal polinômio de ajuste e seus coeficientes é mostrado acima Estes pares devolvidos também são ordenados para coincidir com as linhas na correspondente matrix. MOVING WINDOW SMOOTHING público duplo movingAverage int windowWidthx, int windowWidthy público double movingAv Erage int windowWidth público BigDecimal movingAverageAsBigDecimal int janelaWidthx, int windowWidthy público BigDecimal movingAverageAsBigDecimal int windowWidth público double getMovingAverageValues public BigDecimal getMovingAverageValuesAsBigDecimal Utilização smoothedData windowWidthy Este método retorna os valores z suavizados, para os dados inseridos através dos argumentos do construtor, usando uma janela de média móvel do argumento nw WindowWidthx pontos na dimensão x e da janela de argumento mw Pontos de largura na dimensão y sk, l é o valor suavizado do ponto de dados zk, l O valor introduzido para o número de pontos nas janelas é ajustado para o número ímpar superior seguinte se Um número par foi inserido Os valores de nlnuml e mu são truncados apropriadamente se, quando perto dos extremos de dados, eles caem abaixo ou acima do primeiro ou último ponto de dados, respectivamente. Os dados suavizados são retornados como tipo double. Usage smoothedData Como imediatamente acima Para janela movingAverage windowWidthx, Widthy com uma janela quadrada, ie windowWidthx windowWidth e windowWidthy windowWidth. Usage smoothedData windowWidthy Como acima para movingAverage windowWidthx, windowWidthy com a exceção de que os dados suavizados são retornados como tipo BigDecimal Se os dados foram inseridos como tipo BigDecimal ou BigInteger o suavização terá sido Executada em aritmética arbitrária. Usage smoothedData Como acima para movingAverage windowWidthx, windowWidthy com uma janela quadrada, ou seja, windowWidthx windowWidth e windowWidth windowWidth e com a exceção de que os dados suavizados são retornados como tipo BigDecimal Se os dados foram inseridos como tipo BigDecimal ou BigInteger o suavização Será executado em aritmética arbitrária. Usage smoothedData Este método retorna os valores z suavizados se o método de janela de média móvel acima já foi chamado. Usage smoothedData Este método retorna os valores z suavizados se o método de janela de média móvel acima já foi chamado The Os valores suavizados são Ned como tipo BigDecimal. EXTENT OF SMOOTHING. public double extensãoSavitzkyGolay public double extentMovingAverage Esses métodos retornam o valor da função onde zi, j é o valor z original do i th, j th ponto de dados, si, j é o seu valor suavizado, Z min é o valor mínimo do zi, jz max é o valor máximo do zi, j e n é o número de coordenadas x e m é o número de coordenadas y. Tamanho de utilização Neste método si, j é o valor de Savitzky - Golay suavizado value. Usage extensão Neste método si, j é a sua média móvel alisada value. public double interpolateSavitzkyGolay double xi, double yi public double interpolateMovingAverage double xi, double yi Utilização zi yi Este método retorna o valor interpolado de z zi para o fornecido X argumento xi e y argumento yi valores para os dados suavizados Savitzky-Golay O procedimento de interpolação usa a classe BiCubicSpline Um método de suavização Savitzky-Golay deve ter sido chamado anteriormente. Usage zi yi Este método retorna o método interpolado Valor de z zi para o argumento x fornecido xi e argumento y yi valores para a média móvel de dados suavizados O procedimento de interpolação usa a classe BiCubicSpline Um método de alisamento de média móvel deve ter sido chamado anteriormente. Savitzky-Golay public double plotSavitzkyGolayX double yValue public double plotSavitzkyGolayX Int yIndex public double tramaSavitzkyGolayY double xValue public double tramaSavitzkyGolayY int xIndex Uso Este método exibe um gráfico dos dados originais e os dados suavizados Savitzky-Golay para uma seção através da superfície paralela ao x-eixo a um valor de y fornecido como o Argumento yValue O valor yValue deve ser um dos valores fornecidos na matriz yData através de um Constructor. Usage Este método exibe um gráfico dos dados originais e os dados suavizados Savitzky-Golay para uma seção através da superfície paralela ao x - Eixo no valor de y cujo índice na matriz yData inserido por meio de um Construtor é o inteiro fornecido como o argumento yIndex NB Os índices começam em 0.Usage Este método exibe um gráfico dos dados originais e os dados suavizados de Savitzky-Golay para uma seção através da superfície paralela ao y-eixo a um valor de x fornecido como o argumento xValue O valor, xValue deve Ser um dos valores fornecidos na matriz xData através de um Construtor. Usage Este método exibe um gráfico de ambos os dados originais e os dados suavizados Savitzky-Golay para uma seção através da superfície paralela ao y-eixo no valor de x cujo Índice na matriz xData inserido por meio de um Construtor é o inteiro fornecido como o argumento xIndex NB indices começam em 0.Moving médio público duplo plotMovingAverageX duplo yValue público duplo plotMovingAverageX int yIndex público duplo plotMovingAverageY duplo xValue público duplo plotMovingAverageY int xIndex Uso Este método exibe um Trama dos dados originais e dos dados suavizados da Média Móvel para uma secção através da superfície paralela ao x-eixo a um valor de y fornecido como argu YValue O valor, yValue deve ser um dos valores fornecidos na matriz yData através de um Constructor. Usage Este método exibe um gráfico de ambos os dados originais e os dados suavizados de média móvel para uma seção através da superfície paralela ao eixo x No valor de y cujo índice na matriz yData inserido por meio de um Construtor é o inteiro fornecido como o argumento yIndex NB indices começam em 0.Usage Este método exibe um gráfico dos dados originais e da média móvel dos dados suavizados para uma seção através de A superfície paralela ao eixo-y em um valor de x fornecido como o argumento xValor O valor, xValue deve ser um dos valores fornecidos na matriz xData através de um Construtor. Usage Este método exibe um gráfico de ambos os dados originais eo Movimentação média de dados suavizados para uma seção através da superfície paralela ao y-eixo no valor de x cujo índice na matriz xData inserido por meio de um Construtor é o inteiro fornecido como o argumento xIndex NB indices começam em 0.OTHER C LASSES USADO POR ESTA CLASSE. Suavização remove as variações a curto prazo, ou o ruído para revelar a forma adulterada subjacente importante dos dados. Igor A operação lisa executa a caixa, o binomial, eo alisamento de Savitzky-Golay Os algoritmos de suavização diferentes convolvem os dados de entrada com diferentes O tipo de suavização e a quantidade de suavização alteram a resposta de freqüência do filtro s. A média de aka Box Smoothing. A forma mais simples de suavização é a média móvel que simplesmente substitui cada valor de dados pelo valor Média dos valores vizinhos Para evitar trocar os dados, é melhor a média do mesmo número de valores antes e depois de onde a média está sendo calculada. Na forma de equação, a média móvel é calculada por. Outro termo para este tipo de suavização é a média de deslizamento , Alisamento de caixa ou alisamento de vagão de caixa Pode ser implementado convolvendo os dados de entrada com um pulso em forma de caixa de 2 M 1 valores todos iguais a 1 2 M 1 Chamamos Esses valores os coeficientes do kernel de suavização. Binomial Suavização. Binomial suavização é um filtro gaussiano Ele convolve seus dados com coeficientes normalizados derivados de Pascal s triângulo em um nível igual ao parâmetro Smoothing O algoritmo é derivado de um artigo de Marchand e Marmet 1983.Savitzky-Golay Smoothing. Savitzky-Golay suavização usa um conjunto diferente de coeficientes pré-calculados populares no campo da química É um tipo de mínimos quadrados polinomial suavização A quantidade de suavização é controlada por dois parâmetros a ordem polinomial eo número de pontos utilizados Para calcular cada valor de saída suavizado. Marchand, P e L Marmet, filtro de alinhamento binomial Uma maneira de evitar algumas armadilhas de suavização polinomial menos quadrada, Rev Sci Instrum 54 1034-41, 1983.Savitzky, A e MJE Golay, Suavização e diferenciação de Dados por procedimentos mínimos quadrados simplificados, Analytical Chemistry 36 1627-1639, 1964. Este exemplo mostra como usar filtros de média móvel e resamp Ling para isolar o efeito de componentes periódicos do tempo do dia em leituras de temperatura horária, bem como remover o ruído de linha indesejável de uma medida de voltagem em malha aberta O exemplo também mostra como suavizar os níveis de um sinal de relógio, preservando as bordas por Usando um filtro mediano O exemplo também mostra como usar um filtro de Hampel para remover grandes outliers. Smoothing é como descobrimos padrões importantes em nossos dados, deixando de fora as coisas que são sem importância, ou seja, ruído Nós usamos a filtragem para realizar este alisamento O objetivo de suavização é Para produzir mudanças lentas no valor de modo que é mais fácil ver tendências em nossos dados. Às vezes, quando você examinar dados de entrada que você pode desejar para suavizar os dados, a fim de ver uma tendência no sinal No nosso exemplo, temos um conjunto de leituras de temperatura Em Celsius levado a cada hora no Aeroporto Logan para todo o mês de janeiro de 2011.Note que podemos visualmente ver o efeito que a hora do dia tem sobre as leituras de temperatura Se você está apenas interessado Na variação diária da temperatura ao longo do mês, as flutuações horárias só contribuem para o ruído, o que pode tornar as variações diárias difíceis de discernir. Para remover o efeito da hora do dia, gostaríamos agora de suavizar os nossos dados usando um filtro de média móvel. Um Filtro de Média Móvel. Na sua forma mais simples, um filtro de média móvel de comprimento N toma a média de cada N amostras consecutivas da forma de onda. Para aplicar um filtro de média móvel a cada ponto de dados, construímos os nossos coeficientes de nosso filtro para que cada Ponto é igualmente ponderada e contribui 1 24 para a média total Isso nos dá a temperatura média durante cada período de 24 horas. Retardo do filtro. Note que a saída filtrada é adiada por cerca de doze horas Isto é devido ao fato de que nosso filtro de média móvel tem Um delay. Any simétrico filtro de comprimento N terá um atraso de N-1 2 amostras Podemos conta para este atraso manualmente. Extracting Diferenças Média. Alternativamente, também podemos usar o filtro de média móvel para obtai Na melhor estimativa de como a hora do dia afeta a temperatura total Para fazer isso, primeiro, subtraia os dados suavizados das medidas de temperatura horária Então, segmente os dados diferenciados em dias e tome a média durante todos os 31 dias no mês. Envelope. Sometimes também gostaríamos de ter uma estimativa suavemente variável de como os altos e baixos de nosso sinal de temperatura mudar diariamente Para fazer isso, podemos usar a função envelope para conectar altos e baixos extremos detectados em um subconjunto do período de 24 horas In Este exemplo, garantimos que haja pelo menos 16 horas entre cada extrema alta e extrema baixa Também podemos ter uma noção de como os altos e baixos estão tendendo, tendo a média entre os dois extremos. Média ponderada Filtros Média. Outros tipos de movimento Os filtros médios não pesam cada amostra ingualmente. Um outro filtro comum segue a expansão binomial de Este tipo de filtro aproxima uma curva normal para valores grandes de n É útil para filtrar Para encontrar os coeficientes para o filtro binomial, convolve-se consigo mesmo e, em seguida, converta iterativamente a saída com um número prescrito de vezes. Neste exemplo, use cinco iterações totais. Outro filtro um pouco semelhante ao filtro de expansão gaussiano é O filtro de média móvel exponencial Este tipo de filtro de média móvel ponderada é fácil de construir e não requer um tamanho de janela grande. Você ajusta um filtro de média móvel ponderado exponencialmente por um parâmetro alfa entre zero e um. Um valor mais alto de alfa terá menos suavização. Zoom dentro nas leituras para um dia. Selecione seu país.
No comments:
Post a Comment